通知メールにアイテムの取得時刻を載せたい...
通知メール(アクション)のメッセージ欄に,過去数回分のアイテムの値と併
せて,その取得時刻を載せたいのですが,可能でしょうか?
--
#1 {{HOST.HOST}:{ITEM.KEY1}.last(#1)}
#2 {{HOST.HOST}:{ITEM.KEY1}.last(#2)}
#3 {{HOST.HOST}:{ITEM.KEY1}.last(#3)}
--
アイテムの値は上記の様に書けば良いことがわかったのですが,それぞれの取
得時刻の書き方が分かりませんでした.
CentOS-6.9でZabbix-2.4.8を使っています.
よろしくお願いいたします...
fripper - 投稿数: 495
アクション通知時のメッセージ表記等の設定については、以下の解説ページにある
とおりとなっています
https://www.zabbix.com/documentation/2.4/manual/config/notifications/action
それら設定に利用できる「{xxx}」のようなマクロ表記のうち、
アクション設定部で利用できる・有効となるのは、以下のマクロ一覧ページにあるうち
https://www.zabbix.com/documentation/2.4/manual/appendix/macros/supported_by_location
「Trigger-based notifications and commands」 となっている一番左側の列に「×」マークが
記載されているものだけです
トリガーの判定条件式で「{ITEM.KEY1}.last(#xx)」といった表記をして、トリガーの成否判定をさせることはできますが
このような表記をアクション設定部分に書いて、「過去xx番目に得た値」がアクション本文で
表示される動作になっているのは、「たまたまそういった動作になっているだけ」なのではないかと思います‥
マクロ表記を展開してアイテムキーの表記+last関数っぽい表記‥とだけ展開されるだけのはずが、
トリガー条件式っぽい表記となっているものを、サポート外のはずの展開をしてしまって
アイテム値の表示となってしまっている‥といった状況‥
残念ながら、それぞれの値に対して、取得した時刻そのものを表示する方法はありません
アクション通知処理が発生した時点の時刻情報であれば、「{EVENT.TIME}」が使えると思いますが
過去xx番目の各アイテム時刻とは一致しないですね‥
######
「{ITEM.KEY1}.last(#xx)」という表記がたまたま動作して
ntakao - 投稿数: 2
コメントありがとうございます.
サポート外の動作ということで,理解しました.
最初は元から設定されていたものを複写して条件を変えて使っていたので,{ITEM.VALUE1} を見ていたのですが,
過去の値は見れないものかと,トリガの式を書いたら上手くいったので,更にアイテムの取得時刻が出れば完璧
と考えたのですが…【たまたま動作している】ということでしたか…
過去の値があれば,メールだけである程度の状況判断が出来るかなと思ったのですが…
少し欲張りすぎたようです.
ご教授ありがとうございました...
fripper - 投稿数: 495
標準機能だけでは実現できませんが‥
アクション通知を単純なメール送信ではなくスクリプト実行としたうえで、
そのスクリプト内部で、Zabbix APIを叩く‥といった手法が思いつきました
アクション通知時の「本文」等、スクリプトのパラメータとして受け取れる値の一部に
「ITEM.ID1」など、当該アイテムを識別できるような値を入れておいたうえで
スクリプトが実行された時点で、スクリプト内部からAPIを叩いて、
当該アイテムIDに関する history値を3つ分・過去2時間分など、
本文に表記したいだけの過去値をAPIから取得し、その時刻情報とともに並べて表記して
メールの本文としてメッセージを組み立てて、メール送信を行う‥といった形です‥
スクリプトを組まなきゃいけないこと
アクション実行のたびにAPIを叩くことになるので、負荷等も含めて考慮しなければいけないこと‥
かなり敷居は高くなってしまいますが、実現の可能性は有ります‥