Docker container monitoring on Linux: How to monitor the performance and health status of containers in real time?
In today's cloud computing era, Docker has become a common containerization technology. Through Docker, we can easily create, deploy and manage applications. However, for Docker containers running in a production environment, we must perform performance monitoring to ensure that they are running properly and to detect and solve problems in a timely manner. This article will introduce how to use tools and methods on Linux to monitor the performance and health status of Docker containers in real time.
1. Use the Docker Stats command to monitor the performance of the container in real time
The Docker Stats command can provide real-time performance parameters of the container, including CPU usage, memory usage, network IO, block IO, etc. We can view the performance status of the container through the following command:
docker stats <container_id>
where, <container_id>
is the ID of the container to be monitored. This command will display the performance parameters of the container in real time. We can stop the display by pressing Ctrl C.
Code example:
$ docker stats 4a29e009a6c5 CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 4a29e009a6c5 0.03% 5.047MiB / 15.56GiB 0.03% 3.39kB / 0B 78.8kB / 0B 8
The above example shows the CPU usage, memory usage, network IO, block IO and other parameters of the container.
2. Use cAdvisor for comprehensive container monitoring
In the field of container monitoring, cAdvisor (Container Advisor) is a highly respected tool that can provide comprehensive container performance monitoring and analysis. cAdvisor can monitor the CPU, memory, file system, network and other indicators of the container, and provides a visual monitoring interface to facilitate users to conduct real-time monitoring and historical data analysis of the container.
Here are the steps on how to use cAdvisor to monitor Docker containers:
You can install cAdvisor through the following command:
$ docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
Once cAdvisor is successfully installed and running, you can access it through the browserlocalhost:8080
Check out cAdvisor’s monitoring interface. In the monitoring interface, you can choose to view the monitoring data of a specific container.
Code example:
$ docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest $ open http://localhost:8080
The above example shows how to run cAdvisor through Docker and access the monitoring interface through a browser.
3. Use Prometheus and Grafana for container monitoring
In addition to cAdvisor, there are other tools that can also be used to monitor the performance of Docker containers. Prometheus is a system for monitoring and alerting, while Grafana is a data visualization and analysis tool. These two tools work together to provide powerful container monitoring capabilities.
The following are the steps on how to use Prometheus and Grafana to monitor Docker containers:
You can use the following command To install Prometheus and Grafana:
$ docker run -d -p 9090:9090 --name=prometheus prom/prometheus $ docker run -d -p 3000:3000 --name=grafana grafana/grafana
You can monitor the Docker container by modifying the Prometheus configuration file. The following is a sample configuration file:
global: scrape_interval: 15s external_labels: monitor: 'docker-monitor' scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'cadvisor' static_configs: - targets: ['cadvisor:8080']
In Grafana, you can use Prometheus as the data source to visualize the Docker container monitoring data. You can configure Grafana's data source and dashboard through the following steps:
http://localhost:3000
in the browser to open the Grafana interface. Through the above steps, you can complete the installation and configuration of Prometheus and Grafana, and realize the monitoring and visualization of Docker containers.
Conclusion
In this article, we introduced how to use tools and methods on Linux to monitor the performance and health of Docker containers in real time. Through tools such as Docker Stats commands, cAdvisor, Prometheus, and Grafana, we can easily monitor and analyze containers. By discovering performance issues with containers in a timely manner, we can improve the stability and reliability of our applications. I hope this article has provided some help to you in performance monitoring when using Docker.
The above is the detailed content of Docker container monitoring on Linux: How to monitor the performance and health status of containers in real time?. For more information, please follow other related articles on the PHP Chinese website!