Как настроить входной плагин fluentd http для прослушивания работающего веб-сервера? - PullRequest
0 голосов
/ 21 февраля 2019

Допустим, у меня есть среда, содержащая следующее:

  • Веб-сервер NodeJS, работающий на порту 9876
  • , агент td-агента пересылки журналов уже установлен

Я бы хотел отправить сообщения HTTP POST, полученные веб-сервером NodeJS, на fluentd (log-aggregator) без изменения самого веб-сервера.

Я попытался настроить файл конфигурации log-forwarder td-agent(/etc/td-agent/td-agent.conf) примерно так:

<source>
  @type http
  tag app.httplogs
  port 9876
  bind 0.0.0.0
  body_size_limit 50m
  keepalive_timeout 10s
</source>

<match *.*>
  @type forward
  @id forward_http
  heartbeat_type tcp
  <server>
    host (ip address of fluentd log-aggregator)
  </server>
</match>

Затем я выполнил следующую команду:

sudo /etc/init.d/td-agent start

В результате EADDRINUSE: адрес уже используется ошибка

2019-02-21 14:35:14 +0900 [error]: unexpected error error_class=Errno::EADDRINUSE error=#<Errno::EADDRINUSE: Address already in use - bind(2) for "0.0.0.0" port 9876>
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/plugin/in_http.rb:104:in `initialize'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/plugin/in_http.rb:104:in `new'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/plugin/in_http.rb:104:in `start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/root_agent.rb:115:in `block in start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/root_agent.rb:114:in `each'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/root_agent.rb:114:in `start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/engine.rb:237:in `start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/engine.rb:187:in `run'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:570:in `run_engine'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:162:in `block in start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:366:in `main_process'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:339:in `block in supervise'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:338:in `fork'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:338:in `supervise'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/supervisor.rb:156:in `start'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/lib/fluent/command/fluentd.rb:173:in `<top (required)>'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/lib/ruby/gems/2.5.0/gems/fluentd-0.12.43/bin/fluentd:8:in `<top (required)>'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/bin/fluentd:23:in `load'
  2019-02-21 14:35:14 +0900 [error]: /opt/td-agent/embedded/bin/fluentd:23:in `<top (required)>'
  2019-02-21 14:35:14 +0900 [error]: /usr/sbin/td-agent:7:in `load'
  2019-02-21 14:35:14 +0900 [error]: /usr/sbin/td-agent:7:in `<main>'
2019-02-21 14:35:14 +0900 [info]: shutting down fluentd
2019-02-21 14:35:14 +0900 [info]: shutting down output type="forward" plugin_id="forward_http"
2019-02-21 14:35:15 +0900 [info]: process finished code=0

Разве невозможно использовать http-плагин Fluentd вместе (т.е. в одной среде) с веб-сервером?

...