娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

Prometheus监控docker

监控docker需要借助一个专业的工具:cAdvisor,这个是由Google提供的,下面开始演示如何使用:

使用非常简单,首先在被监控的docker主机上运行cAdvisor容器实例就可以了:

[root@nginx ~]# docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
[root@nginx ~]# docker ps
CONTAINER ID       IMAGE                   COMMAND                 CREATED             STATUS             PORTS                   NAMES
db39f4994026       google/cadvisor:latest   "/usr/bin/cadvisor -…"   29 minutes ago     Up 29 minutes       0.0.0.0:8080->8080/tcp   cadvisor
[root@nginx ~]#

实例已经运行,监听的是本机的8080端口,下面通过访问本机的8080端口就可以看到监控的数据了

下面通过prometheus来采集它的数据,并接入到grafana来展示,修改prometheus配置:

在prometheus.yml文件中新加入一个监控对象

- job_name: 'docker'
static_configs:
- targets: ['192.168.6.99:8080']

热加载一下prometheus就可以了,然后去grafana的官方网站找一个docker的面板

我使用的是这个,编号是11600,直接使用这个编号导入就可以了,导入后画面是这样的:

基本上能看得过去,测试了好几个,这个算是比较靠谱的了,愿意花功夫的朋友可以对它再升级改造一下。

下面表格中列举了一些CAdvisor中获取到的典型监控指标:

指标名称 类型 含义

container_cpu_load_average_10s  gauge   过去10秒容器CPU的平均负载
container_cpu_usage_seconds_total counter 容器在每个CPU内核上的累积占用时间 (单位:秒)
container_cpu_system_seconds_total counter System CPU累积占用时间(单位:秒)
container_cpu_user_seconds_total counter User CPU累积占用时间(单位:秒)
container_fs_usage_bytes gauge 容器中文件系统的使用量(单位:字节)
container_fs_limit_bytes gauge 容器可以使用的文件系统总量(单位:字节)
container_fs_reads_bytes_total counter 容器累积读取数据的总量(单位:字节)
container_fs_writes_bytes_total counter 容器累积写入数据的总量(单位:字节)
container_memory_max_usage_bytes gauge 容器的最大内存使用量(单位:字节)
container_memory_usage_bytes gauge 容器当前的内存使用量(单位:字节
container_spec_memory_limit_bytes gauge 容器的内存使用量限制
machine_memory_bytes gauge 当前主机的内存总量
container_network_receive_bytes_total counter 容器网络累积接收数据总量(单位:字节)
container_network_transmit_bytes_total counter 容器网络累积传输数据总量(单位:字节)
赞(0)
未经允许不得转载:娃哈哈好喝 » Prometheus监控docker
分享到: 更多 (0)