Alf*_*eme 3 prometheus promql prometheus-node-exporter
我正在使用 PromQL 查询来计算过去 60 分钟内通过任何节点上的某些接口推送/接收的累积流量。使用 Prometheus Node Exporter 的指标:
delta(node_network_receive_bytes_total{device=~"ens.*"}[60m])*8
Run Code Online (Sandbox Code Playgroud)
和它的完全正常,只要该节点不处于该间隔重新启动,该值仅仅是矢量的尖端和它的尾巴之间的差。当系统重新启动并且计数器复位时,该函数的含义停止反映所述结果。
例如,这是以下图表node_network_transmit_bytes_total:
...该函数将返回 -9MiB,而不是 10.2MiB。
我想我也可以使用rate()s 来获得估计值。但是有没有更好的功能/方法来获得实际的东西?
如delta()的文档所示:
delta 应该只与仪表一起使用。
您应该使用特定于counters的increase()函数。
单调性中断(例如由于目标重新启动引起的计数器重置)会自动调整。
这是区分仪表和计数器的主要原因之一。请参阅有关差异的答案。
您可以通过以下方法之一识别计数器:
# TYPE http_requests_total counter)_total(如果出口商尊重最佳实践)结尾