【发布时间】:2019-05-31 04:55:06
【问题描述】:
你好,
我正在尝试使用 Prometheus 配置 Kubernetes Cronjobs 监控和警报。我发现这很有帮助guide
但我总是得到一个不允许多对多匹配:匹配标签在一侧必须是唯一的错误。
例如,这是触发此错误的 PromQL 查询:
max(
kube_job_status_start_time
* ON(job_name) GROUP_RIGHT()
kube_job_labels{label_cronjob!=""}
) BY (job_name, label_cronjob)
查询本身会导致例如这些指标
kube_job_status_start_time:
kube_job_status_start_time{app="kube-state-metrics",chart="kube-state-metrics-0.12.1",heritage="Tiller",instance="REDACTED",job="kubernetes-service-endpoints",job_name="test-1546295400",kubernetes_name="kube-state-metrics",kubernetes_namespace="monitoring",kubernetes_node="REDACTED",namespace="test-develop",release="kube-state-metrics"}
kube_job_labels{label_cronjob!=""}:
kube_job_labels{app="kube-state-metrics",chart="kube-state-metrics-0.12.1",heritage="Tiller",instance="REDACTED",job="kubernetes-service-endpoints",job_name="test-1546295400",kubernetes_name="kube-state-metrics",kubernetes_namespace="monitoring",kubernetes_node="REDACTED",label_cronjob="test",label_environment="test-develop",namespace="test-develop",release="kube-state-metrics"}
这里有什么我遗漏的吗?我从指南中尝试的每个查询都会发生相同的多对多错误。 即使我自己从头开始构建它也会导致同样的错误。 希望你能在这里帮助我:)
【问题讨论】:
-
在遵循此 Medium 指南时,我在 Prometheus 沙箱环境中观察到相同的
many-to-many错误。对我来说,它们是随机发生的。我的意思是在某些情况下,相同的查询成功完成,另一次失败。
标签: kubernetes prometheus promql kube-state-metrics