如何仅针对错误条件筛选 Pod 每小时重新启动次数?

问题描述 投票:0回答:1

感谢您在上一小时通过 Namespace 为 Pod 重启提供的 PromQL 帮助 - 非常感谢。

现在我希望仅通过错误条件引起的重新启动来过滤结果。我知道我们有诸如 'kube_pod_container_status_termerated_reason' 之类的命令,以及诸如 'Error' 和 'OOMKilled' 之类的原因

理想情况下,我想将 'kube_pod_container_status_termerated_reason' 中的一些字段与 'kube_pod_container_status_restarts_total' 一起加入。如果是 SQL,我可以毫无问题地做到这一点。但是,我仍在思考 PromQL。

感谢社区提供的有关如何过滤 pod 重新启动总数以仅包含错误和 OOMKilled 条件的任何意见。

谢谢。

kubernetes prometheus promql
1个回答
0
投票

您可以使用

on
矢量匹配运算符和
group_left
组修饰符。像这样的查询:

kube_pod_container_status_restarts_total
  * on (pod, container) group_left (reason) 
(kube_pod_container_status_terminated_reason)

允许使用来自

kube_pod_container_status_restarts_total
的附加标签
reason
(在
group_left
中指定)获得
kube_pod_container_status_terminated_reason
指标的值。您可以在 play.grafana.org 中看到示例。

注意:play.grafana.org 示例中的示例使用

kube_pod_container_status_last_terminated_reason
指标而不是
kube_pod_container_status_terminated_reason
,但原理是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.