「Nagios」の導入

サーバの稼働状態を監視する「Nagios」を導入する。
「Nagios」ではシステムの異常を検知するとメールで報告する機能などを備え、Webインタフェースによるステータス閲覧やレポート出力もできる。
なお、「Apache」の設定は完了済みとする。
また、ここでは「Nagios」のバージョンは3.0.4とする。
2.10の場合はこちらを参照。

「Nagios」のインストール

ユーザの作成

「Nagios」用のユーザを作成する。

[root@Fedora ~]# groupadd nagios <= nagios グループの作成
[root@Fedora ~]# useradd -d /usr/local/nagios -m -g nagios nagios <= nagios ユーザの作成

「Nagios」用のディレクトリはapacheの実行ユーザからアクセスできる必要が有る為、ディレクトリの権限を変更し、 nagiosグループにapacheユーザを追加する。

[root@Fedora ~]# chmod 770 /usr/local/nagios <= ディレクトリの権限変更
[root@Fedora ~]# usermod -G nagios apache <= nagiosグループにapacheユーザを追加

「Nagios」のインストール

「Nagios」に必要なgd-develをインストール後、WEBインタフェースを日本語化してインストールする。

[root@Fedora ~]# yum -y install gd-devel <= gd-develのインストール

[root@Fedora ~]# mkdir /usr/local/src/nagios <= 作業用ディレクトリの作成
[root@Fedora ~]# chmod 777 /usr/local/src/nagios <= 作業用ディレクトリのパーミッション変更
[root@Fedora ~]# exit <= 一般ユーザになる
[kaz@Fedora ~]$ cd /usr/local/src/nagios <= 作業用ディレクトリへ移動
[kaz@Fedora nagios]$ wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.4.tar.gz
 <= 「Nagios」のソースをダウンロード
[kaz@Fedora nagios]$ tar xzf nagios-3.0.4.tar.gz <= ダウンロードしたファイルの展開
[kaz@Fedora nagios]$ cd nagios-3.0.4 <= 展開したディレクトリに移動
[kaz@Fedora nagios-3.0.4]$ wget http://osdn.dl.sourceforge.jp/nagios-jp/33458/nagios-3.0.4-ja-utf8.patch.gz
 <= 「Nagios」のWEBインタフェースの日本語パッチをダウンロード
[kaz@Fedora nagios-3.0.4]$ gzip -dc nagios-3.0.4-ja-utf8.patch.gz | patch -p0 <= パッチの適用
[kaz@Fedora nagios-3.0.4]$ ./configure --prefix=/usr/local/nagios \
--with-cgiurl=/nagios/cgi-bin \
--with-htmurl=/nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios | tee configure.log 2>&1
[kaz@Fedora nagios-3.0.4]$ make all | tee make-all.log 2>&1 <= コンパイル
[kaz@Fedora nagios-3.0.4]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[root@Fedora nagios-3.0.4]# make install | tee make-install.log 2>&1 <= 「Nagios」のインストール
[root@Fedora nagios-3.0.4]# make install-init | tee make-init.log 2>&1 <= 起動スクリプトのインストール
[root@Fedora nagios-3.0.4]# make install-commandmode | tee make-commandmode.log 2>&1 <= コマンドのパーミッションを設定
[root@Fedora nagios-3.0.4]# make install-config | tee make-config.log 2>&1 <= サンプル設定ファイルのインストール
[root@Fedora nagios-3.0.4]# make install-webconf | tee make-webconf.log 2>&1 <= WEB用設定ファイルのインストール

さざなみフォントのインストール

「傾向」、「警報ヒストグラム」で表示される画像の日本語化に必要なさざなみフォントをインストールする。

[root@Fedora ~]# wget http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2 <= さざなみフォントのダウンロード
[root@Fedora ~]# tar xjf sazanami-20040629.tar.bz2 <= ダウンロードしたファイルの展開
[root@Fedora ~]# mkdir /usr/local/nagios/etc/font <= フォント格納先ディレクトリの作成
[root@Fedora ~]# cp sazanami-20040629/sazanami-gothic.ttf /usr/local/nagios/etc/font/font.ttf
 <= さざなみフォントをフォント用ディレクトリへ格納

プラグインのインストール

ソースからインストールするが、ここではIPv6を無効にした。

[root@Fedora ~]# mkdir /usr/local/src/nagios-plugins <= 作業用ディレクトリの作成
[root@Fedora ~]# chmod 777 /usr/local/src/nagios-plugins <= 作業用ディレクトリのパーミッション変更
[root@Fedora ~]# exit <= 一般ユーザになる
[kaz@Fedora ~]$ cd /usr/local/src/nagios-plugins <= 作業用ディレクトリへ移動
[kaz@Fedora nagios-plugins]$ wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
 <= プラグインのソースをダウンロード
[kaz@Fedora nagios-plugins]$ tar xzf nagios-plugins-1.4.13.tar.gz <= ダウンロードしたファイルの展開
[kaz@Fedora nagios-plugins]$ cd nagios-plugins-1.4.13 <= 展開したディレクトリに移動
[kaz@Fedora nagios-plugins-1.4.13]$ ./configure \
--prefix=/usr/local/nagios \
 --with-ipv6=no \
