I. Nagiosの紹介
Nagiosは、効果的にWindows、Linux、Unixホスト、スイッチルータやその他のネットワーク設定、プリンタなどの状態を監視することができますオープンソースのコンピュータシステムとネットワーク監視ツールです。電子メールまたはSMSのアラームのシステムまたはサービスステータスの異常で、通常の電子メールまたはSMSの通知の後、回復の状態で、最初の時間のサイトの運用と保守スタッフに通知します。
キー機能
- ウェブサービスの監視
- Windowsホストも含めたホストリソースの監視
- 独自のプラグインを指定して、ネットワーク経由でデータを収集し、あらゆる状況を監視することができます。
- スクリプトは、Nagiosリモート実行プラグインを設定することにより、リモートで実行することができます。
- リモートモニタリングはSSHまたはSSLプラスチャネル方式をサポートしています。
- シンプルなプラグイン設計により、ユーザーは簡単に独自の検査サービスを開発することができ、多くの開発言語をサポートしています。
- 多くのグラフィカル・データ プラグイン
- 並列サービスチェック
- ネットワークホストの階層を定義し、親ホストから下位ホストへとレベルごとにチェックすることができます。
- サービスやホストに問題が発生した場合、電子メール、ポケットベル、SMS、またはユーザー定義のプラグインで通知します。
- 障害のあるサービスやホストを再アクティブ化するためのイベント処理メカニズムをカスタマイズする機能
- 自動ログ収集サイクル
- 冗長監視のサポート
- 現在のネットワーク・ステータス、通知、問題履歴、ログ・ファイルなどを表示するウェブ・インターフェースを含みます。
#p#
Nagiosの動作原理
Nagiosの機能は、サービスとホストを監視することですが、彼自身は、機能のこの部分を含まない、すべての監視、検出機能は、さまざまなプラグインを介して行われます。
Nagiosを起動した後、それは定期的に、自動的にサーバーの状態を検出するためにプラグインを呼び出すと同時に、Nagiosは、キューに情報の状態に戻るには、すべてのプラグインは、キューを維持する、Nagiosは、キューの先頭から毎回情報を読み取り、処理を開始するには、Webを介して表示される結果の状態。
Nagiosは、多くのプラグインを提供し、これらのプラグインを使用すると、多くのサービスの状態を監視するために便利にすることができます。インストールが完了したら、nagiosのメインディレクトリ/libexecにnagiosを置くすべてのプラグインを使用することができます付属しています、例えば、check_diskは、ディスクの空き容量をチェックするプラグインであり、check_loadは、CPU負荷などをチェックします。各プラグインは ./check_xxx -h を実行することで、プラグインがどのように使用され、何をするかを確認できます。
すなわち、0(OK)は正常な状態/緑、1(WARNING)は警告/黄色、2(CRITICAL)は非常に深刻なエラー/赤、3(UNKNOWN)は不明なエラー/深い黄色を意味します。Nagiosは、プラグインによって返された値に基づいて監視オブジェクトのステータスを決定し、管理者がタイムリーに障害を見つけるために、Webを介してそれらを表示します。
4つの監視状態
アラーム機能は、監視システムは、問題が意味をなさないアラームすることはできませんので、アラームはナギオスも重要な機能の1つであることが判明した場合。しかし、同じ、Nagios自体がコードのアラーム部分を持っていない、プラグインも、ユーザーまたは他の関連オープンソースプロジェクトにグループを完了します。
Nagiosのインストールは、基本的なプラットフォーム、Nagiosパッケージのインストールです。これは、監視システムのフレームワークであり、すべての監視の基礎です。
公式のNagiosドキュメントを開くと、Nagiosは基本的に依存パッケージがなく、システムがLinuxまたは他のNagiosがサポートするシステムであることだけが必要です。しかし、apacheがインストールされていない場合、監視情報を表示するためのこのような直感的なインターフェイスを持つことができないので、apacheは前提条件と見なされます。apacheのインストールについては、オンラインにたくさんありますので、それに従ってください。インストールが終わったら、ちゃんと動くかどうかチェックしてください。
Nagiosシステムはプラグイン、NRPEを提供し、Nagiosはリモートサーバーの様々なステータス情報を得るために定期的に実行します。それらの関係は次の図に示されています:
NRPE経由のNagiosリモート管理サービス
- Nagiosはインストールされたcheck_nrpeプラグインを実行し、どのサービスを検出するかをcheck_nrpeに伝えます。
- リモート・マシン上のNRPEデーモンにSSL経由で接続。
- NRPEは様々なローカルプラグインを実行し、ローカルサービスやステータスをチェックします。
- 最後に、NRPEは検出結果をホスト側のcheck_nrpeに渡し、check_nrpeは結果をNagiosのステータスキューに送ります。
- Nagiosはキュー内の情報を順次読み取り、結果を表示します。
#p#
III.実験環境
| Host Name | OS | IP | Software |
| Nagios-Linux | CentOS release 6.3 | 192.168.1.801 | Apache, PHP, Nagios, nagios-plugins |
| Nagios-Linux | CentOS release 5.8 | 192.168.1.111 | nagios-plugins, nrpe |
| Nagios-Windows | Windows XP | 192.168.1.113 | NSClient++ |
サーバーは、監視データを処理するためにnagiosソフトウェアをインストールし、それを表示および管理するためのWebインタフェースを提供します。もちろん、マシン自体の情報を監視することもできます。
クライアント NRPEなどのクライアントを設置し、本機からの要求に基づいて監視を行い、その結果を本機に返送します。
ファイアウォールがダウンしています /iptables: ファイアウォールが実行されていません。
SELINUX=無効
IV.実験目的
#p#
V. Nagiosサーバーのインストール
5.1 ベースサポートスイート:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
システムにこれらのパッケージがない場合は、yumを使ってインストールしてください。
# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
5.2 nagiosユーザーとユーザーグループの作成
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios
nagiosディレクトリのパーミッションを確認してください。
# ll -d /usr/local/nagios/
5.3 Nagiosのコンパイルとインストール
# wget http://..net/sourceforge/nagios/nagios-....gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
5.4 プログラムが正しくインストールされていることの確認
ディレクトリをインストールパスに切り替え、etc、bin、sbin、share、varの5つのディレクトリがあるかどうかを確認します。もしあれば、プログラムがシステムに正しくインストールされたことを示します。各ディレクトリの目的は以下の通りです:
5.5 Nagiosプラグインのインストール
# wget http://..net/sourceforge/nagiosplug/nagios-plugins-....gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
5.6 ApacheとPHPのインストールと設定
ApacheとPhpはnagiosをインストールするのに必要ではありませんが、nagiosはウェブ監視インターフェースを提供し、監視対象のホストとリソースの実行状態を明確に見ることができます。
なお、nagios3.1.x以降のバージョンのnagiosでは、Web監視インタフェースの設定にphpのサポートが必要です。ここでダウンロードしたnagiosのバージョンはnagios-3.4.3なので、コンパイルしてapacheをインストールした後、phpモジュールをコンパイルする必要があります。
a. Apacheのインストール
# wget http://..org/dist/httpd/httpd-....gz
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2
# make && make install
エラーが発生した場合
これはコンパイル時に--with-included-aprを追加することで解決できます。
b. Phpのインストール
# wget http://..net/distributions/php-....gz
# tar zxvf php-5.4.10.tar.gz
# cd php-5.4.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
# make && make install
c. apache の設定
apacheの設定ファイル/usr/local/apache2/conf/httpd.&sp;を見つけてください。
見つけてください:
ユーザーデーモン
グループデーモン
に変更します。
ユーザー nagios
グループ nagios
そして
<IfModule dir_module> です。
ディレクトリインデックス index.html
</IfModule>
に変更します。
<IfModule dir_module> です。
ディレクトリインデックス index.html index.php
</IfModule>
そして次のように付け加えます:
AddType application/x-httpd-hp .php
セキュリティ上の理由から、nagiosのウェブモニタリングページには認証がないとアクセスできないようにする必要があり、そのためにはhttpd.nfファイルの最後に以下の情報を追加する必要があります:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //このディレクトリにアクセスするための認証に使用するファイル
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
d. apacheディレクトリ検証ファイルの作成
上記の設定では、ディレクトリ認証ファイルhtpasswdが指定されていますが、これは以下のように作成されます:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david
これは、/usr/local/nagios/etcディレクトリにhtpasswd認証ファイルを作成し、http://.../os/経由でアクセスすると、ユーザ名とパスワードを要求します。/os/経由でアクセスすると、ユーザー名とパスワードが要求されます。
e. 認定文書の内容の閲覧
# cat /usr/local/nagios/etc/htpasswd
f. apacheサービスを開始します。
# /usr/local/apache2/bin/apachectl start
この時点でnagiosのインストールはほぼ完了し、ウェブ経由でアクセスできるようになります。




