【问题标题】:in Prometheus, how to ignore a label in a range-vector (rate())在 Prometheus 中,如何忽略范围向量中的标签 (rate())
【发布时间】:2022-07-22 22:03:48
【问题描述】:

我正在使用普罗米修斯。我正在尝试获取计数器的费率,无论服务器正在处理哪个租户。 对于我正在使用的速率表达式: rate(token_generator_http_request_count{bundle="abcd", kubernetes_name="name_abcd"}[1m]

这为我的每个租户提供了不同的价值。 现在我想得到整体率。 我尝试使用: rate(token_generator_http_request_count{bundle="abcd", kubernetes_name="name_abcd"}[1m] 没有(租户)

我遇到了一个错误。似乎 Prometheus 不允许将“without”用于范围向量函数。 有没有办法统一费率(不创建根本不会设置租户标签的新指标)

谢谢

【问题讨论】:

    标签: promql


    【解决方案1】:

    这为我的每个租户提供了不同的价值。现在我想得到整体率

    要获得总体速率(token_generator_http_request_count 的所有组合的聚合速率),您需要使用聚合函数包装表达式。例如:

    sum(rate(token_generator_http_request_count{bundle="abcd", kubernetes_name="name_abcd"}[1m])
    

    这个表达式将只返回一个结果:所有费率的总和。查看实时示例here

    without 函数只能与其他聚合函数一起使用。例如:

        sum(rate(token_generator_http_request_count{bundle="abcd", kubernetes_name="name_abcd"}[1m]) without(tenant)
    

    此表达式可能返回多个结果,按标签 tenant 以外的所有标签组合分组。查看实时示例here

    【讨论】:

      猜你喜欢
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 2022-01-22
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多