Prometheus is capable of monitoring a wide variety of systems and infrastructures, including Docker. In this lab, you will have the opportunity to set up Prometheus to monitor a Docker daemon. This will give you some hands-on experience with the process of monitoring Docker daemons with Prometheus.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Configure the Docker Daemon to Serve Prometheus Metrics
Log in to the Docker server.
Edit the Docker config file:
sudo vi /etc/docker/daemon.json
Add configuration to enable experimental mode and set the metrics address:
{ "experimental": true, "metrics-addr": "10.0.1.102:9323" }
Restart Docker to load the new configuration:
sudo systemctl restart docker
Verify Docker is serving Prometheus metrics:
curl 10.0.1.102:9323/metrics
- Configure Prometheus to Scrape Docker Metrics
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 Docker:- job_name: 'Docker' static_configs: - targets: ['limedrop-docker:9323']
Restart Prometheus to load the new configuration:
sudo systemctl restart prometheus
Use the expression browser to verify you can see Docker 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 metric data:
engine_daemon_container_states_containers