使用 Telegraf 将 InfluxDB2 指标发送到不同的存储桶

使用 Telegraf 将 InfluxDB2 指标发送到不同的存储桶

我想将不同的指标放入不同的存储桶中。在我的存储桶中Websites,我想放入 HTTP 响应指标。

我的配置文件如下所示/etc/telegraf/telegraf.d/httpmetrics.conf

[[inputs.http_response]]
  ## List of urls to query.
  urls = [
          "https://example.com
        ]

  ## Set response_timeout (default 5 seconds)
  response_timeout = "5s"

  ## HTTP Request Method
  method = "GET"

  ## Whether to follow redirects from the server (defaults to false)
  follow_redirects = true
  
  ## Interface to use when dialing an address
  interface = "eth0"

[[outputs.influxdb_v2]]
  urls = ["http://127.0.0.1:8086"]
  token = "xxx"
  organization = "my Company"
  bucket = "websites"
  timeout = "5s"
  user_agent = "telegraf"
  content_encoding = "gzip"

现在我的问题是我的指标出现在全部桶。我做错了什么?

答案1

通过这种配置,Telegraf 不知道应该避免将某些输入写入可用的输出,即默认情况下,所有输入都写入所有输出。

有多种方法可以拆分measurementsbuckets其中一种方法是在中input为测量设置一个唯一的名称,例如name_override = "httpcheck",然后声明output仅考虑这样的测量namepass = ["httpcheck"]

您可以在以下网站了解更多信息InfluxDB 文档

答案2

Telegraf 安装的最低配置至少是一个input和一个output插件。

为了使输入插件[[inputs.http_response]]值最终进入正确的存储桶/数据库,输出插件需要知道将数据路由到哪里。

将以下行添加到我的输出插件后,它可以按预期工作。

namepass = ["http_response"]

相关内容