【问题标题】:Prometheus filtering based on Labels - errorPrometheus 基于标签过滤 - 错误
【发布时间】:2022-01-12 10:51:31
【问题描述】:

我们使用此查询来获取 cpu 指标的 pod/namespace,并使用 kube_pod_labels 根据标签获取 pod 名称。

max(kube_pod_labels{label_workflow_instance_id="$workflow_instance_id", label_workflow_vertex_id=~"$workflow_vertex_id", pod=~".+"}  * on(pod) group_left sum by(pod) (label_replace(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace="pipeline-worker", container_name!="POD"},"pod", "$1", "pod_name", "(.+)")) * on(pod) group_left kube_pod_status_phase{phase="Running"}) by(label_workflow_vertex_id)

能够看到空的查询结果。我们正在 EKS 上建立集群(附上 grafana UI 截图)enter image description here

这里的任何帮助都会高度相关(比如我在这里做错了什么)

【问题讨论】:

    标签: kubernetes prometheus grafana promql


    【解决方案1】:

    www.asserts.ai,我们使用以下记录规则记录容器CPU Metric

    看起来您正在使用 kube_mixin,所以 mixin_pod_workload 的记录规则可能已经存在于您的环境中

    sum by (pod, container, namespace, node, job, workload, asserts_env, asserts_site) (
                rate(container_cpu_usage_seconds_total {container != "POD", image != "", container != ""}[5m])
                * on (pod, namespace, asserts_env, asserts_site) group_left(workload)
                mixin_pod_workload
                * on (pod, namespace, asserts_env, asserts_site) group_left()
                group by (pod, namespace, asserts_env, asserts_site) (kube_pod_labels)
              )
    

    【讨论】:

    • 我做错了吗?顺便说一句,我们在 kSM 版本 2.2.0 上,我觉得 kube_pod_labels 舞会指标没有 pod 标签。我正在经历这个并试图添加属性 - --metric-labels-allowlist=pods=[*] 但这似乎对我来说也不起作用。这里有什么建议吗?
    猜你喜欢
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2021-08-04
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多