Nagiosによるローカルマシンの状態管理

本格的にサーバーを運用していく上で、出来る限り簡潔にサーバーやLAN内のマシンの状態を知りたいものである。

どれくらい負荷が掛かっているのか、何が原因なのか、ネットワークの状態etc...

それを実現するために、今日はNagiosをインストールした。


# yum -y install gd-devel gd-develのインストール

# useradd -d /usr/local/nagios/ -m nagios nagiosユーザーの追加

# wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.2.0/nagios-3.2.0.tar.gz/download
nagiosのダウンロード

# tar xzf nagios-3.2.0.tar.gz
# cd nagios-3.2.0
展開と移動

# wget http://jaist.dl.sourceforge.jp/nagios-jp/38828/nagios-3.1.0-ja-utf8.patch.gz
日本語化パッチのダウンロード

# gzip -dc nagios-3.1.0-ja-utf8.patch.gz | patch -p0
パッチの施行

# ./configure
# make all
# make fullinstall
# make install-config
インストール


さざなみフォントのインストール(一部の日本語表記のため)
# wget http://jaist.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2
# tar xjf sazanami-20040629.tar.bz2

フォント格納先ディレクトリの作成
# mkdir /usr/local/nagios/etc/font

フォントのコピー
# cp sazanami-20040629/sazanami-gothic.ttf /usr/local/nagios/etc/font/font.ttf



Nagiosの設定
# vi /usr/local/nagios/etc/nagios.cfg
:set number 行数表示
52 cfg_dir=/usr/local/nagios/etc/servers コメント解除

1087 date_format=iso8601 日付表示をYYYY-MM-DDに変更

# vi /usr/local/nagios/etc/cgi.cfg
365 ttf_file=/usr/local/nagios/etc/font/font.ttf コメント解除

サーバー監視設定ファイル格納ディレクト
# mkdir /usr/local/nagios/etc/servers

# vi /usr/local/nagios/etc/objects/contacts.cfg
35 emailメールアドレス設定

# vi /usr/local/nagios/etc/objects/localhost.cfg
142 notifications_enabled 1
155 notifications_enabled 1


# vi /usr/local/nagios/etc/objects/commands.cfg
30 command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOT IFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOU TPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/nkf -j | /bin/mail -s "** $NOTIFICATIONTYP E$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
36 command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOT IFICATIONTYPE$\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$

# vi /etc/httpd/conf/httpd.conf
355 #UserDir disable
362 UserDir public_html

httpdを再起動して
http://yoriko/nagios/
にアクセス

しかし、403エラーが出る。

参考
http://merseyside.cocolog-nifty.com/chamber/2009/06/nagios.html
/usr/local/nagios/etc/object/commands,cfg
を編集

しかし、結果は同じ

参考
http://machink.exblog.jp/10978320/

どうやらphpがインストールされていないらしい


phpのインストール
# yum -y install php php-mysql
# php -v
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)
Copyright (c) 1997-2006 The PHP Group

httpdをリスタートして再挑戦

よし、うまく行った!


デフォルトではプラグインが用意されていないため、最低限のプラグインをインストールする必要がある

# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
# tar xzf nagios-plugins-1.4.14.tar.gz


と言う訳で、ローカルでこのホストとfedraが動作している様子が分かる。


さて、現状ではHTTPによってデータをやり取りしている。一応パスワードがかけられているとは言え、やはりセキュリティにはある程度気を使いたい。

後々にSSLによって通信をする設定へと変更する。