我需要捕获给定进程的文件描述符。这与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下编写一个文件插件是否太天真?
答案 0 :(得分:2)
经过数小时的反复调用之后,我试图弄清楚为什么以及为什么需要顺畅加载的插件背后的逻辑。
@type必须匹配注册调用和文件名!
我曾经用过
@type fc_count
我的文件名是 /etc/google-fluentd/in_fd.rb 与
Fluent::Plugin.register_input('fd_count', self)
尽管类型和注册匹配,但Fluent在加载配置时无法匹配plugin / in_fd.rb的文件路径。基本上,如果您不使用插件,它将不会加载它,并且它通过配置来确定它的方式。这就是为什么当我重命名现有输入插件时不再找到它的原因。