我在代码中配置了一个名为“my_metrics”的自定义 Prometheus mertic,它只是捕获 API 的特殊故障条件。
部署后,如果我想检查该计数器在过去 1 小时内的增量值是多少,我正在编写 promQ
sum(increase(my_metrics(...)[30m]))
但我总是得到 0 作为响应,即使我确信该错误条件在过去 30 分钟内已满足 2 次,并且我在日志中得到了确认。
根据一些在线搜索,我得到了一些博客,其中提到了increase()函数的一些问题。有人可以告诉我到底是什么问题,或者我如何使用其他 promQL 获取我的数据。基本上我想获得过去 30 分钟内计数器值的增量。
您需要使用以下查询来计算过去 30 分钟内所有名称为 my_metrics
的
时间序列的汇总增长:
sum(increase(my_metrics{...}[30m]))
请注意,时间序列过滤器必须放在大括号内 -
{...}
。
另请注意,Prometheus 可能会从应用于缓慢变化的整数 counter 的 increase() 函数返回意外结果。有关详细信息,请参阅此答案。