ngyuki
ngyuk****@gmail*****
2015年 6月 23日 (火) 16:31:30 JST
LinuxHA Japan の RHEL/CentOS 7 リポジトリの Pacemaker/Corosync で構築したクラスタで crm_mon コマンドを使ってリソース障害を snmptrap で通知しようとしています。 Pacemaker/Corosync は次の通りにセットアップしています。 http://qiita.com/ngyuki/items/3c652b1e746d85d130c7 crm コマンドでのリソース定義は次のようにしています。 primitive res1 ocf:pacemaker:Dummy \ op monitor interval="10" timeout="20" on-fail="restart" \ op start interval="0" timeout="20" \ op stop interval="0" timeout="20" primitive res2 ocf:pacemaker:Dummy \ op monitor interval="10" timeout="20" on-fail="restart" \ op start interval="0" timeout="20" \ op stop interval="0" timeout="20" primitive res3 ocf:pacemaker:Dummy \ op monitor interval="10" timeout="20" on-fail="restart" \ op start interval="0" timeout="20" \ op stop interval="0" timeout="20" group g_res res1 res2 res3 次のように snmptrapd をインストールし、 snmptrap がメールで転送されることは確認しています。 yum -y install net-snmp net-snmp-utils net-snmp-perl cat<<EOS> /etc/snmp/snmptrapd.conf disableAuthorization yes traphandle default /usr/bin/traptoemail root EOS cat <<EOS>/etc/snmp/snmp.conf mibs ALL EOS 次のように corosync-notifyd を用いて、 ノードの障害をトラップで通知することはできました。 cat <<EOS> /etc/sysconfig/corosync-notifyd OPTIONS="-s -m 127.0.0.1" EOS systemctl restart corosync-notifyd.service 続いて、crm_mon を次のように実行して、リソース障害を snmptrap で通知しようとしてみたのですが、 crm_mon --snmp-traps 127.0.0.1 --snmp-community public --daemonize res1 などのリソースを故障させてもトラップが送信されませんでした・・・ 同様に、以下のようにメール通知や外部コマンドの実行?も試してみましたが やはり通知させることができませんでした。 crm_mon --mail-to root --daemonize crm_mon --external-agent /tmp/agent.sh --daemonize 以前 Pacemaker/Heartbeat で同じことを試した時には上記の手順で出来たように思うのですが・・ この手順に誤りがある、あるいは、Pacemaker/Corosync だとなにか別の手順が必要なのでしょうか?