アクションのメッセージ内容に「$hoge」等の文字列が混在した際の動作
いつもお世話になっております。
掲題の件につきましてご質問させていただきます。
動作環境: Zabbix 2.4.2、Zabbix 2.2.4
「$hoge」等の文字列を含んだ出力があるログの監視をおこなっています。
※ アプリケーションのTraceログの監視をしています。
この監視のアクション設定として「デフォルトのメッセージ」に
以下の通りマクロを定義し、通知メッセージ内にアイテムで取得した
データ(ログの内容)を含めています。
{{HOST.HOST1}:{ITEM.KEY1}.last(#5)}
{{HOST.HOST1}:{ITEM.KEY1}.last(#4)}
{{HOST.HOST1}:{ITEM.KEY1}.last(#3)}
{{HOST.HOST1}:{ITEM.KEY1}.last(#2)}
{{HOST.HOST1}:{ITEM.KEY1}.last(#1)}
その際、通知メッセージ内のデータ(ログの内容)から
「$hoge」形式の文字列のみ通知メッセージから欠落する
事象が発生しています。
上の通り、バージョン2.4.、2.2で確認してます。
通知メッセージの生成時に「$hoge」が文字列としてではなく、
変数扱いで展開されているのではないか?と推測しているのですが、
仕様なのかバグなのか?その辺りの挙動につきまして、ご存知の方や
ソースコードを解読できる方いらっしゃいましたらご教示ください。
またバグの場合は、報告できる方いらっしゃればそちらもお願いしたい思います。
宜しくお願いします。
TNK - 投稿数: 4769
独自のメディアスクリプトを利用してアクションを実行されている
のであれば、すでにバグとして報告されています。
ZBX-4529
Some shell metachars not escaped when call alert script
https://support.zabbix.com/browse/ZBX-4529
よく見ると、解決対応の状態が「Fixed」になっていますね。
そうすると、修正対応は終わっているので、順調に行けば、2.0.15、
2.2.10、2.4.6あたりで修正されたものがリリースされそうです。
お急ぎであるならば、「$」「`」だけ利用できる文字として追加す
る方法として、ソースの一部を修正して対応する方法はあります。
7to - 投稿数: 5
TNK様
早々にご返答いただきありがとうございます。
まさにZBX-4529のバグだと思います。
既に解決済のバグだったのですね。
本件、アラート発生時にサーバのログファイルを直接確認する運用で
回避し、リリースを待ちたいと思います。