【云平台监控】Prometheus PromQL

Prometheus PromQL

  • PromQL 是一种为时间序列数据设计的表达式语言,能够灵活地从监控指标数据中筛选、聚合、计算和提取信息。

PromQL 基本语法

  • 指标名称和标签选择器

    • 指标名称指向特定类型的数据,标签选择器用于筛选符合条件的数据子集。
    • 示例:prometheus_http_requests_total{code="200", handler="/targets"} 获取状态码为 200 且访问 /targets 的 HTTP 请求总数。
  • 时间范围选择

    • 通过指定时间范围(如 5m 表示过去 5 分钟)获取特定时间段内的数据。
  • 函数和操作符

    • 提供丰富的函数(如 sum()avg()rate() 等)和操作符(如 +-*/)用于数据聚合和计算。

数据类型与指标

  • 瞬时向量(Instant Vector):特定时间点上的一组数据样本。
  • 区间向量(Range Vector):一段时间范围内的数据样本。
  • 标量(Scalar):单个数值,通常作为函数计算结果返回。

样本数据格式

  • 每个时间序列数据样本由两部分组成:
    • 毫秒精度的时间戳
    • 浮点型的样本值
  • 示例:prometheus_http_requests_total{code="200", handler="/targets"} @1434317560885 28

时间序列操作

  • 瞬时向量选择器(Instant Vector Selectors)

    • 返回特定时间点上的样本数据。
    • 示例:prometheus_http_requests_total{code="200", handler="/targets"}
  • 区间向量选择器(Range Vector Selectors)

    • 返回一段时间范围内的样本数据。
    • 示例:prometheus_http_requests_total[5m]
  • 偏移向量选择器

    • 调整基准时间,使其往前偏移一段时间。
    • 示例:prometheus_http_requests_total offset 5m

PromQL 的指标类型

  • Counter:单调递增的计数器,适用于请求数、错误数等。

    • 常用函数:rate()irate()increase()
  • Gauge:可增可减的仪表盘,适用于内存使用率、CPU 使用率等。

    • 常用函数:delta()predict_linear()
  • Histogram:累积直方图,用于分析数据分布。

    • 常用函数:histogram_quantile()
  • Summary:直接存储百分位数的摘要,适用于延迟时间、响应大小等。

聚合操作

  • 内置聚合函数

    • sum()min()max()avg()、<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值