pacemaker-pygui

Pacemaker/Heartbeatで、リソース障害などが発生したときに SNMPTrap を送信するために pacemaker-pygui をインストールしたときのメモ

ビルドに必要なものをインストール

yum --enablerepo=clusterlabs install pacemaker-libs-devel

yum install autoconf automake libtool intltool libxml2-devel \
gettext-devel openssl-devel ncurses-devel pam-devel \
net-snmp-devel glib2-devel gnutls-devel python-devel swig

ソースのダウンロード・コンパイル・インストール

cd /usr/local/src/
wget http://hg.clusterlabs.org/pacemaker/pygui/archive/18332eae086e.tar.bz2
mv 18332eae086e.tar.bz2 pacemaker-pygui-2.0.0.tar.bz2
tar xjvf pacemaker-pygui-2.0.0.tar.bz2
cd Pacemaker-Python-GUI-18332eae086e
./bootstrap --enable-snmp-subagent
make
make install

heartbeatの設定ファイルに追記する

vi /etc/ha.d/ha.cf

respawn root /usr/lib64/heartbeat/hbagent
respawn root /usr/lib64/heartbeat/mgmtd -v
apiauth mgmtd uid=root

snmpdの設定

vi /etc/snmp/snmpd.conf

trap2sink 192.168.1.123 hogehoge <span class="deco" style="color:#FF0000;">←トラップの宛先とコミュニティ名</span>
master agentx

反映

/etc/init.d/snmpd reload
/etc/init.d/heartbeat reload

トラップを受けるサーバへMIBファイルを転送

scp /usr/share/snmp/mibs/LINUX-HA-MIB.txt 192.168.1.123:/usr/share/snmp/mibs/


以下のように crm_mon を起動することでトラップを送信することもできそうですが・・・この方法だとコミュニティ名が指定できず、さらにリソース障害しか通知されないようでした(ノード障害やリンク障害が通知されない)

crm_mon --daemonize --snmp-traps snmptrapd.example.com