JACK
JACK

Reputation: 494

Combine label values from 2 different metrics: Grafana

I have 2 metrics as below

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"}

I want to fetch the job name and store it inside a variable job how can i combine the below two queries

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

Upvotes: 9

Views: 17785

Answers (3)

Gonzalo
Gonzalo

Reputation: 1876

To complete JACK's answer, if you need to add more filters to your query you can add them to de first object of the label_values method. This is useful when you have other filters, for example:

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

Upvotes: 3

ycdesu
ycdesu

Reputation: 735

You need to invoke prometheus query_result method, and apply a regex on it.

Query: query_result(node_uname_info OR namedprocess_namegroup_cpu_seconds_total)

Regex: /.*job="([^"]+)".*/

Upvotes: 4

JACK
JACK

Reputation: 494

label_values({__name__=~ "namedprocess_namegroup_cpu_seconds_total|node_uname_info"}, job)

No spaces between metric|metric

Upvotes: 15

Related Questions