在一个查询中需要两个Prometheus度量值。矩阵1是http_request_duration_seconds_bucket
,矩阵2是http_request_duration_seconds_count
我想有我的查询输出在下表格式。Label1, Label2, metric1, metric2
。其中label1
和label2
对于这两个指标都是常见的。有人可以帮助与promql查询吗?
普罗米修斯不能这样做,因为它的数据模型每个样本只支持一个值。
要为每个示例存储多个值,需要使用支持字段的时间序列数据库,例如InfluxDB。
您可以在Prometheus中使用or
二进制运算符。
http_request_duration_seconds_bucket or
http_request_duration_seconds_count
下面是一个使用instance
作为两个不同指标的公共标签的演示工作示例
alertmanager_alerts_received_total or
alertmanager_alerts_invalid_total
结果:
alertmanager_alerts_received_total{instance="demo.robustperception.io:9093", job="alertmanager", status="firing", version="v1"}
0
alertmanager_alerts_received_total{instance="demo.robustperception.io:9093", job="alertmanager", status="firing", version="v2"}
635876
alertmanager_alerts_received_total{instance="demo.robustperception.io:9093", job="alertmanager", status="resolved", version="v1"}
0
alertmanager_alerts_received_total{instance="demo.robustperception.io:9093", job="alertmanager", status="resolved", version="v2"}
0
alertmanager_alerts_invalid_total{instance="demo.robustperception.io:9093", job="alertmanager", version="v1"}
0
alertmanager_alerts_invalid_total{instance="demo.robustperception.io:9093", job="alertmanager", version="v2"}