nagiosでフリーな監視をしてみよう!~nagiosの設定(9)~
監視対象の状態を監視する設定(postgresqlのチェック)
データベースサーバ(postgresql)の監視設定を見ていきます。
すでに、データベースサーバ(postgresql)は構築されえいるものとします。
使用するコマンドは、「check_postgresql」を使用します。
設定例として、postgresqlにnagiosユーザーで接続でき、レスポンスが2秒以上であれば「WARNING」、5秒以上であれば「CRITICAL」とします。
(1)監視対象側にて、監視に必要なpostgresql-develをインストールします。
# yum -y install postgresql-devel
(2)nagios-pluginを再コンパイルして、postgresql用のコマンドをインストールします。
※「nagios-plugin」のソースコードをダウンロードした場所は「/usr/local/src」とします。
# cd /usr/local/src/nagios-plugin-2.0.3 # ./configure --with-pgsql=/usr && make && make install
(3)createuserコマンドで、接続用のnagiosユーザーを作成します。
※postgresユーザーでログインしていること。
-bash-4.1$ createuser -A -d nagios 新しいロールにロールを作成する権限を与えますか? (y/n)y
(4)createdbコマンドで、接続用のデータベースcheckDBを作成し、パスワードを設定します。
※nagiosユーザーをあらかじめ作成し、nagiosユーザーでログインしていること。
-bash-4.1$ createdb -U nagios checkDB -bash-4.1$ psql checkDB psql (8.4.20) "help" でヘルプを表示します. checkDB=> ALTER USER nagios WITH PASSWORD 'nagios'; ALTER ROLE
(5)「nrpe.cfg」ファイルの設定を変更します。
・「/usr/local/nagios/etc/nrpe.cfg」ファイル変更後の内容
command[check_load]=/usr/local/nagios/libexec/check_load -w 2.0,2.0,2.0 -c 4.0,4.0,4.0 command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5% -p / command[check_mem]=/usr/local/nagios/libexec/check_mem.pl -f -w 1.5 -c 1 command[check_users]=/usr/local/nagios/libexec/check_users -w 3 -c 5 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 30 -c 20 command[check_z_procs]=/usr/local/nagios/libexec/check_procs -s Z -w 2 -c 4 command[check_http]=/usr/local/nagios/libexec/check_http -H 192.168.100.75 -u /index.html -w 3 -c 6 command[check_disk_smb]=/usr/local/nagios/libexec/check_disk_smb -H nagios2 -s public -u centos -p centos -w 80% -c 90% command[check_smtp]=/usr/local/nagios/libexec/check_smtp -H 192.168.100.75 -w 3 -c 5 command[check_ftp]=/usr/local/nagios/libexec/check_ftp -H 192.168.100.75 -w 3 -c 5 command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H localhost -u nagios -p nagios command[check_pgsql]=/usr/local/nagios/libexec/check_pgsql -H localhost -d checkDB -l nagios -p 'nagios' -w 2 -c 5
(6)「nagios2.cfg」ファイルの設定を変更します。
・「nagios2.cfg」ファイル変更後の内容
define service{ use generic-service host_name nagios2 service_description Check PostgreSQL check_command check_nrpe!check_pgsql }
(6)監視サーバ側にて、設定を反映します。
# service nagios reload
(7)「http://(サーバのIP)/nagios/」を開いて、左側の「現在の状態(Current Status)」-「サービス(services)」をクリックし、しばらくすると、「正常(OK)」となります。
(8)サービスグループにも表示させるために、「servicegroup.cfg」ファイルの設定を変更します。
# vi /usr/local/nagios/etc/objects/servicegroup.cfg
・「servicegroup.cfg」ファイル変更後の内容
define servicegroup{ servicegroup_name [CHECK] Check PostgreSQL alias PostgreSQL Services members nagios2,Check PostgreSQL }
(9)監視サーバ側にて、設定を反映します。
# service nagios reload
(10)「http://(サーバのIP)/nagios/」を開いて、左側の「現在の状態(Current Status)」-「サービスグループ(service group)」をクリックし、しばらくすると、「PostgreSQL Services ([CHECK] Check PostgreSQL)」が表示されます。