首页 > 监控和安全 > linux工匠之docker的监控(cadvisor+prometheus)
2017
11-06

linux工匠之docker的监控(cadvisor+prometheus)

docker的监控(cadvisor+prometheus)

docker的监控有多种,比如:

cAdvisor收集本机以及容器的监控数据–Heapster收集数据及汇总–InfluxDB时序数据库–grafana
cAdvisor收集本机以及容器的监控数据–prometheus自带监控及报警的时序数据库(集成leveldb)–grafana

下面简单说一下谷歌cAdvisor和普罗米修斯结合的监控,在grafana展示,各个文档请看官方介绍

https://prometheus.io/      https://github.com/google/cadvisor

cAdvisor

具体操作是在每台运行docker服务的主机上都跑一个cAdvisor容器,DaemonSet方式部署,网络是HOST模式

这样访问cAdvisor的8080端口就得到cAdvisor的监控页面,我们用nginx做个代理,然后给普罗米修斯

kubernetes配置如下:

nginx代理只是为了prometheus配置文件中规整,便于管理,也可不用,上面是nodeport暴露端口的,访问主机IP:30101端口即可打开cadvisor页面,centos主机需要上述配置文件最后面2步,重新挂载/sys/fs/cgroup文件夹

cadvisor的监控接口:

prometheus

下载官方prometheus的tar.gz包,解压就可以,targets里面写各个cAdvisor的ip和端口

在哪个目录运行prometheus,就会在当前目录生成data文件夹,里面是监控的数据库

运行prometheus后监听在9090端口,访问http://192.168.2.1:9090/graph

linux工匠之docker的监控(cadvisor+prometheus) - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

linux工匠之docker的监控(cadvisor+prometheus) - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

在Status-Configuration里面可以看到配置文件,Targets里面查看已经建立的节点。普罗米修斯Graph搜索查看条件语法见 https://prometheus.io/docs/querying/basics/ 

grafana

grafana是从prometheus获取数据并展示,第一步添加prometheus数据库,第二步用网上的模板画图

访问IP:3000,用户名密码为admin,如果prometheus和grafana在一台主机,http setting这里写:

http://localhost:9090   proxy即可,如果不在一台主机,那么需要prometheus访问链接,access:direct

linux工匠之docker的监控(cadvisor+prometheus) - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

打开Grafana Labs,查找prometheus的模板, https://grafana.com/dashboards?dataSource=prometheus&search=docker,每个模板都有一个id,在grafana里面输入id导入到grafana

选择import,举例输入893(https://grafana.com/dashboards/893),再选择prometheus的数据源,即上面添加的top-prometheus,4170(https://grafana.com/dashboards/4170)模板也不错

linux工匠之docker的监控(cadvisor+prometheus) - 第4张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

也可以自己画图:

linux工匠之docker的监控(cadvisor+prometheus) - 第5张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

详细的监控和报警请查阅官方文档,照步骤操作

那么监控的数据准确吗?

查看cadvisor里面某一个docker服务的监控图形

linux工匠之docker的监控(cadvisor+prometheus) - 第6张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

可以看到从57分到58分,一共有6次数据采集,因为每10s获取一次监控数据,此docker服务配置是2c6g,在grafana里面查看cpu的利用率,平均53.713%

linux工匠之docker的监控(cadvisor+prometheus) - 第7张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

可以确定此监控是准确的

linux工匠之docker的监控(cadvisor+prometheus) - 第8张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。