トリガー名について

お忙しいところ恐れ入ります。

トリガー名について、自分で記載することやマクロを用いて特定の名前にすることができるかと思いますが、
例えばログの中に書いてある内容の一部(エラーコードやメッセージなど)をトリガー名にすることは可能でしょうか。

ログ内容(例)
{"timestamp":"yyyy-mm-dd-hh:mm.ms","level":"ERROR","code":"コード番号","message":"xxxが発生しました"}

トリガー名(例)
yyyymmdd-hh:mm.ms コード番号 xxxが発生しました

アクティブチェックを使ったログ監視にて、トリガー発報時にログの大まかな内容を
トリガー名で把握することはできないかと思い、色々と調べたのですが
該当するような内容がなかったためご質問させていただきました。

思いつく限り、全てのエラー内容に合わせたトリガーを作成する必要があるかと思ったのですが
エラー内容が数百、数千とあった場合はトリガー数が膨大になるため
もし上記のような対応ができない場合、他に解決方法があればご教示いただければ幸いです。

あまり関係はないかと思いますが、当方の環境を以下に記載します。

◆構成情報
・Zabbix-Server
Version:3.0.16-1.el6
OS:Amazon Linux AMI(2017.09)

・Zabbix-Agent
Version:3.0.16-1+xenial_i386.deb
OS:16.04.3 LTS (Xenial Xerus)

◆アイテムキー
log[/var/logI/xxxx.log,ERROR]

◆トリガー条件式
{Host001:log[/var/log/xxxx.log,ERROR].iregexp(ERROR)}<>0 and {Host001:log[/var/log/xxxx.log,ERROR].nodata(180)}=0

以上、よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

トリガー名にエラーコードまで含めるとなると、トリガーを分ける
方法しか思いつきません。

アクションで送付するメールの件名を変更するような対応で良けれ
ば、標準のメディアのEmailではなく、スクリプトを実行するメデ
ィアを作成して、そのスクリプト内でログの値からエラーコードを
切り出してメールの件名に入れるようなことは実現できると思いま
す。

ユーザー jusco0103 の写真

TNK様

早急なご返信ありがとうございます。

やっぱりトリガーを分ける方法ですよね。
トリガーではなくメディアで送る内容の方で
要件が満たせるか、検討して見ます。

ご連絡ありがとうございました。

ユーザー yk_taiko の写真

(4/20 9:44 「output」 が消えていたので修正しました)

ログの形式が決まっているのであれば、
log や logrt のアイテムキーの 「output」 を使用し、
アイテムに取り込む段階で整形して item.value を使用する方法も
あるかもしれません。

その場合、アイテムのヒストリには整形済みのログしか残らないので、
それで良いのか、はたまた何か別の方法で取得しておくか
検討する必要があると思いますが..

ユーザー jusco0103 の写真

yk_taiko様

非常に有用なご連絡、誠にありがとうございます。
今までoutputのオプションを使用したことがなく、とても参考になります。

ご回答いただきながら恐縮なのですが、outputで抽出したい内容を複数を指定することはできますでしょうか。

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/l...
https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/z...

上記を拝見しましたが、特に複数指定できる様な記載がなかったため、ご存知でしたらご教示いただけますと幸いです。

よろしくお願い致します。

ユーザー yk_taiko の写真

「output」 は複数選択できますし、好きな文字列を出すこともできますね
以下、参考になれば幸いです。


-------------------------------------------------
◆アイテムキー
logrt[/tmp/outputtest.txt,"test (.*) (.*) (.*) end",,,,"No.1:\1 No.2:\2 No.3:\3"]

◆ログ
# cat /tmp/outputtest.txt
test 1つめ 2つめ 3つめ end
#

◆アイテムのヒストリ
No.1:1つめ No.2:2つめ No.3:3つめ
-------------------------------------------------
※ログは「test(スペース)<一つ目の抽出条件>(スペース)<二つ目の抽出条件>(スペース)<三つ目の抽出条件>(スペース)end」で出力される
ヒストリには「No.1:<一つ目の抽出条件> No.2:<二つ目の抽出条件> No.3:<三つ目の抽出条件>」と格納する

ユーザー jusco0103 の写真

yk_taiko様

ご返信が遅れてしまい申し訳ありません。
大変貴重なご連絡、誠にありがとうございます。

ご教示頂いた内容で、確認してみます。
おそらく本件でやりたいことができると思います。

改めて、ご連絡いただきありがとうございました。