2013年1月31日木曜日

"fluentd(td-agent)"を"monit"で自動復旧

スズキです。

以前Monitで、いろいろと監視(自動復旧)する設定をしたのですが、
CentOS6にMonitをインストール&初期設定(auditd/crond/ntpd/rsyslog/sshd/postfix)
今回は、近頃よく利用している"fluentd(td-agent)"の監視(自動復旧)を行う設定も
用意してみます。

まず、下記の設定ファイルを用意しました。
# cat /etc/monit.d/td-agent.conf 
check process td-agent with pidfile /var/run/td-agent/td-agent.pid
    start program = "/etc/init.d/td-agent start"
    stop program = "/etc/init.d/td-agent stop"
    if 5 restarts within 5 cycles then timeout

次に、Monitを再起動します。
# /etc/init.d/monit restart
Stopping monit:                                            [  OK  ]
Starting monit: Starting monit daemon with http interface at [localhost:2812]
                                                           [  OK  ]

さらに、"fluentd(td-agent)"を停止します。
# /etc/init.d/td-agent status
td-agent (pid  21886) を実行中...
# /etc/init.d/td-agent stop
Shutting down td-agent:                                    [  OK  ]
# /etc/init.d/td-agent status
td-agent は停止しています

そして、下記のようなログが出力されると自動復旧です。
# cat /var/log/messages
...
Jan 31 21:57:04 ip-10-10-8-114 monit[22211]: 'td-agent' process is not running
Jan 31 21:57:04 ip-10-10-8-114 monit[22211]: 'td-agent' trying to restart
Jan 31 21:57:04 ip-10-10-8-114 monit[22211]: 'td-agent' start: /etc/init.d/td-agent
...

最後に、無事に復旧していることを確認します。
# /etc/init.d/td-agent status
td-agent (pid  22335) を実行中...

"fluentd(td-agent)"はデフォルト起動サービスになってしまった...
--------
http://www.suz-lab.com

0 コメント: