ユーザー定義テンプレートのトリガ条件式内で、別のテンプレートで定義される値を参照できますか
OS: CentOS 6.9
ZABBIX Server 2.4.8
あるテンプレート(以下"テンプレ") のトリガ条件で、別のテンプレ "Template SNMP Interfaces" で
定義されるアイテムを参照することはできますでしょうか。
後述の設定(全文参照) を試みたのですが、エラーになります。
テンプレから 自テンプレで定義しているアイテムや、個別の定義済ホストのアイテムは参照できるようなので、
同じ書式で試みましたが、エラーになっています。
ドキュメントを見ても、できるのかできなのか 理解ができませんでした。
ご存じの方がいらっしゃいましたら、ご教授いただければと思います。
よろしくお願いいたします。
------------------------------
●やりたいこと:
・テンプレ "Template SNMP Interfaces" (のプロトタイプ) で定義されるアイテムの値を、
別のユーザー定義テンプレートの トリガの条件式 から参照したい。
●やってみたこと:
・テンプレート : T58-FloorSwitch を作成
└ テンプレートリンク: Template SNMP Interfaces
【意図】 1.このテンプレでは、別のテンプレ Template SNMP Interfaces のアイテム(等)を参照する。
2.このテンプレが適用されたホストには、暗黙的に 別のテンプレ Template SNMP Interfaces も適用する。
└ トリガ: 作成
└条件式
> {Template SNMP Interfaces:ifAdminStatus[EthernetPort(ether1)].last()}<>1
【意図】 別のテンプレート SNMP Interfaces (のプロトタイプから自動) で定義されたアイテムの中で、
キー ifAdminStatus( 固定値"EthernetPort(ether1)" ) の値が 1 以外 なら、トリガ発動。
(※上記のままだと 毎回トリガ発動されるが、「値が変化した」の条件を別途加える。)
●結果:
> エラー: トリガーを追加できません
> トリガー条件式"Template SNMP Interfaces"に正しくないアイテムキー"ifAdminStatus[EthernetPort(ether1)]"が利用されています。
補足:
・元の "SNMP Interfaces" のテンプレ内に このトリガ定義を行わない理由は、
"SNMP Interfaces" が適用されている機器 すべて ではなく、一部にのみ適用したいため です。
以上
wakaba - 投稿数: 228
広瀬です
訂正させてもらいます。
ホストまたぎのトリガー条件式は可能なのですが、テンプレ同士は不可能なようですね。
但し、出たエラーとは別のものが表示されます。
「トリガー"テンプレートA"はリンクされている他のテンプレートに含まれています 」
ただし、エラーに出ている「正しくないアイテムキー」は、存在しないアイテムを記載されようと
為ているために出たエラーなので、記述に問題があるのでは無いでしょうか?
ご確認ください
mohiron - 投稿数: 2
mohiron です。
情報ありがとうございます。(訂正前の記事は 拝見できませんでした...)
テンプレ同士(テンプレまたぎ)のアイテム参照は、不可能っぽい ‥‥ とのことですね。
その後色々試行錯誤していた内容と、頂いた回答から、
広瀬さんのお手元で出たエラーメッセージが違う件は、下記の状況によるものかと思います:
> 実際に引用したいアイテムは、 テンプレ "Template SNMP Interfaces" の 直接のアイテムではなく、
> ディスカバリルールにより自動生成されたアイテムであった。
> ( スイッチの 各I/F(ポート)毎に生成される、 個々の ifAdminStatus という SNMPアイテム )
素直に、新規作成するテンプレに、SNMP OID のアイテムとして 登録する形で対応しようかと思います。
( この方式だと、同じ SNMP OID の情報を 別アイテムとして 二重に取得することになるのですが、
キー さえ重複しなきゃ 大勢に影響ないかな、と割り切ります... )
やってみてから また コメントいたします。
yk_taiko - 投稿数: 184
やりたいことにマッチするかわかりませんが、
テンプレート同士をリンクして、(上位?下位?)のテンプレートを作成するのも一つの手です。
例えば、テンプレートA とテンプレートBをリンクしたテンプレートX を作る。
アイテムを利用したトリガーは テンプレートX で作成する。
トリガーx = {a.} & {b.}
[テンプレートX]
| |
[テンプレートA] [テンプレートB]
アイテムa アイテムb