普罗米修斯&grafana监控k8s集群

普罗米修斯&grafana监控k8s集群_第1张图片

文/高哥/第 329 篇

运维自动化监控中基本上常用的有两大监控利器。一个是 zabbix,一个是普罗米修斯,又称PrometheusPrometheus(普罗米修斯)是一个名字非常酷的开源监控系统。它支持多维度的指标数据模型,服务端通过HTTP协议定时拉取数据后,通过灵活的查询语言,实现监控的目的。客户端记录相关指标数据,对外提供查询接口。Prometheus服务端通过服务器发现机制找到客户端,并定时抓取存储为时间序列数据。最后通过Grafana等图表工具集成展示。


最近一直在学习,顺便搞了一下普罗米修斯&grafana监控k8s的方案。其实现原理有点类似 ELK 组合。node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus, prometheus负责存储这些数据,grafana将这些数据通过网页以图形的形式展现给用户。


本次grafana+普罗米修斯全部集成在k8s中,用 pod 和 svc 的 NodePort 方式去暴露服务和端口以及登陆web界面。


pod显示如图:

普罗米修斯&grafana监控k8s集群_第2张图片

svc向外部暴露如下:

640?wx_fmt=png


根据 svc 的暴露端口,可以看出普罗米修斯的端口由9090 暴露为 30003,grafana 的端口由 3000 暴露为 31000。其中 192.168.43.35 这个 ip 地址是 k8s 集群的 master 节点,也就是主节点。


普罗米修斯登陆界面http://192.168.43.35:30003

grafana登陆界面http://192.168.43.35:31000


登陆普罗米修斯,界面如图:


需要采用如下查询语句,如果能够查询到数据,并且界面显示出来数据,则代表node-exporter向普罗米写入数据正常。


 
   

sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!="", pod_name!=""}[1m] ) )

 
   

sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!="", pod_name!=""}[1m] ) )

普罗米修斯&grafana监控k8s集群_第3张图片


grafana数据源配置如下:


普罗米修斯&grafana监控k8s集群_第4张图片


配置好数据源后,便可以定制监控指标来监控数据了。最终展示效果如图:


普罗米修斯&grafana监控k8s集群_第5张图片

普罗米修斯&grafana监控k8s集群_第6张图片


感觉这个监控界面还是比较炫酷的,我也尝试着装了一下 k8s 的默认 dashboard 界面,感觉还是比较单一。


普罗米修斯&grafana监控k8s集群_第7张图片


相比较而言,还是普罗米修斯&grafana的监控展示比较友好一些。这个用来装逼炫酷完全是一个不错的选择,这样领导就不会再说运维是吃闲饭的了。

你可能感兴趣的:(普罗米修斯&grafana监控k8s集群)