Reputation: 494
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
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
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
Reputation: 494
label_values({__name__=~ "namedprocess_namegroup_cpu_seconds_total|node_uname_info"}, job)
No spaces between metric|metric
Upvotes: 15