Fac*_*mbo 33 prometheus promql
我需要在Grafana中显示一个面板,其中包含在右上角选择的时间段内的请求数.
为此,我需要在这里解决2个问题,我将在这里问prometheus问题和另一个链接中的Grafana问题.
如果我有一个计数器http_requests_total,我如何构建一个查询来获取一个整数,其中包含一段时间内的请求总数(例如:24小时)?
Yoo*_* N. 51
你需要的是increase()函数,它将计算指定时间间隔开始和结束时计数器值之间的差异.它还可以在该时间段内正确处理计数器重置(如果有的话).
increase(http_requests_total[24h])
Run Code Online (Sandbox Code Playgroud)
如果您有多个计数器http_requests_total(例如来自多个实例)并且您需要获取累积的请求数,请使用sum()运算符:
sum(increase(http_requests_total[24h]))
Run Code Online (Sandbox Code Playgroud)
另请参阅我对在查询中使用Grafana时间范围选择的问题部分的答案.
avi*_*amg 12
解决方案:为了计算 prometheus grafana 上的 https 计数器总和,您应该使用increase方法并设置通用时间范围 $interval,以便对所有 http 请求计数器进行求和和计算。
increase(http_requests_total[$interval])
Run Code Online (Sandbox Code Playgroud)
根据普罗米修斯参考资料:
increase()increase(v range-vector)计算范围向量中时间序列的增量。单调性中断(例如由于目标重新启动而导致的计数器重置)会自动调整。该增加被推断为覆盖范围向量选择器中指定的完整时间范围,因此即使计数器仅增加整数增量,也可以获得非整数结果。以下示例表达式返回过去 5 分钟内测量的范围向量中每个时间序列的 HTTP 请求数:
increase(http_requests_total{job="api-server"}[5m])增加只能与计数器一起使用。它是速率(v)乘以指定时间范围窗口下的秒数的语法糖,应主要用于人类可读性。记录规则中的使用率,以便每秒一致地跟踪增长情况。
聚苯乙烯
$interval变量)此外,我建议在图形可视化上设置 正确的分辨率和最小时间间隔(在您的情况下是每天 -> 1d)2.为了汇总所有请求量,只需执行 sum 函数
sum(increase(http_requests_total[$interval]))
Run Code Online (Sandbox Code Playgroud)
小智 10
根据增加()文档,它不是聚合运算符。因此,它会给出错误的答案。(见说明。)
您应该使用sum_over_time()函数,它在时间间隔内聚合。
sum_over_time(http_requests_total[24h])
Run Code Online (Sandbox Code Playgroud)
如果您有多个计数器,请使用 sum() 运算符:
sum(sum_over_time(http_requests_total[24h]))
Run Code Online (Sandbox Code Playgroud)
注意:我有 5 个数据点,其值分别为:847、870、836、802、836。(每分钟更新一次)
increase(http_requests_total[5m]) returns 2118.75
sum_over_time(http_requests_total[5m]) returns 4191
Run Code Online (Sandbox Code Playgroud)
小智 8
因此,我不会对Yoory的答案发表评论,所以我必须重新编写一个...
在Grafana 5.3中,他们$__range为Prometheus 引入了更易于使用的方法:
sum(rate(http_requests_total[$__range]))
Run Code Online (Sandbox Code Playgroud)
此变量表示当前仪表板的范围。计算方法是:
http://docs.grafana.org/features/datasources/prometheus/
小智 5
http_requests_total - http_requests_total offset $__interval > 0
Run Code Online (Sandbox Code Playgroud)
这建立了另一个有效和处理重启情况的答案和评论。
偏移量始终将值保持为整数,并且不会尝试像increase和rate函数那样执行插值。
最后的> 0过滤器将忽略由于重新启动而可能捕获的所有负值。
如果您选择在图例中选择总值,则最终结果是随着时间的推移准确的请求总数。
| 归档时间: |
|
| 查看次数: |
23970 次 |
| 最近记录: |