2

リモートサーバーでプラグインコマンドを指定すると、スクリプトを実行できます。
以下の例では、プラグイン コマンドは次のとおりですget_disk

 command[get_disk]=csript.exe c:\nagios\checks\check_disks_percentage_spave_used.vbs

ただし、プラグイン コマンドを使用せずに、リモート サーバー上の NRPE がクライアント サーバー上でスクリプトを実行するようにしたいと考えています。
リモートサーバーでは、次のようになります。

check_nrpe  -H 196.35.132.9 -t 60 -c 'csript.exe c:\\nagios\\checks\\check_disks_percentage_space_used.vbs'
4

1 に答える 1

6

次の手順に従って、nagios からコマンドを実行してリモート マシンを監視できます。

  1. 2台のマシンがあるとしましょう。
  2. 監視したい場所から(マスターと呼びます)
  3. 監視したい相手(スレーブと呼びます)
  4. Linux で作業しており、マスター マシンの nagios の場所が "/usr/local/nagios" であると仮定します。
  5. スレーブマシンもLinuxで、nrpeのインストール場所は「/usr/local/nagios」です
  6. スクリプト/プラグイン/実行可能ファイルをスレーブ マシン @ /usr/local/nagios/libexec の場所に置きます。

    例 - /usr/local/nagios/libexec/test.sh
    実行権限を付与します。
    chmod +x test.sh

    1. nrpe.cfg を編集し、そこにコマンドを次のように追加します。


    vi /usr/local/nagios/etc/nrpe.cfg
    次の行
    command[testScript]=/usr/local/nagios/libexec/test.sh
    を追加し、nrpe に testScript コマンドを受け取ったときに test.sh を実行するように指示します


8. nrpe を再起動します
9. マスター マシンに移動
します 10. commands.cfg を編集します

vi /usr/local/nagios/etc/objects/commands.cfg
に次の行を追加します

define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
を追加することで、マスターマシンは check_nrpe コマンドが何であるかを認識するようになります。

  1. サービスを追加する

    define service{
    use generic-service
    host_name web-node01
    service_description count number of cmd in remote mc
    check_command check_nrpe!testScript
    }
    これで nagios はスレーブ マシンで testScript コマンドを呼び出す必要があることを認識し、スレーブ マシンで
    は testScript コマンドの実行を受信したときに定義しましたこの '
    /usr/local/nagios/libexec' の場所からの 'test.sh' (ポイント 7)

  2. Nagios から試す前に、nrpe コマンドを直接呼び出して、次のコマンドですべてが正常に機能しているかどうかを確認できます。

    /usr/local/nagios/libexec/check_nrpe -H slave_IP_Address -c testScript
    PS これは、nagios が舞台裏で実行するコマンドとまったく同じです。

于 2015-01-07T10:32:33.383 に答える