Docker容器监控
1. 介绍
cAdvisor(Container Advisor,cAdvisor)是由谷歌开发的一个项目,它从正在运行的容器收集、聚合、分析和导出数据。可用的数据涵盖了几乎所有你可能需要的东西,从内存限制到GPU指标。
cAdvisor并不绑定到Docker容器,但它通常作为一个容器部署。从容器守护进程和Linux cgroups收集数据,使容器的发现透明且完全自动化。
除了以Prometheus格式公开指标之外,cAdvisor还提供了一个有用的web界面,允许即时可视化主机及其容器的状态。
2.运行cAdvisor
镜像仓库地址:https://hub.docker.com/r/google/cadvisor/tags
1.执行如下命令运行
docker run --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor
2.在浏览器中输入http://192.168.1.121:8080/metrics可以查看详情
3.配置Prometheus服务器上的prometheus.yml
1.添加如下配置到prometheus.yml文件中
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'docker'
static_configs:
- targets:
- 192.168.1.121:8080
promtool check config /etc/prometheus/prometheus.yml # 检查Prometheus配置文件是否由语法错误。
在每隔scrape_intervarl期间,prometheus都会检查执行的作业。这些作业将生成目标列表,即服务发现过程。
服务返回一个目标列表,其中包含一组称为元数据的标签,这些标签以meta为前缀。
服务发现还会根据目标来设置其它标签,这些标签带有__的前缀,包括__scheme__、__address__和__metrics_path__,且包含目标的模式,目标的地址以及指标的具体路径等。
其中一些标签可以在配置中覆盖,比如如下所示:
- job_name: 'docker'
scheme: https
metrics_path: /moremetrics
static_configs:
- targets: ['192.168.1.121:8080']
生命周期如下: