先日のデータセンター障害によって、このデータセンター内に設置していた弊社のサーバー監視ツールも機能しなくなってしまいました。
そこで弊社のサーバー監視ツール”nagios”を分散設置することにしたのですが、勉強のためにも今回は自分でインストールにトライしてみました。
参考サイトはこちら、
統合監視システム構築(Nagios)
いくつかのサイトを参照しましたが、ここのサイトのやり方は、つまづくことなくすんなりとセットアップできました。
nagiosインストール
yum -y install gd-devel ← Nagiosに必要なgd-develをインストール
useradd -d /usr/local/nagios/ -M nagios ← nagiosユーザー作成
wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.0/nagios-3.2.0.tar.gz?use_mirror=jaist ← Nagiosダウンロード
tar zxvf nagios-3.2.0.tar.gz ← Nagios展開
cd nagios-3.2.0 ← Nagios展開先ディレクトリへ移動
wget wget “http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fnagios-jp%2F38828%2Fnagios-3.1.0-ja-utf8.patch.gz” ← Nagios日本語化パッチダウンロード
gzip -dc nagios-3.1.0-ja-utf8.patch.gz |patch -p0 ← Nagios日本語化パッチ施行
./configure && make all && make fullinstall && make install-config ← Nagiosインストール
cd ← Nagios展開先ディレクトリを抜ける
日本語フォントのインストール
wget http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2 ← さざなみフォントダウンロード
tar jxvf sazanami-20040629.tar.bz2 ← さざなみフォント展開
mkdir /usr/local/nagios/etc/font ← フォント格納先ディレクトリ作成
cp sazanami-20040629/sazanami-gothic.ttf /usr/local/nagios/etc/font/font.ttf ← さざなみフォントをフォント格納先ディレクトリへコピー
nagiosプラグインのインストール
yum -y install mysql-devel ← mysql-develインストール※MySQLの監視を行なう場合のみ
wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.14/nagios-plugins-1.4.14.tar.gz?use_mirror=jaist ← Nagiosプラグインダウンロード
tar zxvf nagios-plugins-1.4.14.tar.gz ← Nagiosプラグイン展開
cd nagios-plugins-1.4.14 ← Nagiosプラグイン展開先ディレクトリへ移動
./configure && make && make install ← Nagiosプラグインインストール
cp 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プラグイン展開先ディレクトリを抜ける
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 nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email 管理者メールアドレス ← 管理者メールアドレスを指定
}
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状態変化時に通知する)
}
Apacheの設定
usermod -G nagios apache ← apacheユーザーをnagiosグループに所属させる
vi /etc/httpd/conf.d/nagios.conf ← Nagios用Apache設定ファイル編集
# 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
# 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
/etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中: [ OK ]
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ← Nagios管理ユーザー(nagiosadmin)作成
New password: ← 任意のパスワード応答※表示はされない
Re-type new password: ← 任意のパスワード応答(確認)※表示はされない
Adding password for user nagiosadmin
nagios起動
/etc/rc.d/init.d/nagios start ← Nagios起動
Starting nagios: done.
chkconfig –add nagios ← Nagios起動スクリプトをchkconfigへ追加
chkconfig nagios on ← Nagios自動起動設定
一つずつ自分の「もの」にすることで、
お客様の声に応えていきたいと思います。