LAN上でNagiosCoreサーバーを実行しています。ネットワークの外に5台のWindowsマシンがあり、5つのカスタムNSClient ++アプリをリッスンしている5つの異なるポートの5つのsshトンネルを介して通信しています。すべてがこの構成でうまく機能していますが、実際に必要なのは実際の物理メモリだけであるにもかかわらず、check_ntMEMUSEが奇数を示していることに気づいています。
掘り下げて調べたところ、check_nrpeが見つかりました。これにより、探しているデータが得られます。
Commands.cfgに以下を追加しました:
_define command {
command_name CheckWindowsPhysicalMem
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c CheckMEM -a MaxWarn=$ARG1$% MaxCrit=$ARG2$% ShowAll=long type=physical
}
_
そして、私は自分のwindows.cfgに以下を入れます
_define service{
use generic-service
Host_name HOSTNAME
service_description Physical Memory
check_command CheckWindowsPhysicalMem!80!90
}
_
Nagiosとnagios-nrpe-serverの両方を再起動すると、次のエラーが発生します。
CHECK_NRPE: Receive header underflow - only 0 bytes received (4 expected)
ここで何を見逃したのかはわかりませんが、依存関係またはパッケージのように思われる場合。 Google-fuはこれで負けました。
1。NRPE接続のテスト
次のように、NRPEを介してWindowsとNagiosの間の接続をテストできます。
./check_nrpe -H Server
I (0.4.3.143 2015-04-29) seem to be doing fine...
Check_nrpeに引数を渡さない場合、サーバー(Windowsクライアント)は彼のバージョン番号で応答します。
2。コマンドのテスト
Windowsクライアントでは、nscp test
を使用してコンソールでローカルにコマンドをテストできます。
コマンドが良い結果を返す場合、引数なしでnagiosサーバーからテストできます:
# ./check_nrpe -H Server -c alias_cpu
OK: CPU load is ok.|'total 5m'=1%;80;90 'total 1m'=1%;80;90 'total 5s'=2%;80;90
。NRPE引数
デフォルトでは、NRPEはセキュリティ上の理由からNagiosからリモートクライアントへの引数の送信を許可していません。したがって、各Windowsステーションのnsclient.iniで有効にする必要があります。