我正在使用PromQL查询来计算最近60分钟内通过任何节点上的某些接口推送/接收的累积流量。使用Prometheus Node Exporter的指标:
delta(node_network_receive_bytes_total{device=~"ens.*"}[60m])*8
并且非常好只要节点在该间隔内没有重新启动,该值就是向量的尖端与尾部之间的差。当系统重新启动并且计数器重置时,该功能的含义停止反映该结果。
例如这是node_network_transmit_bytes_total
的图形:
...该函数将返回-9MiB,而不是10.2MiB。
我想我可以同时使用rate()
来获得估算值。但是,是否有更好的功能/方式来获取actual something?
如delta()的文档中所述:
增量仅应与量规一起使用。
您应该使用increase()特有的counters功能。
单调性中断(例如由于目标重启而导致的计数器重置)。>
这是区分量规和计数器的主要原因之一。参见this answer about the difference。
您可以通过以下方法之一来识别计数器:
# TYPE http_requests_total counter
)_total
结尾(如果出口商尊重best practices)