Citrix XenServer Host 5.6 にnrpeをインストールする

結構面倒です。

- CentOSのversionの確認
ssh
cat /etc/issue.net
結果
CentOS release 5.5 (Final)

これで、CentOS 5.5 だと判明

- こちらから、いくつかrpmパッケージをdownloadします。
http://vault.centos.org/5.5/os/i386/CentOS/

- そして、インストールします。
rpm -ivh --nodeps openssl-devel-0.9.8e-12.el5_4.6.i386.rpm krb5-devel-1.6.1-36.el5_4.1.i386.rpm zlib-devel-1.2.3-3.i386.rpm libselinux-devel-1.33.4-5.5.el5.i386.rpm keyutils-libs-devel-1.2-1.el5.i386.rpm e2fsprogs-devel-1.39-23.el5.i386.rpm libsepol-devel-1.15.2-3.el5.i386.rpm

- libssl.so.4がないとか言われるので、以下を実行
cd /usr/lib
ln -s libssl.so libssl.so.4
ln -s libcrypto.so libcrypto.so.4

- 事前に、nagiosのuserとgroupを作っておきます。
useradd -m nagios
passwd nagios
groupadd nagios
usermod -G nagios nagios

- nrpeのtar packageをdownloadして、どこかのCentOSマシンでmakeし、Xen Serverへscpします。
どこかのCentOSにて実行
useradd -m nagios
passwd nagios
usermod -G nagios nagios

tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --enable-command-args
make all
cd ..
tar zcvf nrpe-2.12-sumi.tar.gz nrpe-2.12

scpでnrpe-2.12-sumi.tar.gzを転送

- Xen Server上でnrpeのinit scriptをインストール
tar zxvf nrpe-2.12-sumi.tar.gz
cd nrpe-2.12
cp init-script /etc/init.d/nrpe
chmod 755 /etc/init.d/nrpe
chkconfig --add nrpe

- 再びどこかのCentOSにて環境作ってtarにする
cd nrpe-2.12
make install

tar xzf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
cd ..

tar zxvf check_logfiles-3.0.4.tar.gz
cd check_logfiles-3.0.4
./configure
make
make install
cd ..

tar にします。
cd /usr/local
tar zcvf nagios-xen.tar.gz nagios

scp にてXen Serverに nagios-xen.tar.gz を転送

- Xen Serverにて展開します。
cd /usr/local
tar zxvf nagios-xen.tar.gz

- 環境を整えます。
cd /usr/local/nagios/etc/
chown nagios:nagios nrpe.cfg check_logfiles_messages.cfg
vi /usr/local/nagios/etc/nrpe.cfg 以下を書き換え
allowed_hosts=
dont_blame_nrpe=1
command_prefix=/usr/bin/sudo <<<<<< /var/log/messages がrootでないと読めない…
これは追加
command[check_logfiles]=/usr/local/nagios/libexec/check_logfiles -f /usr/local/nagios/etc/check_logfiles_messages.cfg

vi /etc/sudoers 以下を追加
%nagios ALL=NOPASSWD:ALL
これをコメントアウト
#Defaults requiretty

vi /usr/local/nagios/etc/check_logfiles_messages.cfg 以下に変更

@searches = (
{
tag => 'system',
rotation => 'loglog0log1',
logfile => '/var/log/messages',
criticalpatterns => 'error',
},
);

/etc/rc.d/init.d/nrpe start

- nagios server側で、check_logfiles用のディレクトリを作成しておきます。
mkdir /tmp/check_logfiles/
chown nagios /tmp/check_logfiles

- nagios server側でテスト
/usr/local/nagios/libexec/check_nrpe -H -c check_load
こんなのが返ってくればOKです。
OK - load average: 1.19, 1.65, 1.60|load1=1.190;15.000;30.000;0; load5=1.650;10.000;25.000;0; load15=1.600;5.000;20.000;0;