我创建了一个名为in_vCenterCrawler.rb的自定义插件,并将其添加到文件夹/ etc / td-agent / plugin中。在/etc/td-agent/td-agent.conf文件中我有:
<source>
@type vCenterCrawler #Also tried with in_vCenterCrawler
port ****
host '**.*.***.***'
vCenterPort ***
user "****"
password "****"
</source>
当我运行命令&#39; -d-agent&#39;我收到错误:
config error file="/etc/td-agent/td-agent.conf" error="Unknown input plugin 'vCenterCrawler'. Run 'gem search -rd fluent-plugin' to find plugins
如果我运行&#39; gem search -rd fluent-plugin&#39;我明白了:
The program 'gem' can be found in the following packages:
* ruby
* rubygems
但在找到https://docs.fluentd.org/v0.12/articles/plugin-management中的信息后,我认为我需要将我的插件转换为gem,所以我执行了命令&#34; td-agent-gem install vCenterCrawler&#34;我得到了:
ERROR: Could not find a valid gem 'vCenterCrawler' (>= 0) in any repository
此时我很困惑,我不知道这是一个错误还是我错过了什么。我使用td-agent 0.12.40。
感谢您的帮助。
答案 0 :(得分:0)
我发现了什么问题。
在配置文件中,类型名称应该是插件中定义的名称,而不是插件文件本身。
在我的插件中,我有:
module Fluent
class VCenterCrawlerInput < Input
# First, register the plugin with the name vCenterCrawler
Fluent::Plugin.register_input('vcentercrawler', self)
...
这意味着我将插件名称注册为vcentercrawler。我使用了:
@type vcentercrawler
它有效!