Zabbixにはマクロが豊富に用意されており、様々な状況で使用できます。マクロを活用することで、Zabbixの設定にかかる時間を短縮し、透過性を高めることができます。
Zabbixでサポートされている全マクロのリストを以下に示します。
マクロ 通知 | コマンド ディスカバリ通知 | 自動登録通知 GUIスクリプト | アイテムキーのパラメータ | マップラベル トリガー | 件式 トリガー名 説明 | ||||
---|---|---|---|---|---|---|---|---|---|
{DATE} | X | X | X | 本日の日付(yyyy.mm.dd.形式) | |||||
{DISCOVERY.DEVICE.IPADDRESS} | X | ||||||||
{DISCOVERY.DEVICE.STATUS} | X | ||||||||
{DISCOVERY.DEVICE.UPTIME} | X | ||||||||
{DISCOVERY.RULE.NAME} | X | ||||||||
{DISCOVERY.SERVICE.NAME} | X | ||||||||
{DISCOVERY.SERVICE.PORT} | X | ||||||||
{DISCOVERY.SERVICE.STATUS} | X | ||||||||
{DISCOVERY.SERVICE.UPTIME} | X | ||||||||
{ESC.HISTORY} | X | エスカレーションヒストリ(以前に送信されたメッセージのログ) | |||||||
{EVENT.ACK.HISTORY} | X | ||||||||
{EVENT.ACK.STATUS} | X | ||||||||
{EVENT.AGE} | X | X | X | イベントの時期(エスカレートされたメッセージに役立つ) | |||||
{EVENT.DATE} | X | X | X | イベントの日付 | |||||
{EVENT.ID} | X | X | X | アクションをトリガーしたイベントのID(数値) | |||||
{EVENT.TIME} | X | X | X | イベントの時刻 | |||||
{HOSTNAME<1-9>} | X | X | X | X | 通知を生成したトリガーのN番目のアイテムのホスト名 | ||||
{HOST.CONN<1-9>} | X | X | X | X | IPとホストDNS名(ホスト設定に依存) | ||||
{HOST.DNS<1-9>} | X | X | X | X | ホストDNS名。 | ||||
{IPADDRESS<1-9>} | X | X | X | X | 通知を生成したトリガーのN番目のアイテムのIPアドレス | ||||
{ITEM.LASTVALUE<1-9>} | X | X | 通知を生成したトリガー条件式のN番目のアイテムの最新の値。Zabbix 1.4.3以降でサポートされます。{{HOSTNAME}:{TRIGGER.KEY}.last(0)}のエイリアスでもあります。 | ||||||
{ITEM.LOG.AGE<1-9>} | X | ||||||||
{ITEM.LOG.DATE<1-9>} | X | ||||||||
{ITEM.LOG.EVENTID<1-9>} | X | ||||||||
{ITEM.LOG.NSEVERITY<1-9>} | X | ||||||||
{ITEM.LOG.SEVERITY<1-9>} | X | ||||||||
{ITEM.LOG.SOURCE<1-9>} | X | ||||||||
{ITEM.LOG.TIME<1-9>} | X | ||||||||
{ITEM.NAME<1-9>} | X | 通知を生成したトリガーのN番目のアイテムの名前 | |||||||
{ITEM.VALUE<1-9>} | X | X | トリガーの表示に使用する場合は、トリガー条件式のN番目のアイテムの最新の値イベントの表示に使用する場合は、トリガー条件式のN番目のアイテムのイベント発生時のヒストリ値Zabbix 1.4.3以降でサポートされます。 | ||||||
{NODE.ID<1-9>} | X | X | X | ||||||
{NODE.NAME<1-9>} | X | X | X | ||||||
{PROFILE.CONTACT<1-9>} | X | ホストプロファイルに設定されている連絡先 | |||||||
{PROFILE.DEVICETYPE<1-9>} | X | ホストプロファイルに設定されているデバイス名 | |||||||
{PROFILE.HARDWARE<1-9>} | X | ホストプロファイルに設定されているハードウェア | |||||||
{PROFILE.LOCATION<1-9>} | X | ホストプロファイルに設定されている場所 | |||||||
{PROFILE.MACADDRESS<1-9>} | X | ホストプロファイルに設定されているMACアドレス | |||||||
{PROFILE.NAME<1-9>} | X | ホストプロファイルに設定されている名前 | |||||||
{PROFILE.NOTES<1-9>} | X | ホストプロファイルに設定されている備考 | |||||||
{PROFILE.OS<1-9>} | X | ホストプロファイルに設定されているOS | |||||||
{PROFILE.SERIALNO<1-9>} | X | ホストプロファイルに設定されているシリアルNo | |||||||
{PROFILE.SOFTWARE<1-9>} | X | ホストプロファイルに設定されているソフトウェア | |||||||
{PROFILE.TAG<1-9>} | X | ホストプロファイルに設定されているタグ | |||||||
{STATUS} | X | {TRIGGER.STATUS}のエイリアス | |||||||
{TIME} | X | X | X | 現在時刻(hh:mm.ss) | |||||
{TRIGGER.COMMENT} | X | トリガーのコメント | |||||||
{TRIGGER.EVENTS.UNACK} | X | X | マップのマップ項目に対する未応答イベントの数、または通知で現在のイベントを生成したトリガーに対する未応答イベントの数。1.8.3以降のマップ項目ラベルでサポートされます。 | ||||||
{TRIGGER.EVENTS.PROBLEM.UNACK} | X | X | 状態を無視する全てのトリガーに対する未応答障害イベントの数。1.8.3以降でサポートされます。 | ||||||
{TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK} | X | 障害のトリガーに対する未応答障害イベントの数。1.8.3以降でサポートされます。 | |||||||
{TRIGGER.ID} | X | アクションをトリガーしたトリガーのID(数値) | |||||||
{TRIGGER.KEY<1-9>} | X | 通知を生成したトリガーのN番目のアイテムのキー | |||||||
{TRIGGER.NAME} | X | トリガーの名前(説明) | |||||||
{TRIGGER.NSEVERITY} | X | トリガーの深刻度(数値)。設定可能な値: 0 - 未分類、1 - 情報、 2 - 警告、3 - 軽度の障害、 4 - 重度の障害、 5 - 致命的な障害、Zabbix 1.6.2からサポートされます。 | |||||||
{TRIGGER.SEVERITY} | X | トリガーの深刻度。設定可能な値: 未分類、情報、警告、軽度の障害、重度の障害、致命的な障害、不明 | |||||||
{TRIGGER.STATUS}, {STATUS} | X | トリガー状態。トリガーが障害状態の場合は「ON」、正常状態の場合は「OFF」に置き換えられます。{STATUS} は非推奨 | |||||||
{TRIGGER.URL} | X | トリガーのURL | |||||||
{TRIGGER.VALUE} | X | X | X | 現在のトリガーの値: 0 - トリガーが正常状態の場合、1 – トリガーが障害状態の場合、2 – トリガーが不明の場合このマクロは、トリガー条件式でも使用できます。 | |||||
{TRIGGERS.UNACK} | X | トリガーの状態を無視するマップ項目に対する未応答トリガーの数。 | |||||||
{TRIGGERS.PROBLEM.UNACK} | X | マップ項目に対する未応答障害トリガーの数。1.8.3以降でサポートされます。 | |||||||
{host:key.func(param)} | X | X | X | シンプルなマクロトリガー条件式. | |||||
{$MACRO} | X | X | グローバルマクロとホストレベルマクロ. |
ホストラベルのマクロは1.8以降でサポートされています。
より柔軟性を高めるため、テンプレートレベルマクロと同様に、Zabbixはグローバルとホストレベルのマクロをサポートします。これらのマクロは特別な記法を持っています: {$MACRO}. アイテムキーとトリガー式のなかでマクロを使用できます。
マクロ名には以下の文字を使用できます: A-Z , 0-9 , _ , .
Zabbixは、以下の優先順位に従いマクロを置き換えます。
つまり、ホストにマクロがない場合、Zabbixはホストテンプレートでマクロを検索します。ホストテンプレートにもマクロが見つからない場合、グローバルテンプレート(ある場合)が使用されます。
Zabbixでマクロが見つからない場合、マクロは置き換えられません。
グローバルとホストレベルのマクロによって、Zabbix設定のメンテナンスがさらに容易になります。
グローバルマクロとホストレベルマクロの最も一般的な使用例
アイテム "Status of SSH daemon" のキーにおけるホストマクロの使用:
ssh,{$SSH_PORT}
トリガー "CPU load is too high" におけるホストマクロの使用:
{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}
<note tip>値の量を関数パラメータ(max(#3)など)として使用する場合、以下のようにマクロにハッシュマークを使用します。 :::
「CPU load is too high」トリガーで2つのマクロを使用する場合:
{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}
この例の関数min()では、トリガー関数のパラメータとしてマクロを使用できることに注意してください。
現在、ユーザマクロは[SNMP OID]フィールドではサポートされていません。