Home >Operation and Maintenance >Linux Operation and Maintenance >How to configure container monitoring on Linux

How to configure container monitoring on Linux

PHPz
PHPzOriginal
2023-07-06 13:15:321500browse

How to configure container monitoring on Linux

Introduction:
With the development of container technology, more and more enterprises choose to use containers to deploy applications. However, the use of containers also brings new challenges, such as how to monitor and manage the status and performance of containers. In this article, we explain how to configure container monitoring on Linux and provide corresponding code examples.

1. Install Docker and Docker Compose
First, we need to install Docker and Docker Compose on Linux. Docker is an open source container engine for creating and managing containers. Docker Compose is a tool for defining and managing multiple Docker container applications. The following are the commands to install Docker and Docker Compose on Ubuntu:

# 安装Docker
sudo apt-get update
sudo apt-get install docker.io

# 安装Docker Compose
sudo apt-get install docker-compose

2. Start Prometheus
Prometheus is an open source system monitoring and alerting tool that can be used to monitor the status and performance of containers. The following is a sample configuration file docker-compose.yml for how to start Prometheus using Docker Compose:

version: '3'
services:
  prometheus:
    image: prom/prometheus
    ports:
      - 9090:9090
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml

In this configuration file, we use the Docker image officially provided by Prometheus and map the Prometheus port to 9090 of the host port. We will also mount the local prometheus.yml configuration file to the /etc/prometheus/ directory inside the container.

3. Configure Prometheus
Next, we need to configure Prometheus to monitor the container. In the previous step, we mounted the local prometheus.yml configuration file into the container. We can edit this configuration file to define the targets that need to be monitored. The following is a simple prometheus.yml example:

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'docker-containers'
    static_configs:
      - targets: ['cadvisor:8080']

In this example configuration, we define a job named docker-containers for monitoring Docker containers. We set the monitoring target to cadvisor:8080, which means that we will monitor the 8080 port of the cadvisor container. Note that cadvisor is an open source container monitoring tool that can be used to collect container performance data.

4. Start cAdvisor
In order for Prometheus to monitor the status and performance of the container, we need to collect this data through cAdvisor. cAdvisor is an open source container monitoring tool that can be launched in Docker. The following is a sample configuration file docker-compose.yml that uses Docker Compose to start cAdvisor:

version: '3'
services:
  cadvisor:
    image: google/cadvisor
    ports:
      - 8080:8080
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro

In this configuration file, we use the cAdvisor image officially provided by Google and map the cAdvisor port to the host's 8080 port . We also mounted some host directories inside the container so that cAdvisor can access related container data.

5. Configure Grafana
Grafana is an open source visual monitoring and analysis tool that can be used to display monitoring data collected by Prometheus. The following is a sample configuration file docker-compose.yml for how to use Docker Compose to start Grafana:

version: '3'
services:
  grafana:
    image: grafana/grafana
    ports:
      - 3000:3000

In this configuration file, we use the Docker image officially provided by Grafana and map Grafana's port to 3000 of the host port.

6. Using container monitoring
Now, we have completed the steps of configuring container monitoring on Linux. We can view monitoring data by accessing the addresses of Prometheus and Grafana in the browser. Here is an example address to access these tools:

  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000

In Grafana, we can create dashboards to display container monitoring data. We can use Prometheus as a data source and use the PromQL query language to define data queries. For example, we can create a dashboard that displays the CPU usage and memory usage of the container.

Conclusion:
Through the introduction of this article, we have learned how to configure container monitoring on Linux and provided corresponding code examples. By using Prometheus, cAdvisor and Grafana, we can monitor and analyze the status and performance of containers, helping us better manage and optimize containerized applications. I hope this article is helpful to you, thank you for reading!

The above is the detailed content of How to configure container monitoring on Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn