This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

1 ユーザーマクロ

概要

柔軟性を高めるために、Zabbixは、グローバルレベル、テンプレートレベル、およびホストレベルでユーザーマクロをサポートします。マクロには、特殊な構文があります:{$MACRO}

マクロを使用できる場所は以下のとおりです:

  • アイテム名
  • アイテムキーのパラメータ
  • トリガー名と説明
  • トリガー条件式パラメータと定数(例を参照してください)
  • その他の複数の場所

以下の文字がマクロ名で利用できます。A-Z、0-9、_、.

Zabbixは、以下の優先順位でマクロを置き換えます。

  1. ホストレベルのマクロ(最初にチェックされます)
  2. ホストの最初のレベルのテンプレートに定義され(ホストに直接リンクされたテンプレートなど)、テンプレートIDによって分類されたマクロ
  3. ホストの2番目のレベルのテンプレートに定義され、テンプレートIDによって分類されたマクロ
  4. ホストの3番目のレベルのテンプレートに定義され、テンプレートIDによって分類されたマクロ
  5. グローバルマクロ(最後に確認されます)

マクロがホストに存在しない場合、Zabbixは深さが増すホストテンプレート内でマクロを探します。マクロが見つからない場合で、グローバルマクロが存在する場合は、使用されます。

Zabbixでマクロが見つけることができない場合、マクロは置き換えられません。

ユーザーマクロを定義する場合、Webインタフェース内で対応するページに移動します。

  • グローバルマクロの場合、[管理]→[一般]→[マクロ]を開きます。
  • ホストとテンプレートレベルのマクロの場合は、ホストまたはテンプレートプロパティを開き、[マクロ]タブを探します。

ユーザーマクロがテンプレートのアイテムまたはトリガーで使用される場合、マクロがグローバルレベルで定義されていても、テンプレートに追加することを勧めます。この方法で、テンプレートをXMLにエクスポートし、別のシステムにインポートしても、期待どおりにテンプレートは動作します。

グローバルマクロとホストマクロの最も一般的な使用方法:

  1. ホスト特有の属性を有するテンプレートの利用:パスワード、ポート番号、ファイル名、正規表現など
  2. グローバルなワンクリック設定変更と微調整のためのグローバルマクロ

例1

「SSHデーモンのステータス」アイテムキーにおけるホストレベルマクロの使用:

net.tcp.service[ssh,{$SSH_PORT}]

このアイテムは複数のホストに割り当てることができます。({$SSH_PORT}の値がホストに定義されている場合)

例2

「CPU load is too high」トリガーでのホストレベルマクロの使用:

{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}

このようなトリガーは、テンプレートで作成され、個別のホストでは編集されません。

max(#3)などの関数パラメータとして値を使用する場合、以下のようにマクロ定義にハッシュマークを含めることができます。SOME_PERIOD ⇒ #3

例3

「CPU負荷が高すぎます」トリガーでの2つのマクロの使用:

{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}

マクロをトリガー関数のパラメータとして使用できます。この例では、min関数です。

トリガー条件式において、パラメータまたは定数を参照する場合に、ユーザーマクロが展開します。ホスト、アイテムキー、関数、演算子または別のトリガー条件式を参照している場合は、トリガー条件式は展開されません。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。