(O+P)ut

アウトプット



(O+P)ut

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

【fluetnd】ログの送付先をSyslog経由からtdagent経由に変更する

スポンサーリンク

やりたいこと

fluentdでのログ送付先をSyslogではなくtd-agentに変更したい。
尚、Syslogには経由ではログは送付できており同部分の設定ファイルは以下とする。。

<label @test>
  <match **>
    @type copy
    <store>
      @type remote_syslog
      host x.x.x.x
      port 514
      protocol tcp
...
    </store>
  </match>
</label>
環境情報
# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"

やり方

td-agentが動作しているサーバ側の設定ファイルを確認してポート番号(以下で言えば24224)を控えて

  <source>
    @type forward
    @id input_forward
    port 24224
    bind "0.0.0.0"
  </source>

match以下を下記のように変更をする。

   <label @test>
     <match **>
       @type forward
       <server>
         host "x.x.x.x"
         port 24224
       </server>
     </match>
   </label>

以下、補足です。

補足

同設定を変更後にコンテナログが生成されるとデフォルトの設定であれば/var/log/td-agent/td-agent.logに出力されるようになります。

基本はポート番号を変えてtypeをforwardにするだけでログが送付できますが、事前にtd-agentのインストールが必要となるのでsyslogで受ける経路と比較すると厄介です。

ちなみにfluentdの設定ファイルに誤りがあるとfluentd側のログにて以下のような警告が表示されるので

 [warn]: parameter 'protocol' in <server>
...
</server> is not used.

設定変更後は同ログの確認をオススメします。

以上です。