file - 使用电报将 csv 文件导入 influxdb 时包含文件名作为标签
问题描述
我是 influxdb 的新手,我尝试使用电报代理和文件输入插件导入存储在几个 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)。
解决方案
文件插件目前不支持添加文件名标签的方法。标准化的源标签正在添加中,但尚未得到所有插件的支持。如果您希望将其添加到文件插件中,我建议您打开该项目的问题。
作为一种可能的解决方法,您可以为每个文件添加一个静态标签。这将要求每个文件在电报配置文件中都有自己的输入部分。这是一个使用测试 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"
更新
应您的要求添加了此功能。这可以使用以下命令在较新版本的电报中启用:
[[inputs.file]]
files = ["./plugins/inputs/file/dev/testfiles/json_a.log"]
data_format = "json"
file_tag = "filename"
的字符串值file_tag
设置将用于存储文件名的标记名称。
推荐阅读
- javascript - 是否可以同时使用 JavaScript 和 JQuery?
- kubernetes - kapacitor 中缺少数据库和测量值
- postgresql - Heroku烧瓶UndefinedTable关系不存在
- javascript - ReactJS - 似乎无法按所需顺序运行命令
- angular - 基于模板中的数值循环 mat-icon
- python - 当 pip 可以正常安装时,来自私有 pypi 的 pipenv “找不到满足要求的版本”
- php - 如何在 Angular 中显示 MySQL 数据
- java - 相互引用的静态变量初始化?
- c++ - 将 c 字符串传递给类函数(将其分配给类成员)
- linux - 用双循环重命名文件?