文档文档

查找处理器插件

此插件允许使用一个或多个包含查找表的​​文件来注解传入的指标。查找是静态的,因为文件仅在启动时使用。其主要用例是为指标添加附加标签,例如,根据其来源。可以根据查找表文件添加多个标签。

可以使用 Golang 模板生成查找键,该模板可以访问指标名称({{.Name}})、标签值({{.Tag "mytag"}},其中 mytag 是标签名称)和字段值({{.Field "myfield"}},其中 myfield 是字段名称)。不存在的标签和字段将分别导致空字符串或 nil。如果找不到键,则指标将按原样传递。默认情况下,会添加所有匹配的标签,并覆盖现有的标签值。

该插件仅支持添加标签,因此所有映射的标签值都必须是字符串!

引入于: Telegraf v1.15.0 标签: annotation 操作系统支持: all

全局配置选项

插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md

配置

# Lookup a key derived from metrics in a static file
[[processors.lookup]]
  ## List of files containing the lookup-table
  files = ["path/to/lut.json", "path/to/another_lut.json"]

  ## Format of the lookup file(s)
  ## Available formats are:
  ##    json               -- JSON file with 'key: {tag-key: tag-value, ...}' mapping
  ##    csv_key_name_value -- CSV file with 'key,tag-key,tag-value,...,tag-key,tag-value' mapping
  ##    csv_key_values     -- CSV file with a header containing tag-names and
  ##                          rows with 'key,tag-value,...,tag-value' mappings
  # format = "json"

  ## Template for generating the lookup-key from the metric.
  ## This is a Golang template (see https://pkg.go.dev/text/template) to
  ## access the metric name (`{{.Name}}`), a tag value (`{{.Tag "name"}}`) or
  ## a field value (`{{.Field "name"}}`).
  key = '{{.Tag "host"}}'

文件格式

以下描述假定 key 是用于匹配配置的 key 的唯一标识符。tag-name/tag-value 对是在键匹配时添加到度量(metric)的标签。

json 格式

json 格式中,输入 files 必须具有以下格式

{
  "keyA": {
    "tag-name1": "tag-value1",
    ...
    "tag-nameN": "tag-valueN",
  },
  ...
  "keyZ": {
    "tag-name1": "tag-value1",
    ...
    "tag-nameM": "tag-valueM",
  }
}

请注意,所有元素仅支持字符串

csv_key_name_value 格式

csv_key_name_value 格式指定逗号分隔值文件,格式如下:

# Optional comments
keyA,tag-name1,tag-value1,...,tag-nameN,tag-valueN
keyB,tag-name1,tag-value1
...
keyZ,tag-name1,tag-value1,...,tag-nameM,tag-valueM

格式使用逗号 (,) 作为分隔符,并允许使用以井号 (#) 开头的行来定义注释。所有行可以包含不同的列数,但至少必须包含三列,并遵循名称/值对格式。不允许出现没有值的名称。

csv_key_values 格式

此设置指定逗号分隔值文件,格式如下:

# Optional comments
ignored,tag-name1,...,tag-valueN
keyA,tag-value1,...,,,,
keyB,tag-value1,,,,...,
...
keyZ,tag-value1,...,tag-valueM,...,

格式使用逗号 (,) 作为分隔符,并允许使用以井号 (#) 开头的行来定义注释。所有行必须包含相同数量的列。第一行非注释行必须包含一个指定标签名称的标题。由于第一列包含用于匹配的键,因此第一个标题值将被忽略。必须至少有两列。

请注意,空的标签值将被忽略,该标签也不会被添加。

示例

使用查找表

{
  "xyzzy-green": {
    "location": "eu-central",
    "rack": "C12-01"
  },
  "xyzzy-red": {
    "location": "us-west",
    "rack": "C01-42"
  },
}

format = "json"key = '{{.Name}}-{{.Tag "host"}}' 的情况下,您将获得

- xyzzy,host=green value=3.14 1502489900000000000
- xyzzy,host=red  value=2.71 1502499100000000000
+ xyzzy,host=green,location=eu-central,rack=C12-01 value=3.14 1502489900000000000
+ xyzzy,host=red,location=us-west,rack=C01-42 value=2.71 1502499100000000000
xyzzy,host=blue  value=6.62 1502499700000000000

使用 format = "csv_key_name_value" 也能获得相同的结果,并且

xyzzy-green,location,eu-central,rack,C12-01
xyzzy-red,location,us-west,rack,C01-42

或使用 format = "csv_key_values",并且

-,location,rack
xyzzy-green,eu-central,C12-01
xyzzy-red,us-west,C01-42

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2