--with-cgiurl=nagios/cgi-bin \
--with-nagios-user=nagios \
--with-nagios-grp=nagios | tee configure.log 2>&1
[kaz@Fedora nagios-plugins-1.4.13]$ make all | tee make-all.log 2>&1 <= コンパイル
[kaz@Fedora nagios-plugins-1.4.13]$ su <= スーパーユーザになる
Password: <= パスワードの入力
[kaz@Fedora nagios-plugins-1.4.13]$ make install | tee make-install.log 2>&1 <= プラグインのインストール
「Nagios」の設定

パスワードの設定

「Nagios」をWEBブラウザから利用する為、ユーザを登録する。

[root@Fedora ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios
New password: <= nagiosのパスワード入力
Re-type new password: <= nagiosのパスワード入力(確認)

「メイン設定ファイル」の設定

Nagios3系から設定ファイルを個別にcfg_fileに記述する方法に加え、設定ファイルをディレクトリに格納し、 ディレクトリごとcfg_dirで設定できるようになった。
その為、サーバ追加例としてサーバを設定するファイルをディレクトリでまとめ、設定する。
また、time_change_thresholdがNULLで設定され、nagiosコマンドの構文チェックでエラーとなる為、コメントアウトする。

[root@Fedora ~]# vi /usr/local/nagios/etc/nagios.cfg <= 設定ファイルの編集
#cfg_dir=/usr/local/nagios/etc/servers
↓
cfg_dir=/usr/local/nagios/etc/servers <= コメント解除

date_format=us
↓
date_format=iso8601 <= 日付・時刻の表示フォーマットを変更

time_change_threshold=
↓
#time_change_threshold= <= コメントアウト

サーバ設定用ディレクトリを作成する。

[root@Fedora ~]# mkdir /usr/local/nagios/etc/servers <= サーバ設定用ディレクトリの作成

監視サーバの追加

例として、別のFedoraサーバを追加する。

[root@Fedora ~]# vi /usr/local/nagios/etc/servers/fedora2.cfg <= 設定ファイルの作成
define host{
        use                  linux-server
        host_name            fedora2
        alias                fedora2
        address              192.168.0.11
        }

define service{
        use                  generic-service
        host_name            fedora2
        service_description  PING
        check_command        check_ping!100.0,20%!500.0,60%
        }

「CGI設定ファイル」の設定

ここではnagiosユーザに全権限を与えることにする。

[root@Fedora ~]# vi /usr/local/nagios/etc/cgi.cfg <= 設定ファイルの編集
以下のように権限を変更
authorized_for_system_information=nagios <= システム・プロセス情報を閲覧できる認証ユーザ
authorized_for_configuration_information=nagios <= 設定を閲覧できる認証ユーザ
authorized_for_system_commands=nagios <= システム・プロセスコマンドを発行できる認証ユーザ
authorized_for_all_services=nagios <= 全サービスの状態と設定情報を閲覧できる権限のある認証ユーザ
authorized_for_all_hosts=nagios <= 全ホストの状態と設定情報を閲覧できる権限のある認証ユーザ
authorized_for_all_service_commands=nagios <= 全サービスに対してコマンドを発行できる認証ユーザ
authorized_for_all_host_commands=nagios <= 全ホストに対してコマンドを発行できる認証ユーザ
ここまで

#ttf_file=/usr/local/nagios/etc/font/font.ttf
↓
ttf_file=/usr/local/nagios/etc/font/font.ttf <= コメント解除

「オブジェクト設定ファイル」の設定

ここでは、ここでは最低限の記述のみしている。
また、変更箇所以外も記述している。

[root@Fedora ~]# vi /usr/local/nagios/etc/objects/contacts.cfg <= 設定ファイルの編集
define contact{

        email                           nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        ↓
        email                           root@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** <= 通知先メールアドレスを指定
        }

[root@Fedora ~]# vi /usr/local/nagios/etc/objects/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           0
        ↓
        notifications_enabled           1 <= 通知を有効にする
        }

define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        ↓
        notifications_enabled           1 <= 通知を有効にする
        }

設定ファイルの確認

全ての設定ファイルの記述が終わったら、構文チェックをし、エラーがないことを確認する。

[root@Fedora ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg <= 構文チェック

Total Warnings: 0 <= 0であること
Total Errors:   0 <= 0であること

「Apache」の設定

アクセス制限等を変更する場合、/etc/httpd/conf.d/nagios.confを編集する。
その後、「Apache」を再起動する。

[root@Fedora ~]# /etc/rc.d/init.d/httpd restart <= 「Apache」の再起動
「Nagios」の起動

「Nagios」の起動

[root@Fedora ~]# /etc/rc.d/init.d/nagios start

「Nagios」の自動起動

Fedoraを起動する際に自動的に「Nagios」が起動するようにする。

[root@Fedora ~]# chkconfig nagios on

http://サーバのIPアドレス/nagios/
とアクセスし、ユーザ名をnagios、パスワードをhtpasswdコマンドで設定したものを入力する。

▲ページのトップへ