nagiosでフリーな監視をしてみよう!~nagiosの構築(1)~
nagiosでフリーな監視をしてみよう!~nagiosの構築(1)~
nagiosの特徴と動作環境
今回は、統合監視ソフトウェアである「nagios」について、説明していきます。
nagiosの特徴を大雑把にあげると、次のようになります。
[note]
・データベースは不要
⇒nagiosはデータベースを使用しないため、データ管理をすべてファイルベースで行っている。
※NDOUtilsというユーティリティを使用することで、データをMySQLに格納することも可能です。
・設定画面がない
⇒nagiosは、監視対象機器や監視内容を設定するための画面がないため、すべてファイルベースの設定ファイルを自身で記述する必要がある。
※設定をWeb画面から行うための「NagiosQL」というWebアプリケーションもあります。
[/note]
今回、動作環境としては、使用するのは、次のようになります。
[note]
OS
・CentOS : 6.5
アプリケーション
・nagios : 2.2.2
・apache : 2.4.10
・php : 5.4.34
・MySQL : 5.6.21
[/note]
nagiosは監視設定に従い、指定された時間や間隔で、指定されたホストなどの機器やアプリに対して、指定されたプラグインを実行するのみです。あとは、その実行されたプラグインが返した監視結果に沿って、「警告」や「異常」といった状態を保持したりなどするわけです。
標準プラグインは、主にC言語で記述されたバイナリプログラムとなっています。しかし、プラグインの仕様は簡単で、引数で受け取ったアドレスのホストに対して監視を行い、「警告」や「異常」といった状態情報をを戻り値として返し、その他の監視結果を標準出力に出力するのみです。そのため、Perlやシェルスクリプトなどのプログラムで簡単にプラグインを開発することも可能です。
では、実際に、nagiosの構築(インストール)を見ていきます。
事前準備/pacoのインストール
今回は、pacoを使ってソースコードからインストールしたソフトウェアを管理するツール「paco」を利用しようと思います。
pacoは、一言で言うと「ソースコードからインストールしたソフトウェアをパッケージっぽく管理してくれるツール」のことです。
pacoを使うと簡単にアンインストールしたり、インストールされたファイルの確認がしやすくなりますし、configure時に指定したオプションも覚えてくれるので、再度ビルドするときに便利です。
(1)必要パッケージのインストールを行います。
# yum -y install gcc gcc-c++ gtkmm24 gtkmm24-devel
(2)既存のapacheをアンインストールします。
# yum -y erase httpd
(3)「/usr/local/src」ディレクトリに移動し、wgetコマンドでソースコードをダウンロードします。
# cd /usr/local/src/ # wget http://downloads.sourceforge.net/project/paco/paco/2.0.9/paco-2.0.9.tar.gz
(4)ソースコードを解凍し、解凍したディレクトリに移動します。
# tar xfz paco-2.0.9.tar.gz # cd paco-2.0.9
(5)configureを実行します。
# ./configure
(6)makeとmake installを実行します。
# make && make install
(7)paco自身も管理対象とするために、「make logme」コマンドで管理対象とします。
# make logme
(8)共有ライブラリに「/usr/local/lib」を追加します。
# echo "/usr/local/lib" > /etc/ld.so.conf.d/paco.conf # ldconfig