テンプレートの作成方法

お世話になっております。

掲題にある通りなのですが、
テンプレートを100個ほど作成する必要があるのですが、
1つ1つ作成すると、効率も悪く時間がかかってしまうので、
まとめて作成する方法や、効率の良い手段があればご教授ください。

コメント表示オプション

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

広瀬です。

質問意図が若干理解しかねるのですが、テンプレートの中身がどの程度の乖離があるかだと思います。
たとえば、死活・性能監視のみでサーバ毎に変化させたいという程度なら、1種作って変更点だけ変えて
名前変更しなおして、インポート・エクスポート繰り返せばよくありませんか?

ご理解はされていると思いますが、例えば死活・性能監視のテンプレとJMX、またはVMの監視を個別に
数種類もテンプレートを作る場合はそれぞれ1個づつ作るしか無いでしょうね。

 ※性能監視に関して言えば、CPU/Disk/Memory、NICなどはLLD使えば機器差異は吸収してくれるので
   LLDを併用することで、格段にテンプレートの作成数は減ります

 ※尚、ご存じとは思いますがLLD機能はVerによっては出来る事と出来ない事があるので、自前でLLD用
   のカスタムスクリプトを作成する必要があります<Ver2.4まではメモリはLLD利用ができません

あと、アイテム・トリガーですが、監視対象機器により細かな値が変化してくる場合もあるので、それ毎にテン
プレ作るなど苦痛の極みですから、マクロを使う事をおすすめします。多様するとどれがどれかわかりづらい
ですが、基本はテンプレートマクロが一番楽です。

私の場合は

 ①システム・死活監視系はOS別で基本2種
 ②性能監視系はLLDとマクロ併用でCPU/Disk/Memory/NIC等の4種xOS別2種の計8種
 ③アプリ性能用はアプリ毎で分類<JMXやVMなどもそこに分類
 ④他、ネットワーク機器専用系や、H/W監視専用テンプレなど個別に作成

ってな感じで一挙に100個もテンプレ作らなくても良い扱いにはしてます。ただ、③や④は欲張ると結構かさばります
が、Apache監視専用のテンプレが数十も存在はしません。あっても2個程度です。

ユーザー TKG の写真

お世話になっております。

説明不足で申し訳ございませんでした。

>たとえば、死活・性能監視のみでサーバ毎に変化させたいという程度なら、1種作って変更点だけ変えて
>名前変更しなおして、インポート・エクスポート繰り返せばよくありませんか?

 上記の方法で行う予定だったのですが、100回繰り返すとなると、
 あまりにも非効率のように感じまして、100個分のテンプレートを数回で作成可能な方法があれば
 ご教授して頂きたく、質問させてもらいました。

>あと、アイテム・トリガーですが、監視対象機器により細かな値が変化してくる場合もあるので、それ毎にテン
>プレ作るなど苦痛の極みですから、マクロを使う事をおすすめします。多様するとどれがどれかわかりづらい
>ですが、基本はテンプレートマクロが一番楽です。

 zabbix初心者で申し訳ございません。
 テンプレートマクロを使用したことなく、作業効率の向上が見込めるのであれば
 使用してみようと思っております。

ユーザー TNK の写真

 上記の方法で行う予定だったのですが、100回繰り返すとなると、
 あまりにも非効率のように感じまして、100個分のテンプレートを数回で作成可能な方法があれば
 ご教授して頂きたく、質問させてもらいました。

テンプレートのインポートやエクスポートは、複数まとめて実行す
ることができます。

ただし、あまり読み込むXMLのファイルサイズが大きくなってくる
と、PHPのパラメータも調整する必要があるのでご注意ください。
※ 例えばupload_max_filesizeなど

それよりも、wakabaさんが書かれている通り、今後のメンテナンス
なども考慮すると、テンプレートをもっと集約した方がよいと思い
ます。

ローレベルディスカバリ(LLD)とかも活用されていますか?

ユーザー TKG の写真

早急なご回答ありがとうございます。

以下、引用させていただきます。

