在上一篇文章 容器监控之 cadvisor (一) 已经介绍了如何通过 cadvisor 来收集容器的运行状态信息,那这篇文章将具体讲解如何与 Prometheus 集成并通过 Prometheus 查看收集的数据。
主要内容:
- cadvisor 与 Prometheus 集成
- 在 Prometheus 中查看容器的 CPU,内存,网络流量等信息
cadvisor 与 Prometheus 集成
Step1: 修改 Prometheus 配置信息,添加 cadvisor 访问地址:
#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 访问地址
Step2: 重新加载配置,访问 http://localhost:9090/targets
你将看到新加的 cadvisor
已经生效。
Step3: 此时访问 Prometheus 的 graph 页面 http://localhost:9090/graph
,搜索 container
你将看到容器相关数据。
Prometheus 中查看容器的 CPU,内存,网络流量等数据
CPU 使用率查询:
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!=""})