templateの監視間隔を修正すると各Itemの監視間隔のカスタマイズが消えてしまう
お世話になります。
大量にItemにリンクされているtemplateの「監視間隔」の値を変更する予定です。
テストしてみたところテンプレートを更新すればItemの監視間隔も変更されることを確認できたのですが、
各Itemに個別に設定している「監視間隔のカスタマイズ」が消えてしまうようです。
各Itemの「監視間隔のカスタマイズ」はそのままに「監視間隔」だけを修正する方法はないでしょうか。
なければtemplateを修正後、地道に各Itemの「監視間隔のカスタマイズ」を設定し直すしかないのかなと考えています。
テンプレートをリンクしたままユーザーマクロ以外を弄るな、といった
「そもそもテンプレートの使い方とは」的お叱りでも構いませんので、
ご意見いただけると助かります。
よろしくお願いします。
kz999 - 投稿数: 24
すみません、書き忘れましたが環境は zabbix 4.0.5 です。
Yasumi - 投稿数: 380
テンプレートのアイテム設定を、各ホストごとに個別に変更しているのですか?
(そして「監視間隔のカスタマイズ」が消えることを初めて知りました)
たぶんそのままだと無理だと思いますね。。。
個別に変更しているホストをテンプレートから離脱して完全に個別として運用するか、
ある程度ホストごとに監視間隔のまとまりを作って別のテンプレートとすり替えるか、かなと思います。
kz999 - 投稿数: 24
ご回答ありがとうございます。
APIで「監視間隔」の項目「delay」を取得してみたところ、
どうも「delay」の値は「監視間隔」「監視間隔のカスタマイズ」と一体になって設定に保存されているようでした。
(直接DBみたわけじゃないですが)
{u'delay': u'300s;0/7,00:00-24:00', u'name': u'(略)
ですのでテンプレートの「監視間隔」更新はリンクされてるアイテムの
「監視間隔;監視間隔のカスタマイズ」を同時に上書きする動作で、ちょっと回避方法はなさそうな感じですね。。。
うーん、失敗したなあ。
zabbix3.4から監視間隔にユーザマクロが使えるようですから、
今回だけ「監視間隔」をユーザマクロに置換&「監視間隔のカスタマイズ」の再設定を頑張って、
今後「監視間隔」の変更はユーザマクロ変更で対応すれば、とりあえず問題回避できそうではあります。
テンプレートのリンクを保持したままであればname・keyのパラメータ等ルール変更を一斉にできるメリットは
捨て難いので・・・でも、やっぱりリスクも高いですね。
Yasumi - 投稿数: 380
①ホストからテンプレート(A)を離脱
②テンプレート(A)をすべて複製して、テンプレート(B)を作成
③テンプレート(B)に「監視間隔;監視間隔のカスタマイズ」を設定
④ホストに割当
上記のような方法で、「監視間隔;監視間隔のカスタマイズ」を維持したテンプレート作成は
できるかもしれませんね。運用上どうするかはあると思いますが。
kz999 - 投稿数: 24
方法のご教示ありがとうございます。
現在の形を前提とした運用にしてしまっている為、今回はリンクを切らずに対応しようと思っていますが、今後の運用をどうするか含め検討してみます。
kz999 - 投稿数: 24
ちょっと追記です。
過去はそんな動きしたっけなあ、と確認してみたところver3.2まではこの項目明確に分かれていたみたいですね。
なので分かれてた時代のzabbix server であれば、テンプレートの「監視間隔」を更新したからといって、
リンクしているアイテムの「監視間隔のカスタマイズ」まで巻き込んで上書きしてしまう動きにはならないようです。
・ver3.2まで
監視間隔 → delay
監視間隔のカスタマイズ → delay_flex
・ver3.4以降
監視間隔;監視間隔のカスタマイズ → delay
マニュアルからもしれっと「delay_flex」は消えてました。
https://www.zabbix.com/documentation/3.2/manual/api/reference/item/object
https://www.zabbix.com/documentation/3.4/manual/api/reference/item/object
(個人的には改悪ですが、必要があってそうしたんだろうと思う事にします)