如何让prometheus监控kubernetes服务?

时间:2017-07-10 08:27:06

标签: kubernetes monitoring prometheus promql

我想监控我的Kubernetes服务对象,以确保他们有> 0处于“正在运行”状态的后面的窗格。

但是,要做到这一点,我必须首先按服务对Pod进行分组,然后按状态进一步分组。

我还想以编程方式执行此操作(例如,对于命名空间中的每个服务...)

已经有一些代码在Sensu kubernetes插件中执行此操作:https://github.com/sensu-plugins/sensu-plugins-kubernetes/blob/master/bin/check-kube-service-available.rb但我没有看到任何显示如何使用Prometheus执行此操作的代码。

有没有人与普罗米修斯一起设置kubernetes服务水平健康检查?如果是这样,您是如何按服务分组然后按Pod状态分组的?

1 个答案:

答案 0 :(得分:3)

我见过的Prometheus服务检查的例子依赖于blackbox导出器:

blackbox导出器将尝试服务上的给定URL。如果成功,则至少有一个pod已启动并正在运行。

请参阅此处的示例:作业kubernetes-service-endpoints中的https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml

要探测的URL可能是您的活动探测器或其他内容。如果您的服务不谈论HTTP,您也可以让黑盒出口商测试其他协议。