fluentd

前提条件 [#s2300a26]

 OSはCentOS6系
 fluentdのインストールが完了している状態

事前準備1:プラグインのインストール [#cfa762df]

事前に下記プラグインをクライントへインストールしておく必要があります。

 # td-agent-gem install fluent-plugin-multi-format-parser

事前準備2:td-agentが読み取れるようにログローテーションを設定する [#qc684cca]

 # cd /etc/logrotate.d/
 # vim maillog
 ---
 postrotate
    chmod 644 /var/log/maillog     <--追記
 endscript
 ---
 # cd /var/log
 # chmod 644 maillog

クライアント [#v462a17e]

 # cd /etc/td-agent
 # cp -p td-agent.conf td-agent.conf.`date +%Y%m%d`
 # vim /etc/td-agent/td-agent.conf
 ---
 <source>
 type tail
 path /var/log/maillog
 pos_file /var/log/td-agent/maillog.pos
 tag maillog
 format multi_format
 
  <pattern>
    format /^(?<time>[^ ]* [^ ]* [^ ]*) (?<host>[^ ]+) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?[^\:]*\: (?<key>[^:]+): ?((to|from)=(<(?<address>[^>]+)>)?)?,( ?(orig_to=<(?<orig_to>[^>]+)>),)? ?(relay=(?<relay>[^ ]+)), ?(delay=(?<delay>[^ ]+)), ?(delays=(?<delays>[^ ]+)), ?(dsn=(?<dsn>[^ ]+)), ?(status=(?<status>[^,]+))/
    time_format %b %d %H:%M:%S
  </pattern>
  <pattern>
    format /^(?<time>[^ ]* [^ ]* [^ ]*) (?<host>[^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?[^\:]*\: *(?<message>.*)$/
    time_format %b %d %H:%M:%S
  </pattern>
  <pattern>
    format none
  </pattern>
 </source>
 
 <match maillog>
 type forward
 
 <server>
  host 転送先サーバーのIPアドレス
 </server>
 
 </match>
 ---
 # /etc/init.d/td-agent configtest
 Starting td-agent:                                         [  OK  ]
 # cd /var/log/td-agent/
 # cat td-agent.log
 末尾に指定したログが「following」になっていることを確認
 

転送先サーバー [#l96c1162]

 # cd /etc/td-agent
 # cp -p td-agent.conf td-agent.conf.`date +%Y%m%d`
 # vim /etc/td-agent/td-agent.conf
 ---
 <source>
  type forward
 </source>
 
 <match maillog>
  type copy
 <store>
  type file
  path ここにログを保存するパスを記載する
  compress gzip
  </store>
 </match>
 ---
 # /etc/init.d/td-agent configtest
 # /etc/init.d/td-agent restart
 # cd 保存先パスへ
 # ls -l でチェックしてみる