CentOS7にIcingaをインストールする

今回は、Nagiosベースの統合監視ツール『Icinga』をCentOS 7にインストールしてみる。

1.インストール

それでは、実際にインストールをしてみよう。
まず、以下のコマンドでSELinux/Firewalldの無効化、前提となるパッケージを導入する。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl disable firewalld
yum -y install wget httpd mod_ssl gd gd-devel mariadb-server php-mysql php-xmlrpc gcc mariadb libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql

パッケージ導入後、念のため一度再起動を行う。

reboot

再起動後、まずIcingaで使うユーザ・グループの作成を行う。

useradd icinga
groupadd icinga-cmd
usermod -a -G icinga-cmd icinga
usermod -a -G icinga-cmd apache

Icingaをダウンロード、コンパイルする。

cd /tmp/
wget http://downloads.sourceforge.net/project/icinga/icinga/1.10.1/icinga-1.10.1.tar.gz
tar -zxvf /tmp/icinga-1.10.1.tar.gz
cd /tmp/icinga-1.10.1
./configure --with-command-group=icinga-cmd --enable-idoutils
make all && make install && make install-init && make install-config && make install-commandmode && make install-webconf && make install-idoutils

これで、Icingaのインストールが出来た。

2.初期設定

Icingaを使うための初期設定を行う。
まずは、以下のコマンドでicingaで使うためのデータベースを作成する。
※ここではまだmysql_secure_installationを行っていないが、実運用をするならば必ず実施すること。

systemctl start mariadb.service
mysql -u root -e 'CREATE DATABASE icinga;GRANT USAGE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;FLUSH PRIVILEGES;'
mysql -u root icinga < /tmp/icinga-1.10.1/module/idoutils/db/mysql/mysql.sql

次に、Apache側で連携用のユーザパスワードを設定する。

htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

Nagios Pluginをインストールする。

cd /tmp
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
tar -zxvf /tmp/nagios-plugins-2.0.3.tar.gz
cd /tmp/nagios-plugins-2.0.3/
./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin --with-nagios-user=icinga --with-nagios-group=icinga
make && make install

Icingaのサービスを開始する。

cd /usr/local/icinga/etc/
mv idomod.cfg-sample idomod.cfg
mv ido2db.cfg-sample ido2db.cfg
cd modules/
mv idoutils.cfg-sample idoutils.cfg
/usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg
/etc/init.d/icinga start
/etc/init.d/ido2db start
chkconfig ido2db on
chkconfig icinga on
systemctl enable httpd.service
systemctl start httpd.service
systemctl enable mariadb.service

3.Webコンソールへ接続

それでは、Webコンソール(http://icingaを入れたサーバのIPアドレス/icinga)に接続してみよう。
接続時には、先ほど設定したベーシック認証のID/PW(icingaadmin/パスワード)が必要になる。

確かに、ぱっと見はNagiosよりもきれいかもしれないが、実際に使ってみないとなんとも言えないな。