Nagiosのインストール
概要:サーバーの状態を統合監視システムNagios(ナギオス)によりブラウザで監視する。Nagiosは、オープンソースのコンピュータシステムおよびネットワークの監視のためのアプリケーションソフトウェアである。 1. Nagiosインストール # yum -y install gd-devel ← Nagiosに必要なgd-develをインストール Transaction Summary ========================================================================================== Install 12 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 2.2 M Downloading Packages: (1/12): libXdmcp-devel-1.0.1-2.1.i386.rpm | 7.5 kB 00:00 (2/12): libXau-devel-1.0.1-3.1.i386.rpm | 11 kB 00:00 (3/12): libXpm-devel-3.5.5-3.i386.rpm | 31 kB 00:00 (4/12): gd-devel-2.0.33-9.4.el5_4.2.i386.rpm | 97 kB 00:00 (5/12): libjpeg-devel-6b-37.i386.rpm | 105 kB 00:00 (6/12): freetype-devel-2.2.1-21.el5_3.i386.rpm | 146 kB 00:00 (7/12): gd-2.0.33-9.4.el5_4.2.i386.rpm | 154 kB 00:00 (8/12): fontconfig-devel-2.4.1-7.el5.i386.rpm | 168 kB 00:00 (9/12): libpng-devel-1.2.10-7.1.el5_3.2.i386.rpm | 181 kB 00:00 (10/12): xorg-x11-proto-devel-7.1-13.el5.i386.rpm | 247 kB 00:00 (11/12): mesa-libGL-devel-6.5.1-7.7.el5.i386.rpm | 466 kB 00:00 (12/12): libX11-devel-1.0.3-11.el5.i386.rpm | 661 kB 00:00 ------------------------------------------------------------------------------------------ Total 201 kB/s | 2.2 MB 00:11 # useradd -d /usr/local/nagios/ -M nagios ← nagiosユーザー作成 # chmod 750 /usr/local/nagios ← グループの権限がないとhttpdでPermission Denyが発生する。 # cd /tmp/work # wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-3.1.0.tar.gz ← Nagiosダウンロード ※最新版はダウンロードページ[ http://sourceforge.net/projects/nagios/files/nagios-3.x/ ] で確認すること。 # tar zxvf nagios-3.1.0.tar.gz ← Nagios展開 # cd nagios-3.0.1 ← Nagios展開先ディレクトリへ移動 # wget http://jaist.dl.sourceforge.jp/nagios-jp/38828/nagios-3.1.0-ja-utf8.patch.gz ← Nagios日本語化パッチダウンロード ※最新版はダウンロードページ[ http://sourceforge.jp/projects/nagios-jp/ ] で確認すること。 # gzip -dc nagios-3.1.0-ja-utf8.patch.gz |patch -p0 ← Nagios日本語化パッチ施行 # ./configure && make all && make fullinstall && make install-config ← Nagiosインストール 2. さざなみフォントインストール # cd /tmp/work # wget http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2 ← さざなみフォントダウンロード ※最新版のURLはダウンロードページ[ http://sourceforge.jp/projects/efont/releases/#10087 ] で確認すること # tar jxvf sazanami-20040629.tar.bz2 ← さざなみフォント展開 # mkdir /usr/local/nagios/etc/font ← フォント格納先ディレクトリ作成 # cp -p sazanami-20040629/sazanami-gothic.ttf /usr/local/nagios/etc/font/font.ttf ← さざなみフォントをフォント格納先ディレクトリへコピー # chown nagios.nagios /usr/local/nagios/etc/font/font.ttf # rm -rf sazanami-20040629 ← さざなみフォント展開先ディレクトリを削除 # rm -f sazanami-20040629.tar.bz2 ← ダウンロードしたファイルを削除 3. Nagiosプラグインインストール # cd /tmp/work # yum -y install mysql-devel ← mysql-develインストール※MySQLの監視を行なう場合のみ # wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz ← Nagiosプラグインダウンロード ※最新版はダウンロードページ[ http://sourceforge.net/projects/nagiosplug/files/nagiosplug/ ] で確認すること。 # tar zxvf nagios-plugins-1.4.14.tar.gz ← Nagiosプラグイン展開 # cd nagios-plugins-1.4.14 ← Nagiosプラグイン展開先ディレクトリへ移動 # ./configure && make && make install ← Nagiosプラグインインストール # cp -p contrib/check_mem.pl /usr/local/nagios/libexec/ ← メモリチェックプラグインインストール # vi /usr/local/nagios/libexec/check_mem.pl ← メモリチェックプラグイン修正 $command_line = `vmstat | tail -1 | awk '{print \$4,\$5}'`; ↓ $command_line = `free | head -3 | tail -1 | awk '{print \$3,\$4}'`; ← 変更 # chmod +x /usr/local/nagios/libexec/check_mem.pl ← メモリチェックプラグインへ実行権限付加 # cd ← Nagiosプラグイン展開先ディレクトリを抜ける 4. Nagios設定 # vi /usr/local/nagios/etc/nagios.cfg ← nagios.cfg編集
cfg_dir=/usr/local/nagios/etc/servers ← 行頭の#を削除してコメント解除(サーバー監視設定有効化) date_format=iso8601 ← 日付書式をYYYY-MM-DD HH:MM:SSにする # vi /usr/local/nagios/etc/cgi.cfg ← cgi.cfg編集
ttf_file=/usr/local/nagios/etc/font/font.ttf
← 行頭の#を削除してコメント解除(さざなみフォント有効化)
# mkdir /usr/local/nagios/etc/servers ← サーバー監視設定ファイル格納ディレクトリ作成 # vi /usr/local/nagios/etc/objects/contacts.cfg ← contacts.cfg編集 define contact{ contact_name nagios ; Short name of user ← 作成したユーザーに設定 use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email 管理者メールアドレス ← 管理者メールアドレスを指定 } define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagios ← 作成したユーザーを設定 } # vi /usr/local/nagios/etc/objects/localhost.cfg ← localhost.cfg編集
define service{ use local-service ; Name of service template to use host_name localhost service_description SSH check_command check_ssh notifications_enabled 1 ← 1を指定(SSH状態変化時に通知する) } define service{ use local-service ; Name of service template to use host_name localhost service_description HTTP check_command check_http notifications_enabled 1 ← 1を指定(HTTP状態変化時に通知する) } # vi /usr/local/nagios/etc/objects/commands.cfg ← commands.cfg編集
# 'notify-host-by-email' command definition define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFI CATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTP UT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE $ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ ← nkfコマンド追加(メール本文文字化け対処) } # 'notify-service-by-email' command definition define command{ command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFI CATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $ SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/ bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ ← nkfコマンド追加(メール本文文字化け対処) } 5. コンフィグファイルの整合性確認 # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios 3.1.0
Copyright (c) 1999-2009 Ethan Galstad (http://www.nagios.org)
Last Modified: 01-25-2009
License: GPL
Reading configuration data...
Read main config file okay...
:
:
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
← 最後にこれが表示されればOK。
6. Apache設定 # usermod -G nagios apache ← apacheユーザーをnagiosグループに所属させる # vi /etc/httpd/conf.d/nagios.conf ← Nagios用Apache設定ファイル編集 <Directory "/usr/local/nagios/sbin"> # SSLRequireSSL Options ExecCGI AllowOverride None Order allow,deny # Allow from all ← 行頭に#を追加してコメントアウト(すべてのアクセスを禁止) # Order deny,allow # Deny from all Allow from 127.0.0.1 ← 行頭の#を削除してコメント解除(自ホストからのアクセスを許可) Allow from 192.168.1.0/24 ← 追加(内部ネットワーク(例:192.168.1.0/24)からのアクセスを許可) AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> <Directory "/usr/local/nagios/share"> # SSLRequireSSL Options None AllowOverride None Order allow,deny # Allow from all ← 行頭に#を追加してコメントアウト(すべてのアクセスを禁止) # Order deny,allow # Deny from all Allow from 127.0.0.1 ← 行頭の#を削除してコメント解除(自ホストからのアクセスを許可) Allow from 192.168.1.0/24 ← 追加(内部ネットワーク(例:192.168.1.0/24)からのアクセスを許可) AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> # /etc/rc.d/init.d/httpd reload ← 設定再読込み httpd を再読み込み中: [ OK ] # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios ← Nagios管理ユーザー(nagiosadmin)作成 New password: ← 任意のパスワード応答※表示はされない Re-type new password: ← 任意のパスワード応答(確認)※表示はされない Adding password for user nagios 7. Nagios起動 # /etc/rc.d/init.d/nagios start ← Nagios起動 Starting nagios: done. # chkconfig --add nagios ← Nagios起動スクリプトをchkconfigへ追加 # chkconfig nagios on ← Nagios自動起動設定 # chkconfig --list nagios nagios 0:off 1:off 2:on 3:on 4:on 5:on 6:off 8. Nagios確認 9. 監視ホスト追加 # vi /usr/local/nagios/etc/servers/fedora.cfg ← ホスト名.cfg作成
define host{ use linux-server host_name fedora alias fedora address 192.168.1.20 } define service{ use generic-service host_name fedora service_description PING check_command check_ping!100.0,20%!500.0,60% } # /etc/rc.d/init.d/nagios restart ← Nagios再起動
Running configuration check...done
Stopping nagios: done.
Starting nagios: done.
10. 監視サービス追加(自ホスト編)
10. 監視サービス追加確認(自ホスト編) 11. Downtime Scheduling Utility導入 Downtime Scheduling Utilityダウンロードページ[http://sweetdeliah.com/nagios/downtime/]よりnagios_downをダウンロードしてサーバーへアップロードする。 # cd /tmp/work # wget http://sweetdeliah.com/nagios/downtime/nagios_down-0.2.tar.gz # tar zxvf nagios_down-0.2.tar.gz ← nagios_down展開 # cp -p nagios_down.php /usr/local/nagios/bin/ ← nagios_down.phpを所定のディレクトリへコピー # chown nagios.nagios /usr/local/nagios/bin/nagios_down.php # vi /usr/local/nagios/bin/nagios_down.php ← nagios_down.php編集 define(NAGIOSCMD, "/usr/local/groundwork/nagios/var/spool/nagios.cmd"); ↓ define(NAGIOSCMD, "/usr/local/nagios/var/rw/nagios.cmd"); ← nagios.cmdパス変更 # vi /etc/cron.d/nagios ← nagios_down用cron設定ファイル新規作成 01 00 * * * root /usr/bin/php /usr/local/nagios/bin/nagios_down.php -h localhost -s "Curr ent Load" -f -b "04:00" -e "06:00" -a "Nagios Admin" -c "Server Maintenance" ← 上記の例では毎日4:00~6:00はlocalhostのCPU負荷監視を行なわない。 Last-modified: 2014-03-11 (火) 01:59:57 (3697d)
|