查看docker运行状态
docker stats
启动docker cadvisor
- 直接运行docker
docker run -d \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:rw \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \--publish=8080:8080 \--name=cadvisor \gcr.io/cadvisor/cadvisor:v0.44.0
- docker-compose.yml方式
mkdir /data/cadvisor
cat >docker-compose.yml << 'EOF'
version: '3.3'
networks:monitoring:driver: bridgeservices:cadvisor:image: gcr.io/cadvisor/cadvisor:v0.44.0
# image: google/cadvisor:latestcontainer_name: cadvisorrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ronetworks:- monitoringports:- 8080:8080
EOF
运行
docker-compose up -d
check
通过访问 http://10.19.1.220:8080可以查看,当前主机上容器的运行状态,
采集样本 http://10.19.1.220:8080/metrics)
更新 prometheus.yml配置
- job_name: 'cadvisor'scrape_interval: 15sstatic_configs:- targets: ['cadvisor:8080']labels:instance: Prometheus服务器
#增加新的cadvisor配置- targets: ['10.19.1.220:8080']labels:instance: cadvisor-220服务器
docker触发器
cat >prometheus/rules/docker.yml << 'EOF'
groups:
- name: DockerContainersrules:- alert: ContaonerKilledexpr: time() -Container_last_seen > 60for: 0mlabels:severiry: warningannotations:summary: "Docker容器被杀死,容器: {{ $labels.instance }}"description: "{{ $value }} 容器消失了"
EOF
热加载
docker exec -it prometheus promtool check config /etc/prometheus/prometheus.yml
curl -X POST http://localhost:9090/-/reload
添加dashboard
11600