向Google流利的添加自定义插件

问题描述

我需要捕获给定进程的文件描述符。这与collected的processs插件的功能类似,但是需要在流利的,谷歌流利的特定轨道上实现。

我已经在/ etc / google-fluentd / plugin目录下添加了我的插件,但是没有运气,它没有被注册。我什至已经搬到/opt/google-fluentd/embedded/lib/ruby/gems/2.6.0/gems/fluentd-1.7.4/lib/fluent/plugin下,但还是没有运气。出于绝望,我还尝试将in_tail.rb重命名为in_tail2.rb,并且tail插件不见了。

2020-08-14 18:28:16 -0700 [error]: fluent/log.rb:362:error: config error file="/etc/google-fluentd/google-fluentd.conf" error_class=Fluent::ConfigError error="Unknown input plugin 'tail'. Run 'gem search -rd fluent-plugin' to find plugins"

告诉我,还有其他地方必须提到插件。认为我只可以在/ etc / google-fluentd / plugin下编写一个文件插件是否太天真?

解决方法

经过数小时的反复调用之后,我试图弄清楚为什么以及为什么需要顺畅加载的插件背后的逻辑。

@type必须匹配注册调用和文件名!

我曾经用过

@type fc_count

我的文件名是 /etc/google-fluentd/in_fd.rb 与

 Fluent::Plugin.register_input('fd_count',self)

尽管类型和注册匹配,但Fluent在加载配置时无法匹配plugin / in_fd.rb的文件路径。基本上,如果您不使用插件,它将不会加载它,并且它通过配置来确定它的方式。这就是为什么当我重命名现有输入插件时不再找到它的原因。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...