2016-12-07 11 views
0

私はLinuxの初心者です。& Nagiosプラグインですが、ルータのインタフェースがIPを失ったときにアラートを設定する必要があります(0.0.0.0と見なされます)。私は他の人々のスクリプトの少し研究を行なったし、以下のスクリプトの名前check_ip.plを書いた:Nagios - インタフェースIPチェックスクリプト

$snmpIfIP = '.1.3.6.1.4.1.23695.2.1.3.1.1.3.0.0'; 
$noip = "0.0.0.0"; 
if ($snmpIfIP != $noip) { 
echo "Interface has an IP"; 
exit 0 } else { echo "No IP on Interface"; exit 2 } 

はNagiosので、私はその後、check_commandにこれを割り当て:$ USER1 $/check_ip.pl

が割り当てられこのcheckコマンドを使用するテンプレートを作成し、このテンプレートからサービスを作成しました。 Nagiosサーバーとルーター間のSNMPが動作しています - しかし、私は "(126の戻りコードは範囲外です - プラグインは実行可能ではないかもしれません)" - 私はプラグインのコードで何か間違ったことをしてきました!私は以下のが正しいことを知っている

:ルータ上

  • (これをテストした)インターフェイスのIPを引っ張る

    • OIDが正しいIPがそう0.0.0.0で、それがために試合をします期待される議論

    誰かがアドバイスを提供することができますか、どのようにプラグインファイルを書く必要がありますか?

    多くのありがとうございます。

  • +0

    'ls -l/path/to/ProblemPlugin'' chmod + x/path/to/ProblemPlugin'する必要があります。がんばろう。 – shellter

    答えて

    2

    プラグインは実際に$USER1$ディレクトリにありますか? $USER1$はほとんどの場合/usr/local/nagios/libexecです。

    あなたがいないだけで、あなたのプラグインの実行可能であることを確認する必要があります:

    chown nagios:nagios /usr/local/nagios/libexec/check_ip.pl

    chmod +x /usr/local/nagios/libexec/check_ip.pl

    しかし、また、それは、Nagiosのユーザーによって実行可能(および所有)であること

    スクリプトをテストして手動で実行したときに正常に動作していれば、これで問題は解決します。

    ただし、投稿したコードは完全なプラグインではありません。私が見ているものは、あなたが探しているものを返すことはありません。具体的にコードに関する助けが必要なものはありますか?

    また、Nagios Plugin Development Guidelinesもチェックしてください。

    関連する問題