如何用正则表达式和二进制运算符编写PromQL

时间:2020-05-05 08:14:17

标签: prometheus grafana promql

我可以使用avg({__name__="model1_request_keys_qps", project="test_project"}/{__name__="model1_qps", project="test_project"})来计算模型1的kps(密钥每秒)。

现在我想获得基于kps的top10模型,如下所示: topk(10, avg({__name__=~"(.*)_request_keys_qps", project="test_project"}/{__name__=~"\1_qps", project="test_project"}) by \1)#\ 1表示一个model_name。 但这不适用于PromQL。

任何人都可以提供解决方案或解决方法吗?

1 个答案:

答案 0 :(得分:0)

我有了label_replace的解决方案: topk(10,sum(label_replace({ name =〜“。 _request_keys_qps”,project =“ test_project”},“ model_name”,“ $ 1”,“ name >“,”(.. )_ request_keys_qps“))通过(model_name)/ sum(label_replace({ name =〜”。 _qps“,project =” test_project“}, (model_name))的“ model_name”,“ $ 1”,“ 名称”,“(。)_ qps”))