【问题标题】:Include filename as tag when importing csv files into influxdb using telegraph使用电报将 csv 文件导入 influxdb 时包含文件名作为标签
【发布时间】:2019-10-17 07:52:23
【问题描述】:

我是 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 Parser 文档 (https://github.com/influxdata/telegraf/tree/master/plugins/parsers/csv) 都不是。

【问题讨论】:

    标签: file csv influxdb telegraf


    【解决方案1】:

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

    作为一种可能的解决方法,您可以为每个文件添加一个静态标签。这将要求每个文件在电报配置文件中都有自己的输入部分。这是一个使用测试 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。这可以使用以下方法在较新版本的电报中启用:

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

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

    【讨论】:

    • 谢谢 NikNye,我意识到它不被支持,我终于在生成 csv 文件时将文件名作为附加列包含在内。我会要求一个功能请求,因为我认为它在其他无法控制文件生成的场景中很有用。
    • @AlvaroMarco 我也认为这将是一个非常有用的功能。我一直在为 telegraf 项目做出贡献,并将关注您的请求以进行更改。
    猜你喜欢
    • 2015-03-05
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2015-09-03
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多