| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
サーバの稼働状態を監視する「Nagios」を導入する。
「Nagios」ではシステムの異常を検知するとメールで報告する機能などを備え、Webインタフェースによるステータス閲覧やレポート出力もできる。
なお、「Apache」の設定は完了済みとする。
ユーザの作成
「Nagios」を実行するユーザを作成する。
Solaris# groupadd -g 2100 nagios Solaris# useradd -u 2100 -g nagios -d /usr/local/nagios -m -s /bin/false nagios |
ライブラリのインストール
「Nagios」に必要なライブラリをインストールする。
必要なライブラリはいくつかあるが、足りない場合、configure時に
*** GD, PNG, and/or JPEG libraries could not be located... ********* |
といったメッセージが表示されるので必要なものをインストールする。
また、「Nagios」を日本語で利用する為にはGDライブラリをEUCコード対応でコンパイルする必要がある。
ここではGDライブラリのEUCコード対応でのコンパイル方法のみ記述。
なお、make時に
/usr/local/bin/autoconf: /usr/local/bin/autom4te: not found |
といった内容のエラーが出力される場合、以下のようにリンクを貼る。
Solaris# ln -s /usr/bin/perl /usr/local/bin/perl Solaris# ln -s /usr/sfw/bin/gm4 /usr/local/bin/m4 |
なお、gd-2.0.35ではmake時にエラーが出力される為、gd-2.0.33を利用する。
Solaris# mkdir /usr/local/src/gd <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/gd <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/gd <= 作業用ディレクトリへ移動 Solaris% wget http://www.libgd.org/releases/oldreleases/gd-2.0.33.tar.gz <= GDライブラリのソースをダウンロード Solaris% gunzip -c gd-2.0.33.tar.gz | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd gd-2.0.33 <= 展開したディレクトリに移動 Solaris% setenv CFLAGS "-DJISX0208" Solaris% ./configure |& tee configure.log Solaris% gmake |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= インストール |
これでlibgd.so.2.0.0が/usr/local/libにインストールされるが、デフォルトではパスが通っていない為、
「Nagios」インストール後にGDライブラリを利用しているCGIにブラウザでアクセスすると Internal Server Error となる。
そこで、以下のようにしてパスを通す。
Solaris# crle -u -l /usr/local/lib |
「Nagios」のインストール
Solarisではping等、一部のコマンドが管理者用のパスにしかない為、一時的にパスを追加する。
Solaris# mkdir /usr/local/src/nagios <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/nagios <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/nagios <= 作業用ディレクトリへ移動 Solaris% wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-2.10.tar.gz <= 「Nagios」のソースをダウンロード Solaris% wget http://osdn.dl.sourceforge.jp/nagios-jp/26147/nagios-doc-2x-ja-20070701.tar.gz <= 「Nagios」の日本語マニュアルをダウンロード Solaris% gunzip -c nagios-2.10.tar.gz | tar xf - <= ダウンロードした「Nagios」の展開 Solaris% gunzip -c nagios-doc-2x-ja-20070701.tar.gz | tar xf - <= ダウンロードした日本語マニュアルの展開 Solaris% cd nagios-2.10 <= 展開したディレクトリに移動 Solaris% wget http://osdn.dl.sourceforge.jp/nagios-jp/24999/nagios-2.9-ja.patch.gz <= 「Nagios」のWEBインタフェースの日本語パッチをダウンロード Solaris% gzip -dc nagios-2.9-ja.patch.gz | gpatch -p0 <= パッチの適用 Solaris% cp -pr ../nagios-doc-2x-ja-20070701/* html/docs/ <= マニュアルを日本語のファイルで上書き Solaris% setenv PATH "$PATH":/usr/sbin:/sbin <= パスの追加 Solaris% ./configure --prefix=/usr/local/nagios \ --with-cgiurl=/nagios/cgi-bin \ --with-htmurl=/nagios \ --with-gd-lib=/usr/local/lib \ --with-gd-inc=/usr/local/include \ --with-nagios-user=nagios \ --with-nagios-group=nagios |& tee configure.log Solaris% gmake all |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= 「Nagios」のインストール Solaris# gmake install-init |& tee make-init.log<= 起動スクリプトのインストール Solaris# gmake install-commandmode |& tee make-commandmode.log <= コマンドのパーミッションを設定 Solaris# gmake install-config |& tee make-config.log <= サンプル設定ファイルのインストール |
プラグインのインストール
configureは以下のオプションで構わないが、自分は「MySQL」をこちら
の方法でソースからインストールした為、
--with-mysql=/usr/local/mysql
とした。
なお、Solarisではping等、一部のコマンドが管理者用のパスにしかない為、一時的にパスを追加する。
Solaris% cd /usr/local/src/nagios <= 作業用ディレクトリへ移動 Solaris% wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz <= プラグインのダウンロード Solaris% gunzip -c nagios-plugins-1.4.11.tar.gz | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd nagios-plugins-1.4.11 <= 展開したディレクトリに移動 Solaris% setenv PATH "$PATH":/usr/sbin:/sbin <= パスの追加 Solaris% ./configure \ --prefix=/usr/local/nagios \ --with-cgiurl=nagios/cgi-bin \ --with-nagios-user=nagios \ --with-nagios-grp=nagios \ --with-mysql=/usr/sfw/mysql |& tee configure.log Solaris% gmake all |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= プラグインのインストール |
パスワードの設定
「Nagios」をWEBブラウザから利用する為、ユーザを登録する。
Solaris# /usr/apache2/bin/htpasswd -c /usr/local/nagios/etc/.htpasswd nagios New password: <= nagiosのパスワード入力 Re-type new password: <= nagiosのパスワード入力(確認) |
「メイン設定ファイル」の設定
Solaris# vi /usr/local/nagios/etc/nagios.cfg <= 設定ファイルの編集 check_external_commands=0 ↓ check_external_commands=1 <= Nagiosのコマンド実行のためのコマンドファイル確認を行う date_format=us ↓ date_format=iso8601 <= 日付・時刻の表示フォーマットを変更 |
「CGI設定ファイル」の設定
ここではnagiosユーザに全権限を与えることにする。
Solaris# vi /usr/local/nagios/etc/cgi.cfg <= 設定ファイルの編集 ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ ↓ ping_syntax=/usr/sbin/ping -n -s $HOSTADDRESS$ 56 5 <= 変更 以下のように権限を変更 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」に全ての設定をまとめて記述している。
本来は監視するサービス等によって細かく記述するが、ここでは最低限の記述のみしている。
また、変更箇所以外も記述している。
Solaris# vi /usr/local/nagios/etc/localhost.cfg <= 設定ファイルの編集
define contact{
email nagios-admin@localhost
↓
email root@localhost <= 通知先メールアドレスを指定
}
|
設定ファイルの確認
全ての設定ファイルの記述が終わったら、構文チェックをし、エラーがないことを確認する。
Solaris# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg <= 構文チェック Total Warnings: 0 <= 0であること Total Errors: 0 <= 0であること |
「Apache」の設定
「Apache」からアクセス出来るように設定ファイルを編集する。
Solaris# vi /etc/apache2/httpd.conf <= 設定ファイルの編集 以下を追加 ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/ <Directory /usr/local/nagios/sbin/> Options ExecCGI order deny,allow deny from all allow from all AddType "text/html; charset=EUC-JP" .cgi AuthType Basic AuthUserFile /usr/local/nagios/etc/.htpasswd AuthName "nagios" Require valid-user </Directory> Alias /nagios/ /usr/local/nagios/share/ <Directory /usr/local/nagios/share/> Options None order deny,allow deny from all allow from all AddType "text/html; charset=EUC-JP" .html AuthType Basic AuthUserFile /usr/local/nagios/etc/.htpasswd AuthName "nagios" Require valid-user </Directory> |
「Apache」を再起動し、設定を反映させる。
Solaris# svcadm restart svc:/network/http:apache2 |
「Nagios」の起動
Solaris# /etc/init.d/nagios start |
「Nagios」の自動起動
Solarisを起動する際に自動的に「Nagios」が起動するようにする。
Solaris# ln /etc/init.d/nagios /etc/rc2.d/S99nagios <= ランレベル2で起動する Solaris# ln /etc/init.d/nagios /etc/rc3.d/S99nagios <= ランレベル3で起動する Solaris# ln /etc/init.d/nagios /etc/rc0.d/K99nagios <= ランレベル0で停止する |
http://サーバのIPアドレス/nagios/
とアクセスし、ユーザ名をnagios、パスワードをhtpasswdコマンドで設定したものを入力する。