Locked History Actions

Diff for "nagios/basic"

Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= 基本事項 = この内容は以下に移動しました。
Line 3: Line 3:

== インストール ==

CentOS 6.2にrpmでインストール。

 * epelレポジトリを追加。
 * yum install nagiosでインストール

構築済の環境にもよると思うが、nagios, nagios-common, gdがインストールされる。

プラグインの種類は以下で確認

{{{
yum list | grep nagios
}}}

※上記でインストールしたnagiosのデフォルトの設定ファイルには、プラグインのインストールを前提としたものがあるらしい。
したがって、この状態でnagiosを動作させると、監視対象が「CRITICAL」「(Return code of 127 is out of bounds - plugin may be missing) 」というステータスになる。


== 設定 ==

=== /etc/nagios ===

nagiosの各種設定ファイルがある。

=== nagios.cfg ===

nagios.cfgが設定ファイルの総元締めとなっている。このファイルで、以下のような記述を行って他の設定ファイルをインクルードしている。

{{{
# You can specify individual object config files as shown below:
cfg_file=/etc/nagios/objects/commands.cfg
cfg_file=/etc/nagios/objects/contacts.cfg
cfg_file=/etc/nagios/objects/timeperiods.cfg
cfg_file=/etc/nagios/objects/templates.cfg

# Definitions for monitoring the local (Linux) host
cfg_file=/etc/nagios/objects/localhost.cfg

# Definitions for monitoring a Windows machine
#cfg_file=/etc/nagios/objects/windows.cfg
}}}

この例の最後の行は#でコメントアウトされているが、つまりobjectsにあらかじめ用意されているファイルであっても、使用されていないものがあることに注意。


==== 管理者メールアドレス ====

/etc/nagios/objects/contact.cfgに、管理者メールアドレスを記述する(デフォルトはnagios@localhostになっている)。


==== ウェブアプリの認証 ====

後述するように/usr/share/nagios/htmlにnagiosのウェブアプリがある。


これは(デフォルトでは?)BASIC認証で、パスワードファイルは/etc/nagios/passwdになっており、nagiosadmin/nagiosadminであるので、パスワードを変更しておく。

{{{
cd /etc/nagios
rm passwd
htpasswd -c passwd nagiosadmin
New password:
Re-type new password:
}}}

==== ローカルホストの監視設定 ====

ここではローカルホストのみを監視することにする。これは「/etc/nagios/objects/localhost.cfg」に設定することになるが、後述する。

=== /usr/share/nagios/html ===

nagiosの管理画面ウェブサイトは/usr/share/nagios/htmlに格納されている。
インストール時に、/etc/httpd/conf.d/nagios.confが既に作成されているので、気に入らない場合は削除するか、名前を変更する。

ともあれ、これを表示できるようにhttpdを設定する。
先述したように、BASIC認証ファイルの/etc/nagios/passwdを変更すること。

=== 設定ファイルのチェックと起動 ===

{{{
nagios -v /etc/nagios/nagios.cfg
}}}

で設定ファイルをチェックする。

{{{
chkconfig nagios on
service nagios start
}}}
で起動する。

この状態でnagiosの管理者画面を見ると、Hostsメニューにはlocalhostのみが登録されており、StatusがDOWNになっている。
また、管理者側にAlertがメールされる。

これは、nagiosのデフォルト設定が各種プラグインのインストールを前提としているにも関わらず、プラグインがインストールされていないため。

== ローカルホストの監視設定 ==

「/etc/nagios/objects/localhost.cfg」を見ると「define service」が8つ定義されている。一方nagiosの管理画面のServicesを見ると、localhostについて、これらのサービスのStatusがCRITICAL(Return code of 127 is out of bounds - plugin may be missing)になっていることがわかる。

つまり、localhostについてこれらのサービスを監視する設定になっているにも関わらず、監視用のプラグインがインストールされていない。

不要なサービスを除去するか、あるいは監視用のプラグインをインストールし、nagiosを再起動する必要がある。

=== サービスの無効化 ===

localhost.cfgに記述したまま管理画面からdisabledにする方法もあるようだが、ここではlocalhost.cfgから除去することにする。

とりあえず、PING,Curernt Load,HTTP以外はコメントアウトし、プラグインをインストールする。

※PINGはいらないと思うが、これが無いとHostがDOWN状態のままで表示される。調べるのも面倒なので入れておく。

{{{
yum install nagios-plugins-load nagios-plugins-http nagios-plugins-ping
}}}

設定をチェックして再起動

{{{
nagios -v /etc/nagios/nagios/cfg
service nagios restart
}}}

管理画面を見てみると、すぐにはOKにはならない。しばらく待つ必要がある。

=== check_local_loadの設定 ===

localhost.cfgの「Current Load」の設定を見ると「check_local_load!5.0,4.0.3.0!10.0,6.0,4.0」という値になっているが、これでは大きすぎるので、値を小さくする。

=== ホスト名称の設定 ===

localhost.cfgのdefine hostの設定の中の、少なくともaliasを変更しておく。これは空白が含まれた名称でもよい。
異常時のメールには、この名称が記述されるため、デフォルトのままであると(複数ホストをそれぞれのnagiosで監視している場合は)区別がつかなくなってしまう。

できれば、host_nameも変更すべきだが、この場合は、その後のdefine hostgroupのmembersやdefine serviceのhost_nameもそれに合わせなければいけない。


== コマンドとその呼び出し方 ==

それぞれのdefine service内のcheck_commandで監視コマンドの呼び出しを定義するわけだが、引数は!区切りになっている。
例えば、check_pingの場合、
{{{
define service{
        use local-service ; Name of service template to use
        host_name local
        service_description PING
 check_command check_ping!100.0,20%!500.0,60%
        }
}}}

となっている。このcheck_pingコマンドの実体は、commands.cfgの中に定義されている。

{{{
define command{
        command_name check_ping
        command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
        }
}}}

つまり、!で区切られた引数が$ARG1$等として展開され、実際のコマンドを呼び出す。

これは、yum install nagios-plugins-pingでインストールされたコマンドだが、これは
/usr/lib64/nagios/plugins/check_pingとしてインストールされている。

これらのコマンドを作成する場合は、以下を参考。

 * [[http://heartbeats.jp/hbblog/2009/10/nagios-1.html]]

コマンドのパスは/etc/nagios/private/resource.cfgに定義されている。

{{{
$USER1$=/usr/lib64/nagios/plugins
}}}
https://www.gwtcenter.com/nagios-installation

この内容は以下に移動しました。

https://www.gwtcenter.com/nagios-installation