ユーザー マクロ でオプションのコンテキストを使用して、デフォルト値をコンテキスト固有の値で上書きすることができます。
マクロ名にコンテキストが追加されます。 構文は、コンテキストが静的テキスト値であるかどうかによって異なります。
または正規表現:
正規表現コンテキストを持つマクロは、ユーザー マクロ構成でのみ定義できることに注意してください。 regex:
プレフィックスがトリガー式のようにユーザー マクロ コンテキストとして他の場所で使用されている場合、静的コンテキストとして扱われます。
コンテキストの引用はオプションです (重要な注意事項 も参照してください)
マクロ コンテキストの例:
例 | 説明 |
---|---|
{$LOW_SPACE_LIMIT} |
コンテキストのないユーザー マクロ |
{$LOW_SPACE_LIMIT:/tmp} |
コンテキストを持つユーザー マクロ (静的文字列) |
{$LOW_SPACE_LIMIT:regex:"^/tmp$"} |
コンテキストを持つユーザー マクロ (正規表現)。 {$LOW_SPACE_LIMIT:/tmp} と同じ。 |
{$LOW_SPACE_LIMIT:regex:"^/var/log/.*$"} |
コンテキストを持つユーザー マクロ (正規表現)。 /var/log/ で始まるすべての文字列に一致。 |
コンテキストを持つユーザー マクロを定義して、トリガー式で(ローレベルディスカバリによって取得された値に基づく)より柔軟なしきい値を実現できます。たとえば、次のマクロを定義できます。 - {$LOW_SPACE_LIMIT} = 10 - {$LOW_SPACE_LIMIT:/home} = 20 - {$LOW_SPACE_LIMIT:regex:"^\/[a-z]+$"} = 30
次に、ローレベルディスカバリマクロを、マウントされたファイル システム検出のトリガー プロトタイプでマクロ コンテキストとして使用できます:
検出後、検出されたマウント ポイントまたはファイル システムの種類に応じて、さまざまな低容量しきい値がトリガーに適用されます。 障害イベントは、次の場合に生成されます。
未定義の動作を避けるために、同じ文字列に一致する別のコンテキスト マクロを作成しないでください。
技術的には、マクロ コンテキストは item key パラメータと同様のルールを使用して指定されますが、,
文字がある場合、マクロ コンテキストは複数のパラメータとして解析されません。
}
文字が含まれている場合、または "
文字で始まる場合、マクロ コンテキストは "
で引用する必要があります。 引用されたコンテキスト内の引用符は、\
文字でエスケープする必要があります。\
文字自体はエスケープされません。つまり、\
文字で終わる引用符付きコンテキストを持つことは不可能です - マクロ {$MACRO:"a:\b\c\"} は無効です。{$MACRO:A}、{$MACRO: A}、および {$MACRO:"A"} のマクロは、同じコンテキストを持っているため、すべて同等です。 これは、'key[a]'、'key[ a]'、および 'key["a"]' が意味的に同じである項目キーとは対照的ですが、一意性のために異なります。