Prometheus监控教程:使用PromQL查询监控数据(下篇)

  • Post author:
  • Post category:其他


使用查询主机cpu负载变化情况,可以使用关键字 node_cpu 可以查询出 Prometheus 采集到的主机负载的样本数据,这些样本数据按照时间先后顺序展示,形成了主机负载随时间变化的趋势图表:

使用PromQL的

rate()

函数,可以计算在单位时间内样本数据的变化情况即增长率,因此通过该函数我们可以近似的通过 CPU 使用时间计算 CPU 的利用率:

# node_cpu_seconds_total
node_cpu_seconds_total{cpu="0", instance="192.168.52.129:9100", job="129", mode="idle"}

这时如果要忽略是哪一个 CPU 的,只需要使用 without 表达式,将标签 CPU 去除后聚合数据即可:

avg without (cpu) (node_cpu_seconds_total)

使用PromQL的聚合操作符用来将向量里的元素聚合得更少,例如使用count_values()函数对value进行统计计数

count_values("count",node_memory_MemTotal_bytes)

使用irate()函数计算范围向量中时间序列的每秒瞬时增长率

irate(promhttp_metric_handler_requests_total{job="129"}[5m])

使用delta()函数计算范围向量中每个时间序列元素的第一个值和最后一个值之间的差,返回具有给定增量和等效标签的即时向量。增量被外推以覆盖范围向量选择器中指定的整个时间范围,因此即使样本值都是整数,也可以获得非整数结果。

delta(cpu_temp_celsius{host="zeus"}[2h])

学习更多内容,请关注

IT运维先森

微信公众号,将为你分享更多技术内容。



版权声明:本文为guting18893110463原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。