ydswin

忘记背后,努力面前的,向着标杆直跑

导航

Prometheus四种指标及PromQL实例

Prometheus四种主要的指标类型包括Counter、Gauge、Histogram和Summary,以及相应的PromQL实例如下:

  1. Counter(计数器)

    • 作用只增不减的计数器,常用于记录请求次数、任务完成数、错误发生次数等。重启进程后,计数会被重置。
    • PromQL实例:假设我们有一个HTTP请求次数的Counter类型指标http_requests_total,我们想要查询最近一小时内增长最快的10个HTTP请求路径:
    promql`topk(10, delta(http_requests_total[1h]))`
    
  2. Gauge(仪表)

    • 作用反映系统的当前状态,样本数据可增可减。常用于表示CPU使用率、内存使用率、磁盘空间使用率等
    • PromQL实例:如果我们想要查询当前系统中CPU使用率最高的前三个节点:
    promql`topk(3, 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100))`
    
  3. 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%的请求耗时在多少以内。

  4. Summary(摘要)

    • 作用类似于Histogram,但更注重于分位数的计算。它同样提供了_sum、_count以及多个quantile(分位数)。
    • PromQL实例:假设我们有一个请求耗时的Summary类型指标http_request_duration_seconds,我们想要查询95%分位数的请求耗时:
    promql`http_request_duration_seconds{quantile="0.95"}`
    

需要注意的是,以上PromQL实例仅供参考,实际使用时需要根据具体的指标名称、标签和查询需求进行调整。同时,由于Prometheus查询语言的复杂性和多样性,还有很多其他的查询方式和技巧可以探索和学习。

posted on 2024-03-11 22:07  dashery  阅读(267)  评论(0编辑  收藏  举报