12

I have two different (but related metrics).

metric_1(id="abc",id2="def")
metric_2(id="abc",id2="def")

My goal ultimately is to have the following in Grafana. I plan to use the "instant" value and Grafana's table visualization widget to display this data.

id      id2     metric1 metric2
abc     def     1       2

What query/joining/relabeling should I use to achieve this?

Thank you in advance! :)

rcjsuen
  • 873
  • 1
  • 6
  • 12

4 Answers4

14
{__name__=~"metric_1|metric_2"}

https://stackoverflow.com/a/47415934/661150 https://prometheus.io/docs/prometheus/latest/querying/basics/

fche
  • 2,641
  • 20
  • 28
2

As a workaround, you can append + 0 to the query so that Prometheus strips out its __name__ label so Grafana will merge them together. I found this workaround on GitHub.

Is there a better solution?

rcjsuen
  • 873
  • 1
  • 6
  • 12
2

You can achieve that in Grafana

  • make two queries, be sure to select format table
  • merge them with transform => merge
  • relable and hide unwanted fields with organize fields
1

A bit of changes which merges all the steps before. The solution can be achieved in Grafana

  1. Make 2 queries and select visualization format as table
  2. Apply transformation Labels to fields (Select value filed name a value that uniquely identifies the metric name e.g. name)
  3. Merge them together transform ==> merge
  4. Reorganize/rename the field names