文档文档

抓取 Prometheus 指标

使用 TelegrafInfluxDB 抓取器prometheus.scrape Flux 函数 从 HTTP 可访问的端点抓取 Prometheus 格式的指标,并将它们存储在 InfluxDB 中。

使用 Telegraf

要使用 Telegraf 从 HTTP 可访问的端点抓取 Prometheus 格式的指标并将它们写入 InfluxDB,请按照以下步骤操作

  1. Prometheus 输入插件 添加到您的 Telegraf 配置文件。
    1. 设置要从中抓取指标的 urls
    2. 设置 metric_version 配置选项以指定要使用的指标解析版本(建议使用版本 2
  2. InfluxDB v2 输出插件 添加到您的 Telegraf 配置文件,并将其配置为写入 InfluxDB。
telegraf.conf 示例
# ...

## Collect Prometheus formatted metrics
[[inputs.prometheus]]
  urls = ["http://example.com/metrics"]
  metric_version = 2

## Write Prometheus formatted metrics to InfluxDB
[[outputs.influxdb_v2]]
  urls = ["http://localhost:8086"]
  token = "$INFLUX_TOKEN"
  organization = "example-org"
  bucket = "example-bucket"

# ...

使用 InfluxDB 抓取器

InfluxDB 抓取器会自动以固定的时间间隔从 HTTP 可访问的端点抓取 Prometheus 格式的指标。有关设置 InfluxDB 抓取器的信息,请参阅使用 InfluxDB 抓取器抓取数据

使用 prometheus.scrape()

要使用 prometheus.scrape() Flux 函数 从 HTTP 可访问的端点抓取 Prometheus 格式的指标并将它们写入 InfluxDB,请在您的 Flux 脚本中执行以下操作

  1. 导入 experimental/prometheus
  2. 使用 prometheus.scrape() 并提供要从中抓取指标的 URL。
  3. 使用 to() 并指定要将抓取的指标写入的 InfluxDB 存储桶。
Flux 脚本示例
import "experimental/prometheus"

prometheus.scrape(url: "http://example.com/metrics")
    |> to(bucket: "example-bucket")
  1. (可选)要使用 Flux 以固定的时间间隔抓取 Prometheus 指标,请将您的 Flux 抓取脚本添加为 InfluxDB 任务

有关使用 prometheus.scrape() 抓取 Prometheus 格式的指标的信息,请参阅 使用 Flux 抓取 Prometheus 指标


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

现已正式发布

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最近数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 在 Core 的基础上构建,增加了高可用性、只读副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看