もう少しfluentdをさわってみたわけで

前回に続いて、ログ収集ソフトのfluentdをいじろうと思います。せっかくなので、リモートホストのアクセスログの収集も検証してみよう。

インストールについては前回やったので割愛するけども、td-agentユーザが追加されたことでZabbixから/etc/passwd has been changedという警告が大量に届いたのだが、これは/etc/passwdのチェックサムが合わないときに発せられる警告らしい。

デフォルトのテンプレートを使ってるだけなんだけど、守られている感があってなかなかいいね。
でも警告のクリアのやり方が分からないので、zabbixserverをリロードして放置している。

では話を戻して、リモートのログ収集だけども、トランシーバーと同じく、送信側と受信側のどちらにも設定が必要なんだけど、confファイルの書き方は非常にシンプルにできていて、単一サーバーで使う時と同じように

source と match だけでいい。

試してみた結果の注意としては、matchの名前は分けて使うのが良いと思います。今回はテストという事で同じものを流用しましたが、訳がワカラナイログになってしまいます。

まず受信側

## Input
<source>
  type forward
  port 24224
  bind 0.0.0.0
</source>

## Input
<source>
  type tail
  path /var/log/httpd/access_log
  format apache2
  pos_file /var/log/td-agent/tmp/apache.access.log.pos
  tag apache.access
</source>


## Output
<match apache.access>
    type file
    path /var/log/td-agent/apache.access
    time_slice_format %Y%m%d
    time_format %Y%m%dT%H%M%S%z
</match>

なんということでしょう。

<source>
  type forward
  port 24224
  bind 0.0.0.0
</source>

前回のものに上の部分が追加されただけです。これだけで動くのだから、fluentdが如何に大規模用に作られたのかというのが分かるし、シンプルなものを作れる人はすごいな。

2点だけ要注意で、ファイルのパーミッションと、ファイアウォールは利用するポートはTCPとUDPともに開けないといけないようだ。

受信側はこんな感じでした。

続いて送信側。

送信側は意図的に受信側に似せているので(コピペともいうけど)、実際に使うにはちょと注意が必要かも。
だけど、うまく工夫して使えば、かなり使えるようには思える。

## Input
## 受信側と同じでもOKだね。
<source>
  type tail
  path /var/log/httpd/access_log
  format apache2
  pos_file /var/log/td-agent/tmp/apache.access.log.pos
  tag apache.access
</source>

## Output
<match apache.access> ##送信のディレクティブ
    type copy
    <store>  # <store>を使って分岐ができ、これはローカルにも残すような設定です。
        type file
        path /var/log/td-agent/apache.access
        time_slice_format %Y%m%d
        time_format %Y%m%dT%H%M%S%z
    </store>
    <store>  # こっちがログサーバーへ飛ばす記述。
    type forward
    send_timeout 60s
    recover_wait 10s
    heartbeat_interval 1s
    phi_threshold 8
    hard_timeout 60s
    <server>    # 送信先サーバーの情報を記述する。
    name hoge server   # ホスト名じゃなくてOKみたい。
    host ***.***.***.***
    port 24224
    </server>
    </store>
</match>

数台のログを1つにまとめられて便利だね。

こんな感じで、最初はちょっと手間取ったけど、かなりお手軽にログの集中管理ができるようになっているようでした。

なかなかおもしろいもんだね。

参考サイト

fluentdで始めるログ管理【フォワード設定まとめ】 | eXcale Developer’s Blog

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *