Плагин Fluentd установлен, но не работает - PullRequest
0 голосов
/ 19 июня 2020

Новичок в группе и новичок в fluentd. Последние 3 недели я изучал fluentd и мне удалось запустить работающий экземпляр fluentd-elasticsearch-kibana. Итак, конечно, я решил, что мне нужно сделать больше, и здесь я столкнулся с небольшой проблемой

Моя проблема:

Системные журналы Sonicwall плохие. Они заведомо плохие. Они не соответствуют стандартному формату. На самом деле они не следуют какому-либо единому формату, поэтому, если вы хотите получить индексы для всех вещей, для которых вам нужны индексы, вам необходимо создать несколько регулярных выражений. Я потратил немного времени на копание и обнаружил, что есть плагин под названием multi-format-parser, который делает именно это. Он принимает несколько форматов (или, в данном случае, несколько регулярных выражений) и выбирает первый, который соответствует. Итак, я устанавливаю плагин, обновляю свою конфигурацию, перезапускаю fluent-d и… ничего.

Итак, я проверяю конфигурацию, думая, что где-то допустил опечатку. Опечаток нет, поэтому я смотрю журнал fluentd и вижу:

2020-06-18 07:00:20 -0700 [error]: config error file = "/ etc / td-agent / td-agent.conf "error_class = Fluent :: ConfigError error =" Неизвестный плагин парсера 'multi_format'. Запустите 'gem search -rd fluent-plugin', чтобы найти плагины "

Что ж, странно, потому что:

root@ip-10-0-1-146: ~ # fluent-gem install fluent-plugin-multi-format-parser Успешно установлен fluent-plugin-multi-format-parser-1.0.0 Документация по синтаксическому анализу для fluent-plugin-multi -format-parser-1.0.0 Завершена установка документации для fluent-plugin-multi-format-parser через 0 секунд Установлен 1 гем

Может ли кто-нибудь подсказать мне, чего мне здесь не хватает? Насколько я понимаю, установка плагинов - это довольно простой процесс. Запустите команду, плагин установлен, и все готово к go. Этот, похоже, отличается тем, что я его установил, он говорит, что я его установил, но он не распознает его в конфигурации.

Спасибо

1 Ответ

1 голос
/ 20 июня 2020

Взгляните сюда: https://docs.fluentd.org/deployment/plugin-management#for -td-agent

Мы можем управлять Fluentd и его плагинами на основе Gemfile с помощью td-agent. Используйте следующий добавляемый файл /etc/systemd/system/td-agent.service.d/override.conf для td-agent 3.1.1:

[Service]
Environment='TD_AGENT_OPTIONS=--gemfile=/etc/td-agent/Gemfile --gem-path=/var/lib/td-agent/vendor/bundle'
ExecStart=
ExecStart=/opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid $TD_AGENT_OPTIONS

Мы также можем отредактируйте этот файл с помощью следующей команды:

$ sudo systemctl edit td-agent.service

И затем добавьте / etc / td-agent / Gemfile:

source "https://rubygems.org"
# You can use fixed version of Fluentd and its plugins
gem "fluentd", "1.2.1"
gem "fluent-plugin-elasticsearch", "2.4.0"
gem "fluent-plugin-kafka", "0.6.5"
gem "fluent-plugin-rewrite-tag-filter", "2.0.1"
gem "fluent-plugin-s3", "1.1.0"
gem "fluent-plugin-td", "1.0.0"
gem "fluent-plugin-td-monitoring", "0.2.3"
gem "fluent-plugin-webhdfs", "1.2.2"
# Add plugins you want to use
gem "fluent-plugin-geoip", "1.2.0"

И так для вашего плагин, вы должны добавить следующее в / etc / td-agent / Gemfile:

gem "fluent-plugin-multi-format-parser", "1.0.0"

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

...