Prometheus has exporters that are capable of easily exposing metrics for a variety of systems and infrastructures. Docker containers are a great way to manage your applications, and they can be monitored by Prometheus using cAdvisor. In this lab, you will have the opportunity to use cAdvisor to set up Prometheus monitoring for containers running on a Docker host.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Set Up cAdvisor to Expose Metrics
Log in to the Docker server.
Run cAdvisor in a container:
docker run -d --restart always --name cadvisor -p 8080:8080 -v "/:/rootfs:ro" -v "/var/run:/var/run:rw" -v "/sys:/sys:ro" -v "/var/lib/docker/:/var/lib/docker:ro" google/cadvisor:latest
Verify you can query cAdvisor for metrics:
curl localhost:8080/metrics
- Configure Prometheus to Scrape Docker Container Metrics from cAdvisor
Log in to the Prometheus server.
- Edit the Prometheus config:
sudo vi /etc/prometheus/prometheus.yml
- Under the
scrape_configs
section, add a scrape configuration for cAdvisor:
- job_name: 'Docker Containers' static_configs: - targets: ['limedrop-docker:8080']
- Restart Prometheus to load the new configuration:
sudo systemctl restart prometheus
Use the expression browser to verify you can see Docker container metrics in Prometheus. You can access the expression browser in a web browser at
http://<PROMETHEUS_SERVER_PUBLIC_IP>:9090
:Run a query to view some Docker container metric data:
container_memory_usage_bytes{name=~"web."}