【发布时间】:2022-12-22 16:18:22
【问题描述】:
我正在尝试总结一个随时间推移的计数器指标,并按应用的标签进行分组。我试过这个
sum by (searchTerm) (bot_guides_failed_total)
但我想以这样的表格形式出现:
搜索词 1 : 5
搜索项 2:1 ETC..
我是 PromQL 的新手,所以如果您需要我提供更多信息以帮助我解决这个问题,请告诉我。
谢谢!
【问题讨论】:
标签: prometheus promql
我正在尝试总结一个随时间推移的计数器指标,并按应用的标签进行分组。我试过这个
sum by (searchTerm) (bot_guides_failed_total)
但我想以这样的表格形式出现:
搜索词 1 : 5
搜索项 2:1 ETC..
我是 PromQL 的新手,所以如果您需要我提供更多信息以帮助我解决这个问题,请告诉我。
谢谢!
【问题讨论】:
标签: prometheus promql
您需要使用一个函数来提取特定时间窗口内的搜索次数。例如:
sum by (increase(searchTerm[5m])) (bot_guides_failed_total)
这将为您提供在 5 分钟时间窗口内由 bot_guides_failed_total 分组的 searchTerm 的数量。
【讨论】:
以下 PromQL 查询应返回 bot_guides_failed_total 时间序列在过去一小时内的增长(请参阅方括号中的 1h)按 searchTerm 标签分组:
sum(increase(bot_guides_failed_total[1h])) by (searchTerm)
如果此查询用于在 Grafana 中构建图表,则图表上的每个点都将包含 bot_guides_failed_total 指标在该点结束的一小时间隔内的增加。
请注意,Prometheus 中的 increase() 函数在应用于缓慢变化的计数器时可能会返回意外结果。这是因为外推 - 有关详细信息,请参阅this issue。如果您需要 increase() 函数的预期结果,请改用 VictoriaMetrics - 这是我正在研究的类似 Prometheus 的监控系统。
【讨论】: