Prometheus使用cAdvisor监控Docker容器指标

完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/guides/monitoring_docker_container_metrics_using_cadvisor.html。

cAdvisor(container Advisor的缩写)分析并暴露正在运行的容器的资源使用和性能数据相关指标(Prometheus 指标格式)。在本指南中,我们将:

  • 在本地安装一个多容器Docker Compose,其中运行了Prometheus、cAdvisor和Redis服务器的容器。
  • 检查由Redis容器生成的一些容器指标,这些指标由cAdvisor收集,并由Prometheus进行抓取。

Prometheus配置

首先,你需要配置Prometheus来从cAdvisor中获取指标。创建一个prometheus.yml 文件,并填充如下配置:

scrape_configs:
- job_name: cadvisor
  scrape_interval: 5s
  static_configs:
  - targets:
    - cadvisor:8080

Docker Compose配置

现在,我们需要创建一个Docker Compose配置,该配置指定哪些容器是安装的一部分,以及每个容器暴露哪些端口、使用哪些卷,等等。

在你创建 prometheus.yml文件的同一个目录中,创建一个docker-compose文件,并填充如下Docker Compose配置:

version: '3.2'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
    - 9090:9090
    command:
    - --config.file=/etc/prometheus/prometheus.yml
    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    depends_on:
    - cadvisor
  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    ports:
    - 8080:8080
    volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:ro
    depends_on:
    - redis
  redis:
    image: redis:latest
    container_name: redis
    ports:
    - 6379:6379

该配置指示Docker Compose运行三个服务,每个服务对应一个Docker容器:

  1. prometheus服务使用本地的 prometheus.yml 配置文件(通过volumes参数导入到容器中)。
  2. cadvisor 服务暴露8080端点(cAdvisor指标的默认端点)并并依赖于多个本地卷(/、 /var/run等)。
  3. redis 服务是一个标准的Redis服务器。cAdvisor将自动从该容器收集容器指标,而且不需要任何进一步的配置。

完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/guides/monitoring_docker_container_metrics_using_cadvisor.html。

你可能感兴趣的:(文档)