Nagiosプラグインを作成していますが、実行中に「コマンドが見つかりません」というエラーが発生します。何が間違っていますか? 127.0.0.1(またはlocalhost)が認識されないのはなぜですか? snmp リクエストを実行すると単純な数字が出力されるため、すべてがうまく実行されます。
これはスクリプトです。
#!/bin/bash
answer=snmpget 127.0.0.1 -v 2c -c public .1.3.6.1.4.1.2021.11.9.0 | grep -Eo
'[0-9]+$'
case $answer in
[1-2]*)
echo "OK"
exit 0
;;
[3-50]*)
echo "WARNING"
exit 1
;;
[51-100]*)
echo "CRITICAL"
exit 2
;;
*)
echo "UNKNOWN"
exit 3
;;
esac
答え1
変数の割り当てが正しくありません。あなたが探しているコマンドの置き換え:
answer=$(snmpget 127.0.0.1 -v 2c -c public .1.3.6.1.4.1.2021.11.9.0 | grep -Eo '[0-9]+$')
作成したとおり、次のオプションを使用してanswer=snmpget
コマンドの環境変数に設定します。127.0.0.1
-v 2c -c public .1.3.6.1.4.1.2021.11.9.0
また、[3-50]
これは[51-100]
あなたが望むものをほとんど確実に実行できないことに注意してください。望むより:比較演算子を使用できますか?