ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
メインメニュー
My Twitter

NRPEを使い別ホストのlogをNagiosで監視する

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-28 18:00 | 最終変更
takahashi  一人前 居住地: 千葉県船橋市  投稿数: 73
NRPEというプラグインモジュールを使うと、Nagiosでゲスト側の細かい監視データを採取できるようになります(エージェント動作)。今回は、Nagiosが動いている監視サーバとは別のサーバ(ゲスト側)でNRPEエージェントを稼働させ、ゲスト側のログからある特定のキーワードを見つけると障害発生(アラート)とする設定例を書いてみます。
○サマリー
1.ゲスト側の設定
    1-1.NRPEのインストール
    1-2.Nagios本体から呼び出される監視モジュールの設定
    1-3.root権限が必要な場合の設定
    1-4.単体テスト

2.ホスト側の設定
    2-1.必要なプラグインがあるかの確認と必要であればインストール
    2-2.ゲスト側の監視モジュールをNRPE経由でテスト
    2-3.Nagiosの各種設定
    2-4.動作確認

○検証に使った環境

1.ゲスト側        192.168.0.151
    Debian GNU Linux 6.0.3 squeeze
    kernel                    2.6.32-5-686
    nagios-nrpe-server        2.12-4
    nagios-plugins            1.4.15-3squeeze1
    nagios-plugins-basic      1.4.15-3squeeze1
    nagios-plugins-standard   1.4.15-3squeeze1

2.Nagiosホスト    192.168.0.152
    Debian GNU Linux 6.0.3 squeeze
    kernel                    2.6.32-5-686
    nagios3                   3.2.1-2
    nagios-plugins            1.4.15-3squeeze1
    nagios-plugins-basic      1.4.15-3squeeze1
    nagios-plugins-standard   1.4.15-3squeeze1
    nagios-nrpe-plugin        2.12-4
それではゲスト側から作業を開始します。

1-1.NRPEのインストール
aptitude install nagios-nrpe-server
このコマンドでNRPEエージェントと必要なNagiosプラグイン一式が全てインストールされ、自動的にエージェントはデーモンとして動作を始めます。デフォルトではlocalhostからしか接続を受け付けないので、/etc/nagios/nrpe.cfg の設定を変更します。
allowed_hosts=127.0.0.1
となっているので、NagiosホストのIPアドレスを追加します。
allowed_hosts=127.0.0.1,192.168.0.152 ←例:152がNagiosホスト
設定を変更したら、/etc/init.d/nagios-nrpe-server restart を忘れずに!


1-2.Nagios本体から呼び出される監視モジュールの設定

/etc/nagios/nrpe.d/にNagiosホストから呼び出されるコマンドの登録を行います。
今回はLogをチェックして”ERR”という単語がある行を見つけたらクリティカル(致命的)なエラーだと検出する方法です。
/usr/lib/nagios/plugins/check_log -F /var/log/messages -O /tmp/.messages_old -q ERR
これにはcheck_logというプラグインを使います。このプラグインは呼び出される度に、-F で指定されたファイルを -O で指定されたファイルと比較してdiffを取ります。その差分の中に指定されたキーワードがあるか調べて結果を返します。その後、-F で指定したフィルを -O のファイルへコピーします。
※ですから、一番最初に呼ばれた時には -O のファイルは無いので単にファイルをコピーするだけの動作を行います。

このプラグインの動作を確認して正常に作動しているなら、下記内容をcheck_log.cfgと名前を付けて /etc/nagios/nrpe.d/ に置きます。
command[check_log]= sudo /usr/lib/nagios/plugins/check_log -F /var/log/messages
 -O /tmp/.messages_old -q ERR
※上記のコマンドは一行です。

1-3.root権限が必要な場合の設定

NRPEは実行時にnagiosというユーザで実行されます。今回は/var/log以下のファイルを読むのでroot権限がないとファイルが読めません。そのため、sudoで実行出来るように設定します。

visudo を実行して、最下行に nagios ALL=NOPASSWD:/usr/lib/nagios/plugins/check_log を追加して下さい。
※もしvisudoを実行したときになにやらエラーを起こすときは、自動起動するnanoというエディターのインストールに問題がある場合です。aptitude purge nano と一度きれいに消してから、aptitude install nano と再インストールしてみて下さい。だいたい、これで治ります。


1-4.単体テスト
sudo -u nagios sudo /usr/lib/nagios/plugins/check_log -F /var/log/messages
 -O /tmp/.messages_old -q ERR
…と、実行して動作を確認して下さい。

以上でゲスト側(監視される方)の設定は終了です。
次にNagiosが動いているホスト側の設定に移ります。



2-1.必要なプラグインがあるかの確認と必要であればインストール

NRPEを一度も使っていないのであれば、NRPEのプラグインのインストールが必要です。
aptitude install nagios-nrpe-plugin
を実行し、/etc/nagios-plugins/config/ に下記ファイルを作成しましょう。
/etc/nagios-plugins/config/nrpe.cfg
# check nrpe
define command{
       command_name    check_nrpe
       command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       }


2-2.ゲスト側の監視モジュールをNRPE経由でテスト

それではNRPE経由で監視情報がとれるかチェックしてみます。
/usr/lib/nagios/plugins/check_nrpe -H 192.168.0.151 -c check_log
-H はNRPEが動作している被監視サーバを指定します(名前でも可)。
-c は1-2.で設定したコマンド名を指定します。

何も問題がなければ、Log check ok - 0 pattern matches found という表示が出るはずです。


2-3.Nagiosの各種設定

/etc/nagios3/conf.d/services_nagios2.cfg
# check log
define service {
       hostgroup_name        check_log
       service_description   LOG check
       check_command         check_nrpe!check_log
       use                   generic-service
       max_check_attempts    1
       retry_interval        1
       }
【注意】 ゲスト側で実行されるchek_logというプラグインは、異常を検知しても通知されるのは1回きりです。しかし、Nagiosのデフォルト設定は連続で4回エラーが発生しないと通知メールが発行されませんので設定を少し追加します。

上記のmax_check_attemptsがその為の設定で、これは1回でもエラーが発生すると通知を発行します(つまり、デフォルトはこの値が4になっている)。また、エラー通知状態になった後のチェックは1分間隔とするのが次のretry_intervalの指定です。正常な状態に復帰するとデフォルト5分間隔のチェックに戻ります。

そして、/etc/nagios3/conf.d/hostgroups_nagios2.cfg に、
define hostgroup {
             hostgroup_name  check_log
             alias           Log
             members         server01   ←被監視サーバ 192.168.0.151
             }
を追加すればNagios側の設定は終了です。


2-4.動作確認

しばらく放置してLogの状況やわざとERRを起こしてみてちゃんとエラーメールが飛ぶかどうか動作を確認して下さい。
投票数:3 平均点:10.00

  条件検索へ


Calendar
TS3
TS3 Minolin server TeamSpeak Viewer