使用电报将csv文件导入influxdb时,包括文件名作为标记

时间:2019-10-17 07:52:23

标签: file csv influxdb telegraf

我是influxdb的新手,我尝试使用telegraf代理和文件输入插件导入存储在多个CSV文件中的一些数据。我按照https://dzone.com/articles/write-points-from-csv-to-influxdb中的说明编写了一个简单的file.conf,并且能够将数据,测量值和所需的标签以及文件内的数据导入到influxdb中。

我想在文件名中包含一个附加标签,以便可以从特定文件中过滤测量值,但是在文件输入插件文档(https://github.com/influxdata/telegraf/tree/master/plugins/inputs/file中却找不到如何执行此操作的方法。 ),也没有CSV分析器文档(https://github.com/influxdata/telegraf/tree/master/plugins/parsers/csv)。

1 个答案:

答案 0 :(得分:0)

文件插件当前不支持添加文件名标签的方法。 process of being added中包含标准化的源代码,但并非所有插件都支持它。如果您希望看到它添加到文件插件中,建议您打开该项目的一个问题。

作为一种可能的解决方法,您可以为每个文件添加一个静态标签。这将要求每个文件在telegraf配置文件中都有其自己的输入部分。这是使用测试json日志文件的示例。

[[inputs.file]]
  files = ["./plugins/inputs/file/dev/testfiles/json_a.log"]
  data_format = "json"

  [inputs.file.tags]
    file = "file1"

[[inputs.file]]
  files = ["./plugins/inputs/file/dev/testfiles/json_a.log"]
  data_format = "json"

  [inputs.file.tags]
    file = "file2"

更新

此功能added是您的要求。可以使用以下方法在新版本的telegraf中启用该功能:

[[inputs.file]]
  files = ["./plugins/inputs/file/dev/testfiles/json_a.log"]
  data_format = "json"
  file_tag = "filename"

字符串值file_tag设置将用于存储文件名的标记名。

相关问题