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}を持っています。

マクロは以下の場所で使用できます:

  • アイテムキーと説明
  • トリガー名と条件式(例2と例3を参照)
  • いくつかの場所

次の文字はマクロ名内で使用可能です: A-Z , 0-9 , _ , .

Zabbix は 次の優先順位に従ってマクロを置き換えます。

  1. ホストレベルマクロ(最初に確認)
  2. 第一レベルのホストのテンプレートで定義されたマクロ:(例 ホストに直接リンクされているテンプレート)、テンプレートIDで並べ替え
  3. 第二レベルのホストのテンプレートで定義されたマクロ、テンプレートIDで並べ替え
  4. 第三レベルのホストのテンプレートで定義されたマクロ、テンプレートIDで並べ替え
  5. グローバルマクロ(最後に確認)

つまり、ホストにマクロがない場合、Zabbixは深いレベルでホストテンプレートでマクロを検索します。ホストテンプレートにもマクロが見つからない場合、グローバルテンプレート(ある場合)が使用されます。 Zabbixでマクロが見つからない場合、マクロは置き換えられません。

ユーザーマクロを定義するには、フロントエンドで次の対応する場所を選択します:

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

<note tip>ユーザーマクロがテンプレート内のアイテムやトリガーで使用される場合、そのマクロがグローバルレベルで定義されている場合でも、テンプレートに追加することをお奨めします。そうしておくと、XMLにテンプレートをエクスポートし、他のシステムにインポートしても、マクロが期待通りの動きをします。 :::

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

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

例1

「Status of SSH daemon」アイテムキーでホストレベルのマクロを使用

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

このアイテムは複数のホストに割り当てられ、{$SSH_PORT} の値がそれらのホストに定義されるようになります。

例2

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

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

テンプレート上に設定したとおりのトリガーが作成され、個別のホストで編集されることがありません。

<note tip>値の量を関数パラメータ(max(#3)など)として使用する場合、以下のように定義してマクロにハッシュマークを使用します。 :::

例3

「CPU load is too high」トリガーで2つのマクロの使用:

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

マクロは、この例の関数min()のようにトリガー関数のパラメータとして使用可能であることに注意してください。

<note important>パラメータや定数を参照している場合、トリガー条件式でのユーザーマクロは拡張されます。それらはホスト名やアイテムキー、関数、演算子をサポートして「いません」。 :::


本ページは2013/05/12時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は右上の「Translations of this page」から英語版を参照してください。