ローレベルディスカバリ(LLD)機能内で使用されるマクロの種類があります。
これはLLDルールで使用され、ファイルシステム名、ネットワークインターフェース、SNMP OIDなどの実際の値を返すマクロです。
これらのマクロは、アイテム、トリガー、グラフ、およびLLDルールのプロトタイプを作成するために使用できます。 その後、実際のファイルシステムやネットワークインターフェースなどをディスカバリする際に、これらのマクロは実際の値に置き換えられ、実体を作成する基礎となります。
これらのマクロは、仮想マシンディスカバリにおけるホストおよびホストグループのプロトタイプ作成にも使用されます。
一部のローレベルディスカバリマクロは、ZabbixのLLD機能に「プリパッケージ」されています - {#FSNAME}、{#FSTYPE}、{#IFNAME}、{#SNMPINDEX}、{#SNMPVALUE}。ただし、カスタムローレベルディスカバリルールを作成する際に、これらの名前に従う必要はありません。その場合は、他の任意のLLDマクロ名を使用し、その名前を参照することができます。
カスタムディスカバリールールを定義する際、LLDマクロ用のJSONオブジェクトで返されるプロパティ値は、以下のいずれかのプリミティブ型でなければなりません。
配列、オブジェクト、null値はサポートされていません。そのような値を参照するLLDマクロは展開されず、アイテムの事前処理や作成時にリテラル(例:'{#MY_MACRO}')として表示されます。
LLDマクロは以下で使用できます:
これらの場所すべてで、低レベルディスカバリールールのフィルターを除き、LLDマクロは静的ユーザーマクロコンテキスト内で使用できます。
マクロ関数は、ローレベルディスカバリマクロでサポートされています(ただし、ローレベルディスカバリルールのフィルタではサポートされていません)。これにより、正規表現を使用してマクロ値の特定の部分を抽出できます。
たとえば、イベントタグ付けの目的で、次のLLDマクロから顧客名とインターフェース番号を抽出したい場合があります。
この場合、regsubマクロ関数をトリガープロトタイプのイベントタグ値フィールドでマクロとともに使用できます。

カンマは引用符で囲まれていないアイテムのキーのパラメータでは使用できないため、マクロ関数を含むパラメータは引用符で囲む必要があります。パラメータ内で二重引用符をエスケープするには、バックスラッシュ(\)文字を使用してください。例:
マクロ関数の構文の詳細については、マクロ関数を参照してください。
マクロ関数はZabbix 4.0以降、ローレベルディスカバリマクロでサポートされています。
1 1 でマークされたフィールドでは、1つのマクロでフィールド 全体を埋める必要があります。
フィールド内の複数のマクロや、テキストと混在するマクロはサポートされていません。