Prometheus常用函数
Prometheus 提供了多种函数,以帮助用户在 PromQL(Prometheus Query Language)中进行数据查询和分析。以下是一些常用的 Prometheus 函数:
1. rate()
- 描述:计算一个计数器在指定时间窗口内的平均增长率。
- 用法:
rate(metric_name[5m])
,表示在过去 5 分钟内的增长率。
2. irate()
- 描述:计算一个计数器在最近两次采样之间的瞬时增长率。
- 用法:
irate(metric_name[5m])
,适合监控瞬时变化。
3. increase()
- 描述:计算一个计数器在指定时间窗口内的总增长量。
- 用法:
increase(metric_name[5m])
,表示在过去 5 分钟内的增长量。
4. sum()
- 描述:对一组时间序列的值进行求和。
- 用法:
sum(metric_name)
,可以与by()
或without()
结合使用,进行分组。
5. avg()
- 描述:计算一组时间序列的平均值。
- 用法:
avg(metric_name)
,同样可以与分组参数结合使用。
6. min() 和 max()
- 描述:分别计算一组时间序列的最小值和最大值。
- 用法:
min(metric_name)
和max(metric_name)
,可以用于获取特定指标的极值。
7. count()
- 描述:计算一组时间序列的数量。
- 用法:
count(metric_name)
,可以用于统计符合条件的时间序列数量。
8. stddev() 和 stdvar()
- 描述:计算一组时间序列的标准差和方差。
- 用法:
stddev(metric_name)
和stdvar(metric_name)
,用于分析数据的离散程度。
9. histogram_quantile()
- 描述:从直方图数据中计算指定百分位数的值。
- 用法:
histogram_quantile(0.95, rate(histogram_metric_name_bucket[5m]))
,表示计算过去 5 分钟内的 95% 百分位数。
10. label_replace()
- 描述:用于根据现有标签创建新的标签。
- 用法:
label_replace(metric_name, "new_label", "replacement", "source_label", "regex")
,用于重命名或修改标签。
总结
这些函数帮助用户进行复杂的查询、聚合和数据分析,使得 Prometheus 成为一个强大的监控工具。通过灵活运用这些函数,可以轻松获取有价值的监控数据。