Prometheus四种指标及PromQL实例
Prometheus四种主要的指标类型包括Counter、Gauge、Histogram和Summary,以及相应的PromQL实例如下:
-
Counter(计数器)
- 作用:只增不减的计数器,常用于记录请求次数、任务完成数、错误发生次数等。重启进程后,计数会被重置。
- PromQL实例:假设我们有一个HTTP请求次数的Counter类型指标
http_requests_total
,我们想要查询最近一小时内增长最快的10个HTTP请求路径:
promql`topk(10, delta(http_requests_total[1h]))`
-
Gauge(仪表)
- 作用:反映系统的当前状态,样本数据可增可减。常用于表示CPU使用率、内存使用率、磁盘空间使用率等。
- PromQL实例:如果我们想要查询当前系统中CPU使用率最高的前三个节点:
promql`topk(3, 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100))`
-
Histogram(直方图)
- 作用:表示样本数据的分布情况,通常用于统计请求的耗时、大小等。它提供了多个时间序列,包括_sum(总和)、_count(总数)以及多个_bucket(分桶统计)。
- PromQL实例:假设我们有一个请求耗时的Histogram类型指标
http_request_duration_seconds
,我们想要查询请求耗时在0.5秒到1秒之间的请求次数:
promql`histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{le="1"}[5m])) by (le)) - histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{le="0.5"}[5m])) by (le))`
注意:这个查询可能并不准确,因为Histogram类型不直接提供区间内的计数,而是通过累计的方式来表示分布。在实际应用中,我们更常用的是查询某个分位数的请求耗时,如95%的请求耗时在多少以内。
-
Summary(摘要)
- 作用:类似于Histogram,但更注重于分位数的计算。它同样提供了_sum、_count以及多个quantile(分位数)。
- PromQL实例:假设我们有一个请求耗时的Summary类型指标
http_request_duration_seconds
,我们想要查询95%分位数的请求耗时:
promql`http_request_duration_seconds{quantile="0.95"}`
需要注意的是,以上PromQL实例仅供参考,实际使用时需要根据具体的指标名称、标签和查询需求进行调整。同时,由于Prometheus查询语言的复杂性和多样性,还有很多其他的查询方式和技巧可以探索和学习。
本文来自博客园,作者:dashery,转载请注明原文链接:https://www.cnblogs.com/ydswin/p/18067218