Linux/CentOSでNagios
CentOSでNagios †
先にNagiosユーザを作成しておく。 †
# useradd nagios
GDをインストールしておく。 †
ステータスマップや、レポートを表示する為にはGDがインストールされている必要がある。
最新版
# yum install gd-devel
ダウンロード †
# wget http://jaist.dl.sourceforge.jp/nagios-jp/38828/nagios-3.1.0-ja-utf8.patch.gz
※日本語化して使用したい場合、日本語パッチのバージョンに合わせたNagiosソースをダウンロードします。
# wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-3.1.0.tar.gz
インストール †
# tar zxvf nagios-3.1.0.tar.gz # cd nagios-3.1.0 # gzip -dc ../nagios-3.1.0-ja-utf8.patch.gz |patch -p0 # ./configure --prefix=/home/nagios # make all # make install # make install-init # make install-commandmode # make install-config # chkconfig --add nagios
Nagios Pluginインストール †
# wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz # tar zxvf nagios-plugins-1.4.14.tar.gz # cd nagios-plugins-1.4.14 # ./configure --prefix=/home/nagios --enable-per-modules # make # make install
さざ波フォントインストール †
# wget http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2 # tar jxvf sazanami-20040629.tar.bz2 # mkdir /home/nagios/etc/font # cp sazanami-20040629/sazanami-gothic.ttf /home/nagios/etc/font/font.ttf
httpd.confの修正 †
ScriptAlias /nagios/cgi-bin/ /home/nagios/sbin/ <Directory "/home/nagios/sbin"> # SSLRequireSSL Options ExecCGI AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all AuthName "Nagios Access" AuthType Basic AuthUserFile /home/nagios/etc/.htpasswd Require valid-user </Directory> Alias /nagios/ /home/nagios/share/ <Directory "/home/nagios/share"> # SSLRequireSSL Options None AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all AuthName "Nagios Access" AuthType Basic AuthUserFile /home/nagios/etc/.htpasswd Require valid-user </Directory> AddDefaultCharset UTF-8
.htpasswd作成 †
# htpasswd -c /home/nagios/etc/.htpasswd nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
Apache再起動 †
# /sbin/service httpd restart
nagios.cfgの編集 †
# vi /home/nagios/etc/nagios.cfg ← nagios.cfg編集 cfg_dir=/home/nagios/etc/servers ← 行頭の#を削除(コメント解除) date_format=iso8601 ← 日付書式をYYYY-MM-DD HH:MM:SSにする
これで、「/home/nagios/etc/server」以下のファイルをインクルードするようになる。
Basic認証を行わない場合 †
# vi /home/nagios/etc/cgi.cfg use_authentication=1 ↓ use_authentication=0
※Basic認証でのログインユーザによって権限が決められており、デフォルトの監理ユーザは「nagiosadmin」です。
権限等を変更する場合は「/home/nagios/etc/cgi.cfg」を修正する。
# grep -n nagiosadmin cgi.cfg 119:authorized_for_system_information=nagiosadmin 131:authorized_for_configuration_information=nagiosadmin 144:authorized_for_system_commands=nagiosadmin 157:authorized_for_all_services=nagiosadmin 158:authorized_for_all_hosts=nagiosadmin 171:authorized_for_all_service_commands=nagiosadmin 172:authorized_for_all_host_commands=nagiosadmin
Nagios設定ファイルの例 †
# cat /home/nagios/etc/servers/service.cfg ################################################# # SERVICE # ################################################# define service{ use generic-service hostgroup_name test #host_name ma21.ath.cx service_description HTTP check_command check_http notifications_enabled 0 } define service{ use generic-service hostgroup_name test #host_name ma21.ath.cx check_command check_ssh notifications_enabled 0 } define service{ use generic-service hostgroup_name test #host_name ma21.ath.cx check_command check_smtp notifications_enabled 0 } # cat /home/nagios/servers/test.cfg ################################################# # HOST # ################################################# define host{ use linux-server host_name ma21.ath.cx alias CentOS address ma21.ath.cx contact_groups admins } define host{ use linux-server host_name test.ath.cx alias CentOS address test.ath.cx contact_groups admins } ################################################# # HOST GROUP # ################################################# define hostgroup{ hostgroup_name test alias under test members ma21.ath.cx,test.ath.cx }
Web上からnagiosのコマンドを実行できるようにするには。。。 †
こんなエラーでWeb上からコマンドが発行できない。
エラー: コマンドファイル'/home/nagios/var/rw/nagios.cmd'をアップデートできません。 外部コマンドファイルもしくは、ディレクトリのパーミッションに誤りがある可能性があります。パーミッションが適切かどうか確認してください。 コマンドを処理する際にエラーが発生しました。
手順 †
# /usr/sbin/groupadd nagiocmd # /usr/sbin/usermod -G nagioscmd nagios # /usr/sbin/usermod -G nagiocsmd apache # mkdir /home/nagios/var/rw # chmod nagios:nagioscmd /home/nagios/var/rw # chmod ug+rwx /home/nagios/rw # chmod g+s /home/nagios/rw
・Apache、Nagiosを再起動
# /sbin/service httpd restart # /sbin/service nagios restart
設定のチェックコマンド †
# /home/nagios/bin/nagios -v /home/nagios/etc/nagios.cfg
結果がこれなら正常です。
Total Warnings: 0 Total Errors: 0
Nagios終了ステータス †
•0:OK •1:WARNING •2:CRITICAL •3:UNKNOWN
3Dステータスマップを表示するにはVRMLブラウザというものが必要になります。 †
Cortonaなど
http://www.6996.jp/wiki/index.php?Nagios
nagios.cfgの日本語訳 †
http://www.on-sky.net/~hs/diary/images/nagios.cfg-sample.ja.txt