上一篇文章Probius+Kubernetes任务系统如虎添翼讲了我们把Kubernetes集成进了任务系统Probius,上线后小伙伴反馈虽然摆脱了Kubernetes-Dashboard,但还是得去Grafana系统查看容器的监控数据,能否将容器监控也给集成进Probius呢?只要能优化流程提高效率那就必须给安排
当前Kubernetes集群通过Prometheus来收集和存储监控数据同时借助Grafana来画图展示,Probius若想集成容器监控只需要获取Prometheus存储的容器数据并绘图展示即可,这里涉及到两块内容:1. 获取Prometheus中存储的POD数据,2. 根据获取到的POD数据进行画图展示,完成后的效果如下
获取数据
Prometheus提供query
和query_range
两个API来获取数据,query
可以查询给定时间点的数据,而query_range
支持查询给定时间段内的数据集合,对于我们的需求query_range
再合适不过了
GET /api/v1/query_range
API支持以下几个参数:
query:Prometheus查询表达式,string类型
start:开始时间,rfc3339或是unix_timestamp格式
end:结束时间,rfc3339或是unix_timestamp格式
step:步长,可以是15s
这样的持续时间格式
timeout:超时时间
根据这些信息就可以编写获取数据的程序了,大概如下
class Prometheu