(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【fluetnd/tdagent】workersの変更によってマルチプロセスにする

スポンサーリンク

やりたいこと

以下のようにシングルプロセスで動いているfluentdプロセスをMulti Process Workersに変更する。

# ps aux 
td-agent   ... /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
td-agent   ... /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor
環境情報
  • Red Hat Enterprise Linux Server 7.9
  • fluentd 1.10

やり方

td-agent.confの

<system>
...
</system>

の中にworkers NUMという文言を入れてtd-agentを再起動する。

<system>
  workers 4
...
</system>

するとプロセスが以下のように変化している。

# ps aux 
td-agent   ... /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
td-agent   ... /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor
td-agent  ... /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor
td-agent   ... /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor 
td-agent  ... /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor

以下、補足です。

補足

workersは特に指定しないと1つのsupervisorプロセスと1つのworkerで起動しますが、明示的に記載するとその数だけworkerプロセスが並列に稼働します。

ちなみに同プロセスはsystemctlコマンドでも確認可能です。

# systemctl status td-agent.service
● td-agent.service - td-agent: Fluentd based data collector for Treasure Data
   Loaded: loaded (/usr/lib/systemd/system/td-agent.service; enabled; vendor preset: disabled)
...
 Main PID: 890 (fluentd)
   CGroup: /system.slice/td-agent.service
           ├─890 /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-...
           ├─895 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fl...
           ├─896 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fl...
           ├─899 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fl...
           └─900 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/td-agent/embedded/bin/fl...

以上です。