| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
サーバの稼働状態を監視する「Nagios」を導入する。
「Nagios」ではシステムの異常を検知するとメールで報告する機能などを備え、Webインタフェースによるステータス閲覧やレポート出力もできる。
なお、「Apache」の設定は完了済みとする。
「Nagios」のインストール
「Nagios」はPortsからインストールできるが、WEBインタフェースの日本語化のパッチ当て等をしてからインストールする。
なお、パッチを当てたことによりオリジナルのソースとサイズ等が変わるので、チェックを行わないようにする。
FreeBSD# cd /usr/ports/net-mgmt/nagios <= 作業ディレクトリへ移動 FreeBSD# make fetch-recursive <= ソースのダウンロード FreeBSD# cd /usr/ports/distfiles <= ソースのダウンロードディレクトリへ移動 FreeBSD# tar xzf nagios-2.10.tar.gz <= 「Nagios」のソースを展開 FreeBSD# cd nagios-2.10 <= 展開したディレクトリに移動 FreeBSD# wget http://osdn.dl.sourceforge.jp/nagios-jp/24999/nagios-2.9-ja.patch.gz <= 「Nagios」のWEBインタフェースの日本語パッチをダウンロード FreeBSD# gzip -dc nagios-2.9-ja.patch.gz | patch -p0 <= パッチの適用 FreeBSD# wget http://osdn.dl.sourceforge.jp/nagios-jp/26147/nagios-doc-2x-ja-20070701.tar.gz <= 「Nagios」の日本語マニュアルをダウンロード FreeBSD# tar xzf nagios-doc-2x-ja-20070701.tar.gz <= 日本語マニュアルの展開 FreeBSD# cp -pr nagios-doc-2x-ja-20070701/* html/docs/ <= マニュアルを日本語のファイルで上書き FreeBSD# rm -f nagios-2.9-ja.patch.gz <= ダウンロードしたWEBインタフェースのパッチを削除 FreeBSD# rm -rf nagios-doc-2x-ja-20070701* <= ダウンロードした日本語マニュアルを削除 FreeBSD# cd ../ FreeBSD# rm -f nagios-2.10.tar.gz <= 元のソースを削除 FreeBSD# tar czf nagios-2.10.tar.gz nagios-2.10 <= パッチを当てたソースを圧縮 FreeBSD# rm -rf nagios-2.10 <= 展開したソース群の削除 FreeBSD# cd /usr/ports/net-mgmt/nagios <= 作業ディレクトリへ移動 FreeBSD# vi Makefile.local <= 設定ファイルの作成 NO_CHECKSUM=yes <= 追加 FreeBSD# make install clean <= 「Nagios」のインストール pw: unknown group `nagios' You need a "nagios" group. Would you like me to create it [YES]? <= 空Enter pw: no such user `nagios' You need a "nagios" user. Would you like me to create it [YES]? <= 空Enter サンプル設定ファイルのコピー FreeBSD# cp /usr/local/etc/nagios/cgi.cfg-sample /usr/local/etc/nagios/cgi.cfg FreeBSD# cp /usr/local/etc/nagios/commands.cfg-sample /usr/local/etc/nagios/commands.cfg FreeBSD# cp /usr/local/etc/nagios/localhost.cfg-sample /usr/local/etc/nagios/localhost.cfg FreeBSD# cp /usr/local/etc/nagios/nagios.cfg-sample /usr/local/etc/nagios/nagios.cfg FreeBSD# cp /usr/local/etc/nagios/resource.cfg-sample /usr/local/etc/nagios/resource.cfg |
プラグインも同時にインストールされる。
また、portupgradeの対象から「Nagios」を外す。
FreeBSD# vi /usr/local/etc/pkgtools.conf <= 設定ファイルの編集
HOLD_PKGS = [
'bsdpan-*',
'net-mgmt/nagios*', <= 追加
]
|
パスワードの設定
「Nagios」をWEBブラウザから利用する為、ユーザを登録する。
FreeBSD# htpasswd -c /usr/local/etc/nagios/.htpasswd nagios New password: <= nagiosのパスワード入力 Re-type new password: <= nagiosのパスワード入力(確認) |
「メイン設定ファイル」の設定
FreeBSD# vi /usr/local/etc/nagios/nagios.cfg <= 設定ファイルの編集 check_external_commands=0 ↓ check_external_commands=1 <= Nagiosのコマンド実行のためのコマンドファイル確認を行う date_format=us ↓ date_format=iso8601 <= 日付・時刻の表示フォーマットを変更 |
「CGI設定ファイル」の設定
ここではnagiosユーザに全権限を与えることにする。
FreeBSD# vi /usr/local/etc/nagios/cgi.cfg <= 設定ファイルの編集 ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ ↓ ping_syntax=/sbin/ping -n -c 5 $HOSTADDRESS$ <= 変更 以下のように権限を変更 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」に全ての設定をまとめて記述している。
本来は監視するサービス等によって細かく記述するが、ここでは最低限の記述のみしている。
また、変更箇所以外も記述している。
FreeBSD# vi /usr/local/etc/nagios/localhost.cfg <= 設定ファイルの編集
define contact{
email nagios-admin@localhost
↓
email root@localhost <= 通知先メールアドレスを指定
}
|
設定ファイルの確認
全ての設定ファイルの記述が終わったら、構文チェックをし、エラーがないことを確認する。
FreeBSD# nagios -v /usr/local/etc/nagios/nagios.cfg <= 構文チェック Total Warnings: 0 <= 0であること Total Errors: 0 <= 0であること |
「Apache」の設定
「Apache」からアクセス出来るように設定ファイルを編集する。
FreeBSD# vi /usr/local/etc/apache21/httpd.conf <= 設定ファイルの編集
以下を追加
ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
<Directory /usr/local/www/nagios/cgi-bin>
Options ExecCGI
order deny,allow
deny from all
allow from all
AuthType Basic
AuthUserFile /usr/local/etc/nagios/.htpasswd
AuthName "nagios"
Require valid-user
</Directory>
Alias /nagios/ /usr/local/www/nagios/
<Directory /usr/local/www/nagios>
Options None
Order deny,allow
deny from all
allow from all
AuthType Basic
AuthUserFile /usr/local/etc/nagios/.htpasswd
AuthName "nagios"
Require valid-user
</Directory>
ここまで
|
「Apache」を再起動し、設定を反映させる。
FreeBSD# apachectl restart |
「Nagios」の起動
FreeBSD# vi /etc/rc.conf <= 設定ファイルの編集 nagios_enable="YES" <= 追加 FreeBSD# /usr/local/etc/rc.d/nagios start <= 「Nagios」の起動 |
http://サーバのIPアドレス/nagios/
とアクセスし、ユーザ名をnagios、パスワードをhtpasswdコマンドで設定したものを入力する。