Zabbix
10のポイント【4】テンプレートは直接 or 間接? ~テンプレート構造問題~
Zabbixは監視項目(アイテム)や障害条件(トリガー)、性能グラフをテンプレートというひな型で管理します。監視対象(ホスト)に直接、監視設定を行うこともできますが、監視対象の台数が数百、数千という規模になった場合は、テンプレートをいかに効率よく使いこなすかが管理コストに大きな影響を与えます。
テンプレートのリンクパターン
Zabbixのテンプレートはホストにリンク(関連付け)することで、テンプレート内のアイテムやトリガーがホストに登録される流れになります。
テンプレートのリンクの仕方は大きく2つに分けることができます。
直接リンク
ホストに対して、複数のテンプレートを1:nの関係で直接リンクします。通常はこの直接のパターンでテンプレートをリンクするケースが多いと思います。
|
間接リンク
テンプレート同士のリンク機能を利用して、1:1:nの関係で各種テンプレートと間接的にリンクします。
下記の例の場合、ホストにリンクするのは「中間テンプレ」という、中身が空のテンプレートのみで、「テンプレートA~C」とのリンクは「中間テンプレ」側で管理しています。
「中間テンプレ」にはアイテム、トリガーは一切作成せず、ホストにリンクするための仮想的なテンプレートという位置づけで作成します。
|
「直接」と「間接」、それぞれの運用イメージを解説します。
直接のケースの運用イメージ
「直接」は下記のように、各ホストが直接リンク先のテンプレートを認識している状態になります。図のようにホストが少数であれば複雑ではないのですが、ホストが数百台、テンプレートの種類も数十以上となった場合、個々のホストがどのテンプレートを利用しているかを把握、管理することは非常に大変です。またホストの新規追加の際にも、漏れなく必要なテンプレートが適用されているか確認することも大変です。
|
次にテンプレートを追加する場合を考えたいと思います。例えば全てのホストに対して、新しいプロセス監視用のテンプレート「テンプレート_D」を追加する場合、下記のように、1件ずつホストにテンプレートを追加する必要があります。
※Zabbixの操作方法次第では、複数のホストに対してまとめて同じテンプレートをリンクすることは可能です
|
テンプレートの削除の時も、下記の通り個々のホスト毎にリンク削除の操作を行う必要があります。
|
「間接」のケースの運用イメージ
「間接」は下記のように、ホストが直接認識するテンプレートは「中間テンプレ」のみとなります。新規のホスト登録時にも、全てのホストにリンクするのは「中間テンプレ」一つだけで良いため、リンク作業が単純化されるメリットがあります。
|
テンプレートを追加する場合を考えたいと思います。「直接」の例と同じように、全てのホストに対して新しいプロセス監視用のテンプレート「テンプレート_D」を追加する場合、全ホストへのテンプレートのリンクではなく「中間テンプレ」に対して一回リンクを追加すれば、「中間テンプレ」がリンクされたホスト全てに「テンプレート_D」が追加されます。
つまり、個々のホストと末端の各種テンプレートとのリンクを意識する必要がなく、「中間テンプレ」との関係のみ意識すれば良いわけです。ホストが数百台などと非常に多い環境では、手順が大きく簡素化されます。
|
テンプレートの削除時の下記でも、個々のホスト毎にリンク削除の操作を行う必要はありません。
|
まとめ
「直接」と「間接」の運用イメージを踏まえ、それぞれの特徴からのオススメ運用方法は以下となります。
「間接」はホストとテンプレートの間にワンクッション挟むことで、ホストとテンプレートの直接の
関係性を吸収し、操作が単純化するメリットがあります。
ただ、「中間テンプレ」が途中に追加されるため、どのホストに対してどのテンプレートがリンクされているかの把握など、構造が複雑になるデメリットもあります。
基本的には下記の例で示すような、各OS(WindowsやLinuxなど)で共通で利用するテンプレートは「間接」で管理し、個別利用のテンプレートは「直接」で管理するのが向いています。
テンプレート設定例
|
|
技術コラム Zabbixを使いこなす10のポイント
- コラム執筆者:中村 利一