1

我想监控我的 Kubernetes 服务对象,以确保它们后面有 > 0 个处于“运行”状态的 Pod。

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

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

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

有没有人用 Prometheus 设置 Kubernetes 服务级别的健康检查?如果是这样,您是如何按服务分组然后按 Pod 状态分组的?

4

1 回答 1

3

我看到的 Prometheus 服务检查示例依赖于 blackbox 导出器:

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

有关示例,请参见此处:https ://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml在工作 kubernetes-service-endpoints

要探测的 URL 可能是您的活跃度探测或其他东西。如果您的服务不使用 HTTP,您也可以让 blackbox 导出器测试其他协议。

于 2017-07-10T17:20:18.153 回答