如何从流利的记录器中的文件中获取数据

How to get data from a file in fluentd logger

我有一个 python 代码 运行 作为后台服务。它生成一个 data.json 文件,其中包含一个 json 数据,如下所示

{
   "Type":"Data"
   "Name":"XYZ"
   "Level":32
}

此数据每 120 秒更新一次。所以每隔 120 秒,data.json 中的标签就会有新的值。我希望通过 fluentd logger 的输入插件读取此信息,但不确定在此处使用哪个插件。我不能使用 tail,因为我没有将任何内容添加到此文件中。任何人都可以建议或推荐给我好的 links/tutorials.

谢谢

我认为适合您的用例的最佳解决方案是使用 exec plugin .
您可以使用此插件编写脚本,将相关密钥打印到 stdout 并由 fluentd 收集。这对你有用吗?

示例 -

<source>
  @type exec
  command node json_parser.js
  run_interval 120s
</source>

然后您可以在 json_parser.js 中编写用于解析 json 的整个逻辑,并使用 console.log 语句打印您希望 fluentd 提取的值。