キーワードがトリガーされた場合にログファイルを監視するシェルスクリプトを実行してから、snmptrapコマンドを実行します

ヴィグネシュ

shell scriptlikeを使用してログファイルを監視する方法はありますtail -f /var/log/errorlog.txtか?downキーワードのようなものが表示された場合は、を生成SNMPTRAPsnmp managerて監視を続行します

SNMP生成できるスクリプトがありますが、SNMPTrap次のようになります。

snmptrap -v v2c -c community host "Error message"

スクリプト名が snmp.sh

私の質問は、以下の操作を実行する方法です

  1. ログの末尾
  2. キーワード[ダウン]が一致する場合は、snmp.shスクリプトを使用してアラートを送信します
  3. そうでなければ去る

提案に従って、私はこれを試しました

tail -F  /data/log/test.log |

egrep -io 'got signal 15 | now exiting' | 

while read -r line ;
do

    case "$line" in
       "got signal 15")
        echo "hi"
            ;;
        "now exiting")
        echo "hi2"
             ;;
        *)


    esac
done

しかし、問題は、新しいログの詳細が追加されたときはいつでも、ここではcaseステートメントでテールが機能せず、caseステートメントに移動せず、出力をエコーすることです。

cat / less / moreを使用すると、出力を取得できます

誰かが私がここでどんな間違いをしたか教えてもらえますか?

前もって感謝します

l0b0

あなたが望むパターンはこれのように聞こえます:

tail -f /var/log/errorlog.txt | grep -e down -e unmounted | while read -r line
do
    case "$line" in
        down)
            ./snmp.sh …
            ;;
        unmounted)
            ./snmp.sh …
            ;;
        *)
            echo "Unhandled keyword ${line}" >&2
            exit 1
    esac
done

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