>テンプレートのインポートやエクスポートは、複数まとめて実行す
>ることができます。
>
>ただし、あまり読み込むXMLのファイルサイズが大きくなってくる
>と、PHPのパラメータも調整する必要があるのでご注意ください。

 ありがとうございます。まずはこちらの方法で試してみようと思います。

>それよりも、wakabaさんが書かれている通り、今後のメンテナンス
>なども考慮すると、テンプレートをもっと集約した方がよいと思い
>ます。

>ローレベルディスカバリ(LLD)とかも活用されていますか?

 申し訳ございません。私自身、今回のzabbixサーバの内容を
 まだ把握しておらず、引き継ぎの話を受けただけ状態になっており
 使用しているのかどうか確認できておりません。

ユーザー TNK の写真

どのようなテンプレートなのかがわからないので、あくまでも推測
なのですが、例えば、ネットワーク機器で、ポートの数が異なるか
らということでテンプレートが分けられていたりするようなことは
ありませんか?

LLDを利用すると、標準の機能では、ネットワークインターフェー
スやマウントされたディスクを自動的に探索して、それぞれのデバ
イスごとに監視の為のアイテムやトリガーを自動生成することがで
きます。
その機能を応用して、独自に監視する対象のリストを生成して、そ
のリストの要素ごとにアイテムやトリガーを自動生成することもで
きます。

ですので、テンプレートの違いが、そういった繰り返しを行うよう
なものの個数だけが異なるような場合は、LLDを利用することで集
約することができるかもしれません。

100個ものテンプレートの作成や管理は大変だと思うので、Zabbix
の機能を活用して作業を軽減できないか検討してみてください。

LLDの活用は、何人かの方がブログなどで情報を公開していたりも
するので、それらの情報も参考にしてみてください。

ユーザー TKG の写真

早急なご回答ありがとうございます。

実際の物を確認してから、
どうするか、検討してみます。

ご教授いただきありがとうございました。

広瀬です

Zabbix引き継ぎなんですね。私は引き継いで引退した身なので逆ですが・・・(^^;
私はVer1.4のころからの付き合いなので、変化・変遷をある程度見てきているので、マクロやLLDなどは
目から鱗な機能な訳なので、多用・常用してしまいがちでした。あしからず。

テンプレートの概念は、基本監視対象毎(=ホスト毎という事)に作成する必要が無い事はご理解頂けると、
少し理解しやすいかなと思います。ただこの辺は1から10まで完璧に『こうすれば良い』という伝授法は存
在しないので、弄り倒して覚えて頂く以外には方法無いです<習うより慣れろ・・・です

①ホストA~Dでは死活と性能監視、Apache監視をしたい

②ホストE~Gでは死活と性能監視、MySQL監視をしたい

③ホストH~Mでは死活と性能監視のみしたい

という条件ならば、大まかに言えば死活テンプレート1つ、性能監視1つ、Apache監視1つ、MySQL監視1つ
といった具合に分類すれば良いです。前回の説明では死活と性能分けている旨お伝えしましたが、分類する
必要性が無ければ、死活と性能をがっちゃんこして、1つでも良い訳です。

 ※あくまでもA~Dの死活・性能、Apache監視の内容がすべて同一であること前提です
 ※一つでもアイテム・トリガーの増減がある場合はテンプレート+個別にする以外は方法ありません<差分吸収のためのマクロでもあるが

とりあえず、まずはテンプレートを数種類作ってみてください。その上で簡略化したい場所、および差分を統一化
したいといった部分が出てくるはずです。その上で、応用としてLLDやマクロが使えます。
マクロは大して覚える事はありませんが、LLDは若干クセがある(コピーが出来ないとか、画面変遷が覚えづらい)ので、
テンプレート、マクロを覚えたら手を出すって感じが良いと思います。

ユーザー TKG の写真

ご丁寧にご説明ありがとうございます。

すべてのホスト毎に作成しなければならないものだと
自分では考えておりましたので、
テンプレートの使い方について理解することができました。

マクロやLLDに関しては、実際に触ってみてから
実践に使用していければと思っております。