cadvisor 與 Prometheus 的完美結合,所以它成爲了容器監控的第一選擇
docker pull google/cadvisor:latest
docker images
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
docker ps
http://localhost:8080
http://localhost:8080/docker 可以查看到所有運行的 dokcer 鏡像:
http://localhost:8080/metrics 可以查看其暴露給 Prometheus 的所有數據
#prometheus.yml
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['127.0.0.1:9100']
- job_name: 'container'
static_configs:
- targets: ['127.0.0.1:8080'] # 本地 cadvisor 訪問地址
sum by (name) (rate(container_cpu_usage_seconds_total{image!=""}[1m])) / scalar(count(node_cpu{mode="user"})) * 100
sum by (name)(container_memory_usage_bytes{image!=""})
sum by (name) (rate(container_network_receive_bytes_total{image!=""}[1m]))
sum by (name) (rate(container_network_transmit_bytes_total{image!=""}[1m]))
sum by (name) (container_fs_usage_bytes{image!=""})