Агент Fluentd td не распознает пользовательский плагин. Неизвестный входной плагин

Я создал собственный плагин с именем 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>

Когда я запускаю команду «td-agent», я получаю сообщение об ошибке:

config error file="/etc/td-agent/td-agent.conf" error="Unknown input plugin 'vCenterCrawler'. Run 'gem search -rd fluent-plugin' to find plugins

Если я запускаю 'gem search -rd fluent-plugin', я получаю:

The program 'gem' can be found in the following packages:
* ruby
* rubygems

Но найдя информацию в https://docs.fluentd.org/v0.12/articles/plugin-management Я предположил, что мне нужно преобразовать мой плагин в гем, поэтому я выполнил команду «td-agent-gem install vCenterCrawler» и получил:

ERROR:  Could not find a valid gem 'vCenterCrawler' (>= 0) in any repository

На данный момент я в замешательстве, и я не знаю, является ли это ошибкой или я что-то упускаю. Я использую td-агент 0.12.40.

Спасибо за любую помощь.


person Daniel Serrão    schedule 13.12.2017    source источник


Ответы (1)


Я нашел в чем проблема.

В файле конфигурации имя типа должно быть тем, которое определено в плагине, а не в самом файле плагина.

В моем плагине у меня есть:

module Fluent
  class VCenterCrawlerInput < Input
  # First, register the plugin with the name vCenterCrawler
  Fluent::Plugin.register_input('vcentercrawler', self)
...

Это означает, что я зарегистрировал имя плагина как vcentercrawler. Я использовал:

@type vcentercrawler

и это сработало!

person Daniel Serrão    schedule 13.12.2017