| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
サーバの稼働状態を監視する「Nagios」を導入する。
「Nagios」ではシステムの異常を検知するとメールで報告する機能などを備え、Webインタフェースによるステータス閲覧やレポート出力もできる。
なお、「Apache」の設定は完了済みとする。
また、ここでは「Nagios」のバージョンは2.10とする。
3.0.4の場合はこちらを参照。
yumでも「Nagios」をインストールできるが、WEBインタフェース等を日本語化する為、SRPMにパッチを当ててインストールする。
GDライブラリのインストール
「Nagios」を日本語で利用する為にはGDライブラリをEUCコード対応でコンパイルする必要がある。
その為、GDライブラリをEUCコード対応でコンパイルする。
[root@Fedora ~]# yum -y install libpng-devel libjpeg-devel gettext-devel <= GDライブラリのコンパイルに必要なライブラリのインストール [root@Fedora ~]# mkdir /usr/local/src/gd <= 作業用ディレクトリの作成 [root@Fedora ~]# chmod 777 /usr/local/src/gd <= 作業用ディレクトリのパーミッション変更 [root@Fedora ~]# exit <= 一般ユーザになる [kaz@Fedora ~]$ cd /usr/local/src/gd <= 作業用ディレクトリへ移動 [kaz@Fedora gd]$ wget http://www.libgd.org/releases/gd-2.0.35.tar.gz <= GDライブラリのソースをダウンロード [kaz@Fedora gd]$ tar xzf gd-2.0.35.tar.gz <= ダウンロードした日本語マニュアルの展開 [kaz@Fedora gd]$ cd gd-2.0.35 <= 展開したディレクトリに移動 [kaz@Fedora gd-2.0.35]$ export CFLAGS=-DJISX0208 [kaz@Fedora gd-2.0.35]$ ./configure | tee configure.log 2>&1 [kaz@Fedora gd-2.0.35]$ make | tee make.log 2>&1 <= コンパイル [kaz@Fedora gd-2.0.35]$ su <= スーパーユーザになる Password: <= パスワードの入力 [root@Fedora gd-2.0.35]# make install | tee make-install.log 2>&1 <= インストール |
これでlibgd.so.2.0.0が/usr/local/libにインストールされるが、デフォルトではパスが通っていない為、 「Nagios」インストール後にGDライブラリを利用しているCGIにブラウザでアクセスすると
/usr/local/nagios/sbin/trends.cgi: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory |
といった内容のエラーが出力される。
そこで、以下のようにしてパスを通す。
[root@Fedora ~]# vi /etc/ld.so.conf.d/local-i386.conf <= 設定ファイルの作成 /usr/local/lib <= 追加 [root@Fedora ~]# ldconfig <= 設定ファイルの反映 |
「Nagios」のインストール
「Nagios」のWEBインタフェースとマニュアルを日本語化してインストールする。
[root@Fedora ~]# wget http://dag.wieers.com/rpm/packages/nagios/nagios-2.10-1.rf.src.rpm
<= 「Nagios」のソースをダウンロード
[root@Fedora ~]# rpm -ivh nagios-2.10-1.rf.src.rpm <= src.rpmのインストール
[root@Fedora ~]# cd /usr/src/redhat/SOURCES/ <= 作業用ディレクトリへ移動
[root@Fedora SOURCES]# tar xzf nagios-2.10.tar.gz <= ソースの展開
[root@Fedora SOURCES]# cd nagios-2.10 <= 展開したディレクトリへ移動
[root@Fedora nagios-2.10]# wget http://osdn.dl.sourceforge.jp/nagios-jp/24999/nagios-2.9-ja.patch.gz
<= 「Nagios」のWEBインタフェースの日本語パッチをダウンロード
[root@Fedora nagios-2.10]# gzip -dc nagios-2.9-ja.patch.gz | patch -p0 <= パッチの適用
[root@Fedora nagios-2.10]# rm nagios-2.9-ja.patch.gz <= パッチファイルの削除
[root@Fedora nagios-2.10]# cd ../
[root@Fedora SOURCES]# wget http://osdn.dl.sourceforge.jp/nagios-jp/26147/nagios-doc-2x-ja-20070701.tar.gz
<= 「Nagios」の日本語マニュアルをダウンロード
[root@Fedora SOURCES]# tar xzf nagios-doc-2x-ja-20070701.tar.gz <= ダウンロードしたファイルの展開
[root@Fedora SOURCES]# cp -pr nagios-doc-2x-ja-20070701/* nagios-2.10/html/docs/ <= マニュアルを日本語で上書き
[root@Fedora SOURCES]# rm -rf nagios-2.10.tar.gz <= 元のソースを削除
[root@Fedora SOURCES]# tar czf nagios-2.10.tar.gz nagios-2.10 <= パッチを当てたソースを圧縮
[root@Fedora SOURCES]# vi /usr/src/redhat/SPECS/nagios.spec <= SPECファイルの編集
Release: 1.rf
↓
Release: 1.ja.rf <= 変更
BuildRequires: gd-devel > 1.8, zlib-devel, libpng-devel, libjpeg-devel
↓
BuildRequires: zlib-devel, libpng-devel, libjpeg-devel <= gd-develの部分を削除
%configure \
--datadir="%{_datadir}/nagios" \
--libexecdir="%{_libdir}/nagios/plugins" \
--localstatedir="%{_localstatedir}/log/nagios" \
--sbindir="%{_libdir}/nagios/cgi" \
--sysconfdir="%{_sysconfdir}/nagios" \
--with-cgiurl="/nagios/cgi-bin" \
--with-command-user="apache" \
--with-command-group="apache" \
--with-gd-lib="%{_libdir}" \
--with-gd-inc="%{_includedir}" \
↓
--with-gd-lib="/usr/local/lib" \ <= 変更
--with-gd-inc="/usr/local/include" \ <= 変更
--with-htmurl="/nagios" \
--with-init-dir="%{_initrddir}" \
--with-lockfile="%{_localstatedir}/run/nagios.pid" \
--with-mail="/bin/mail" \
--with-nagios-user="nagios" \
--with-nagios-group="nagios" \
[root@Fedora SOURCES]# rpmbuild -bb --clean /usr/src/redhat/SPECS/nagios.spec <= SRPMパッケージからRPMパッケージを作成
[root@Fedora SOURCES]# rpm -ivh /usr/src/redhat/RPMS/i386/nagios-2.10-1.ja.rf.i386.rpm <= 「Nagios」のインストール
|
yumのアップデート対象から「Nagios」を外す。
[root@Fedora ~]# vi /etc/yum.conf <= 設定ファイルの編集 exclude=nagios <= 追加 |
プラグインのインストール
[root@Fedora ~]# yum -y install nagios nagios-plugins-all [root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除 |
パスワードの設定
「Nagios」をWEBブラウザから利用する為、ユーザを登録する。
[root@Fedora ~]# htpasswd -c /etc/nagios/htpasswd.users nagios New password: <= nagiosのパスワード入力 Re-type new password: <= nagiosのパスワード入力(確認) |
「メイン設定ファイル」の設定
[root@Fedora ~]# vi /etc/nagios/nagios.cfg <= 設定ファイルの編集 check_external_commands=0 ↓ check_external_commands=1 <= Nagiosのコマンド実行のためのコマンドファイル確認を行う date_format=us ↓ date_format=iso8601 <= 日付・時刻の表示フォーマットを変更 |
「CGI設定ファイル」の設定
ここではnagiosユーザに全権限を与えることにする。
[root@Fedora ~]# vi /etc/nagios/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 <= 全ホストに対してコマンドを発行できる認証ユーザ ここまで |
「オブジェクト設定ファイル」の設定
ここでは「localhost.cfg」に全ての設定をまとめて記述している。
本来は監視するサービス等によって細かく記述するが、ここでは最低限の記述のみしている。
また、変更箇所以外も記述している。
[root@Fedora ~]# vi /etc/nagios/localhost.cfg <= 設定ファイルの編集
define contact{
email nagios-admin@localhost
↓
email root@localhost <= 通知先メールアドレスを指定
}
|
設定ファイルの確認
全ての設定ファイルの記述が終わったら、構文チェックをし、エラーがないことを確認する。
[root@Fedora ~]# nagios -v /etc/nagios/nagios.cfg <= 構文チェック Total Warnings: 0 <= 0であること Total Errors: 0 <= 0であること |
「Apache」の設定
文字化け対策の為、「Apache」の設定ファイルを修正する。
[root@Fedora ~]# vi /etc/httpd/conf.d/nagios.conf <= 設定ファイルの編集 <Directory "/usr/lib/nagios/cgi"> # Allow from 127.0.0.1 AddType "text/html; charset=EUC-JP" .cgi <= 追加 AuthName "Nagios Access" <Directory "/usr/share/nagios"> # Allow from 127.0.0.1 AddType "text/html; charset=EUC-JP" .html <= 追加 AuthName "Nagios Access" |
「Apache」を再起動し、設定を反映させる。
[root@Fedora ~]# /etc/rc.d/init.d/httpd restart |
「Nagios」の起動
[root@Fedora ~]# /etc/rc.d/init.d/nagios start |
「Nagios」の自動起動
Fedoraを起動する際に自動的に「Nagios」が起動するようにする。
[root@Fedora ~]# chkconfig nagios on |
http://サーバのIPアドレス/nagios/
とアクセスし、ユーザ名をnagios、パスワードをhtpasswdコマンドで設定したものを入力する。