使用 Prometheus Gauge 指标
使用 Flux 查询和转换存储在 InfluxDB 中的 Prometheus gauge 指标。
Gauge 是一种指标,表示可以任意上升和下降的单个数值。
Prometheus 数据中的 Gauge 指标示例
# HELP example_gauge_current Current number of items as example gauge metric
# TYPE example_gauge_current gauge
example_gauge_current 128
通常,Gauge 指标可以直接使用报告的值,无需任何额外的处理。
以下示例包括使用 prometheus.scrape()
从 InfluxDB OSS 2.x /metrics
端点 收集并存储在 InfluxDB 中的示例数据。
Prometheus 指标解析格式
查询结构取决于用于抓取 Prometheus 指标的 Prometheus 指标解析格式。 从下面选择适当的指标格式版本。
计算 Gauge 值的变化率
- 按
prometheus
measurement 和 counter 指标名称 字段过滤结果。 - 使用
derivative()
计算 Gauge 值之间的变化率。默认情况下,derivative()
返回每秒的变化率。使用unit
参数 自定义速率单位。要将负导数替换为 null 值,请将nonNegative
参数 设置为true
。
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "prometheus" and r._field == "go_goroutines")
|> derivative(nonNegative: true)


- 按 counter 指标名称 measurement 和
gauge
字段过滤结果。 - 使用
derivative()
计算 Gauge 值之间的变化率。默认情况下,derivative()
返回每秒的变化率。使用unit
参数 自定义速率单位。要将负导数替换为 null 值,请将nonNegative
参数 设置为true
。
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "go_goroutines" and r._field == "gauge")
|> derivative(nonNegative: true)


计算指定时间窗口内的平均变化率
按
prometheus
measurement 和 counter 指标名称 字段过滤结果。使用
aggregate.rate()
计算每个时间窗口的平均变化率。- 使用
every
参数 定义时间窗口间隔。 - 使用
unit
参数 自定义速率单位。默认情况下,aggregate.rate()
返回每秒 (1s
) 的变化率。 - 使用
groupColumns
参数 指定执行聚合时要分组的列。
- 使用
import "experimental/aggregate"
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "prometheus" and r._field == "go_goroutines")
|> aggregate.rate(every: 10s, unit: 1s)


按 counter 指标名称 measurement 和
gauge
字段过滤结果。使用
aggregate.rate()
计算每个时间窗口的平均变化率。- 使用
every
参数 定义时间窗口间隔。 - 使用
unit
参数 自定义速率单位。默认情况下,aggregate.rate()
返回每秒 (1s
) 的变化率。 - 使用
groupColumns
参数 指定执行聚合时要分组的列。
- 使用
import "experimental/aggregate"
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "go_goroutines" and r._field == "gauge")
|> aggregate.rate(every: 10s, unit: 1s)


此页面是否对您有帮助?
感谢您的反馈!