6 タグ付け
概要
タグは、タグ名とタグ値で構成されます。
エンティティにタグを付ける際は、名前だけを使用することも、値と組み合わせて使用することもできます(例: mysql、jira、target:mysql、service:jira など)。
タグは、さまざまなエンティティに定義できます。
- テンプレート
- ホスト
- アイテム
- Webシナリオ
- トリガー
- サービス
- テンプレートのアイテムおよびトリガー
- ホスト、アイテム、トリガーのプロトタイプ
タグの定義に関する一般的な推奨事項、および テンプレート、アイテム、 トリガー、ローレベルディスカバリルールに関する具体的なガイダンスについては、Zabbix公式ガイドラインを参照してください。
タグには複数の用途がありますが、特に重要なのはイベントの識別です。 エンティティにタグが付けられている場合、そのタグ付きエンティティに関連する新しいイベントは、そのタグを継承します。例えば、次のとおりです。
- タグ付きテンプレートの場合 - ホストのすべての障害(テンプレートのトリガーによって作成されたもの)は、テンプレートのタグを継承します。
- タグ付きホストの場合 - ホストのすべての障害は、ホストのタグを継承します。
- タグ付きアイテム/Webシナリオの場合 - アイテム/Webシナリオのすべての障害は、アイテム/Webシナリオのタグを継承します。
- タグ付きトリガーの場合 - トリガーによって作成されたすべての障害は、トリガーのタグを継承します。
障害イベントは、テンプレート、ホスト、アイテム/Webシナリオ、トリガーというエンティティの連鎖全体から、すべてのタグを継承します。
同一の tag:value の組み合わせ(マクロ解決後)は1つにまとめられるため、重複は回避されます。
カスタムイベントタグにより、より柔軟な運用が可能になります。例えば、次のようなことができます。
- イベント相関は、イベントタグに基づいて設定できます。
- アクション条件は、イベントタグに基づいて設定できます。
- アイテムの障害は、イベントタグに基づいてグループ化できます。
- 障害タグは、障害をサービスにマッピングするために使用できます。
エンティティには、同じタグ名で異なるタグ値を持つタグを付けることができます(例: component:memory と component:storage)。
同様に、エンティティには値のないタグと、同じ名前で値のあるタグを付けることもできます(例: database と database:postgresql)。
このようなタグは重複とは見なされません。
ユースケース
タグ付けの一般的なユースケースは次のとおりです。
-
トリガーイベントを識別する:
- トリガーのタグを定義します(例:
scope:performance)。 - このトリガーによって作成された障害には、そのトリガーのタグが付きます。
- トリガーのタグを定義します(例:
-
テンプレート継承された障害を識別する:
- テンプレートのタグを定義します(例:
target:mysql)。 - このテンプレートのトリガーによって作成された障害には、そのテンプレートのタグが付きます。
- テンプレートのタグを定義します(例:
-
ホストの障害を識別する:
- ホストのタグを定義します(例:
service:jira)。 - このホストのトリガーによって作成された障害には、そのホストのタグが付きます。
- ホストのタグを定義します(例:
-
関連するアイテムをフィルタリングする:
- アイテムのタグを定義します(例:
component:cpu)。 - 監視 → 最新データ では、アイテムを
component:cpuタグでフィルタリングできます。
- アイテムのタグを定義します(例:
-
アイテム値から抽出した情報をタグ値として使用する:
- タグ値としてマクロを含むタグを定義します(例:
tag-name:{{ITEM.VALUE<N>}.regsub()})。 - 監視 → 障害 では、障害のタグ値はアイテム値から抽出されたデータに解決されます。
- タグ値としてマクロを含むタグを定義します(例:
-
ログファイル内の障害を識別し、それぞれ個別にクローズする:
-
通知をフィルタリングする:
- トリガーのタグを定義します(例: trigger1 には
scope:security、trigger2 にはscope:availability)。 - アクション条件 でタグフィルタリングを使用し、タグデータに一致するイベントの通知のみを受信します。
- トリガーのタグを定義します(例: trigger1 には
-
通知内で障害を識別する:
- トリガーのタグを定義します。
- 障害通知で {EVENT.TAGS} マクロを使用します。
- 障害通知にはトリガーのタグが含まれるため、その通知がどのアプリケーション/サービスに属するかを容易に識別できます。
-
テンプレートタグを使用して設定作業を簡素化する:
- テンプレートのトリガーのタグを定義します。
- このテンプレートトリガーから作成されたトリガーには、そのタグが付きます。
-
ローレベルディスカバリ(LLD)からタグ付きトリガーを作成する:
- タグ名またはタグ値にLLDマクロを含むトリガープロトタイプのタグを定義します(例:
scope:{#FSNAME})。 - このトリガープロトタイプから作成されたトリガーには、そのタグが付きます。
- タグ名またはタグ値にLLDマクロを含むトリガープロトタイプのタグを定義します(例:
-
サービスタグを使用してサービスを照合する:
-
サービス障害タグを使用してサービスを障害に関連付ける:
-
ホストがメンテナンスモードのときに障害を抑制する:
- メンテナンス期間の設定 でタグを定義します。
- 定義されたタグを持つ障害は抑制されます。
-
ユーザーグループにアクセス権を付与する:
- ユーザーグループ設定 でタグを定義します。
- そのユーザーグループのユーザーは、定義されたタグを持つ障害のみを表示できます。
設定
タグは専用のタブで定義できます。たとえば、トリガーの設定です。

マクロのサポート
タグ内の組み込みマクロおよびユーザーマクロは、イベント発生時に展開されます。 イベントが発生するまでは、これらのマクロは Zabbix Webインターフェース で未展開のまま表示されます。
ローレベルディスカバリマクロは、ディスカバリ処理中に展開されます。
以下のマクロは、トリガーのタグ名および値で使用できます。
- {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT}, および {HOST.ID} の組み込みマクロ
- {INVENTORY.*} の組み込みマクロ(トリガー式内の1つまたは複数のホストからホストインベントリ値を参照するため)
- ユーザーマクロおよびコンテキスト付きユーザーマクロ(コンテキストにはローレベルディスカバリマクロを含めることができます)
- ローレベルディスカバリマクロ(トリガープロトタイプのタグ内のみ)
以下のマクロは、テンプレート、ホスト、アイテム/Webシナリオのタグ名および値で使用できます。
- {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT}, および {HOST.ID} の組み込みマクロ
- {INVENTORY.*} の組み込みマクロ
- ユーザーマクロ
- ローレベルディスカバリマクロ(ホストプロトタイプおよびアイテムプロトタイプのタグ内のみ)
以下のマクロは、トリガーベースの通知で使用できます。
- {EVENT.TAGS} および {EVENT.RECOVERY.TAGS} の組み込みマクロ(これらのマクロは、イベントタグまたは復旧イベントタグのカンマ区切りリストに展開されます)
- {EVENT.TAGSJSON} および {EVENT.RECOVERY.TAGSJSON} の組み込みマクロ(これらのマクロは、イベントタグオブジェクトまたは復旧イベントタグオブジェクトを含む JSON 配列に展開されます)
トリガータグでの部分文字列抽出
タグ名またはタグ値の設定では、マクロ関数を使用した部分文字列抽出がサポートされています。 この関数は、サポートされているマクロによって取得された値に正規表現を適用します。例えば、次のようになります。
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
マクロ解決後のタグ名またはタグ値が255文字を超える場合、255文字に切り詰められます。
関連情報: イベントタグ付けのためのローレベルディスカバリマクロでのマクロ関数の使用も参照してください。
イベントタグの表示
タグが定義されている場合、新しいイベントで次の場所に表示できます。
表示されるタグの順序と数は、監視 → 障害 または 障害 ダッシュボードウィジェットの タグ表示優先度 および タグの表示 フィルタリングオプションによって決まります。
表示できるタグは最大3つまでであることに注意してください。タグがそれより多い場合は、3つのドットにマウスオーバーすると、ポップアップウィンドウですべてのタグが表示されます。
