首页 > 代码库 > 基于etcd+confd对监控prometheus的服务注册发现

基于etcd+confd对监控prometheus的服务注册发现

Prometheus是对容器监控的一个开源解决方案,可以对宿主机和容器内的信息进行详细监控,通过grafna展示出来,Prometheus是根据node节点上的cadvisor来获取每个容器的监控状态,相对zabbix而言,prometheus相当于server,cadvisor相当于agent,默认情况走的是类似zabbix的被动模式,cadvisor在收到prometheus要数据的请求后,将采集后的数据发送给prometheus。     

Prometheus是通过读取配置文件去采集指定cadvisor的信息,也就是说配置文件里维护了一个所有监控节点的ip等信息的列表,当新增或者修改一个cadvisor时,只需修改prometheus的核心配置prometheus.yml,然后重启prometheus后node节点就加上了。被监控的机器是随着docker swarm mod集群机器的调整而变化的,这种场景非常适合通过etcd与confd的结合来进行服务注册,编排工具在将node节点注册到nginx的同时,将监控注册到Prometheus,而cadvisor可以通过swarm mod的gloable方式在每台node节点上安装启动,现在介绍一下实现过程,在此感谢李备同学的交流和测试,对应的服务注册的流程图如下:

浏览全部请点击运维网咖社地址:基于etcd+confd对监控prometheus的服务注册发现

本文出自 “奔跑的linux” 博客,请务必保留此出处http://benpaozhe.blog.51cto.com/10239098/1923443

基于etcd+confd对监控prometheus的服务注册发现