【问题标题】:Combine label values from 2 different metrics: Grafana结合来自 2 个不同指标的标签值:Grafana
【发布时间】:2020-03-24 06:08:40
【问题描述】:

我有以下 2 个指标

namedprocess_namegroup_cpu_seconds_total{groupname="group_name", instance="0.0.0.0:0000", job="process_monitor_master", mode="user"}
namedprocess_namegroup_cpu_seconds_total{groupname="group_name",instance="0.0.0.0:0000",job="process_monitor_k8_nodes",mode="system"}

node_uname_info{domainname="domain",instance="0.0.0.0:0000",job="sandbox_cluster"}
node_uname_info{domainname="domain",instance="0.0.0.0:0000",job="sandbox_master"}

我想获取作业名称并将其存储在变量 job 我如何结合以下两个查询

label_values(namedprocess_namegroup_cpu_seconds_total,job) 
label_values(node_uname_info, job)

【问题讨论】:

  • label_values({__name__=~ "namedprocess_namegroup_cpu_seconds_total | node_uname_info"}, job) 我试过了,但它返回 None

标签: label prometheus grafana


【解决方案1】:
label_values({__name__=~ "namedprocess_namegroup_cpu_seconds_total|node_uname_info"}, job)

metric|metric之间没有空格

【讨论】:

    【解决方案2】:

    您需要调用 prometheus query_result 方法,并对其应用正则表达式。

    Query: query_result(node_uname_info OR namedprocess_namegroup_cpu_seconds_total)
    
    Regex: /.*job="([^"]+)".*/
    

    【讨论】:

      【解决方案3】:

      要完成 JACK 的回答,如果您需要在查询中添加更多过滤器,可以将它们添加到 label_values 方法的第一个对象中。这在您有其他过滤器时很有用,例如:

      label_values({__name__=~ "namedprocess_namegroup_cpu_seconds_total|node_uname_info", groupname="group_name", instance=~"$instance"}, job)
      
      

      【讨论】:

        猜你喜欢
        • 2019-04-27
        • 1970-01-01
        • 2023-01-25
        • 2021-10-14
        • 1970-01-01
        • 2012-06-15
        • 2020-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多