ストレージがエージェントを介してzabbixで監視されているとしましょう。zabbixのストレージに障害が発生した場合、スクリプトによって生成されたエラーの説明をメールで送信する必要があります。zabbixが文字列出力(ala nagios)を取得してレポートすることは可能ですか(文字列の監視とレポートが見つかった/見つからなかっただけではありません)、またはレポートは整数でのみ機能しますか?
2 に答える
Zabbixで文字列またはテキストの正規表現チェックを行うのは非常に簡単です。これは、エラーまたは「ok」メッセージをエコーする簡単なコマンドラインチェックで実行できます。
たとえば、ログで「ドライブ障害」を確認してメールで送信したい場合、Zabbixの「キー」としてこのようなことを行います。
system.run[grep 'drive failure' /var/log/message || echo 'okay']
チェックを「テキスト」に設定すると、一致した一致または正常なメッセージが報告されます。次に、アラームで正規表現を使用して、「OK」と一致しないものについてメールを送信できます。次に例を示します。
{your_template:system.run[grep 'drive failure' /var/log/message || echo 'OK'].regexp(OK)}#1
これは、「OK」以外のテキスト行を受信した場合に警告を発します。
Zabbixでテキストを操作する場合、いくつかの制約があります。1つ目は、Zabbixが最初の行のみを報告することです。2つ目は、チェックは常にテキスト(OKメッセージまたはエラー)を返す必要があるということです。チェックすると空のZabbixが壊れていると思います。
エラーのテキストを含むテキストまたはログアイテムを作成し、このアイテムを使用してトリガーを作成して、たとえば「エラー」という単語または何らかの値をチェックすることができます。そのトリガーのアクションを作成し、通知にアイテムの値を含めるには、{ITEM.LASTVALUE}マクロを使用します。
通知で使用できるマクロのリストは次のとおりですhttp://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location。