アラートフィールドの抽出と作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • 抽出と作成は、アラート出力に表示される内容を管理するための方法であり、フィルタリング、グループ化、読み取りをより簡単にします。アラート自動化を使用すると、イベントペイロードのアラートフィールドから値を抽出し、アラート出力フィールドに配置できます。作成により、複数のアラートフィールドを 1 つの出力フィールドに結合できます。

    アラートフィールドの抽出

    アラート通知には、多くの場合、イベントペイロード内に埋もれている関連コンテキストが含まれています。アラート出力を既存のペイロードの値で拡張することで、アラートの重要性をよりよく理解して、解決のための適切な手順を決定できます。たとえば、ホスト名には通常、サービス、ノード、クラスター、データセンター、ドメインなどの重要な情報が含まれています。受信ホストデータに基づいてクラスタータグの値を自動的に追加するには、クラスターデータのみを抽出します。

    アラートフィールドを抽出するときは、正規表現 (regex) を使用して値の式を作成します。正規表現を使用すると、ペイロードの関連部分を正確に識別してキャプチャできるため、意味のあるアクション可能なアラート通知を作成できます。
    注:
    テキストを作成するには、正規表現 (regex) 形式の表記規則を使用します。1 つ以上のキャプチャグループを括弧とともに使用して、入力の一部を抽出します。正規表現のキャプチャ グループは、表示される順序に基づいてアラート出力に割り当てられます。正規表現は入力全体と一致する必要があるため、正規表現の各末尾を「.*」で囲むことを検討してください。たとえば、「(\w+).acme.com.*」は、完全修飾ドメイン名でホスト名をキャプチャします。正規表現エンジンのパーサーは、Perl Compatible Regular Expressions (PCRE) と互換性があります。
    図 : 1. アラートフィールドの抽出
    アラートフィールドの抽出
    括弧を付けて複数のキャプチャ グループを使用すると、抽出された各値が個別の出力フィールドに表示されます。
    図 : 2. 複数のアラート出力のフィールドを抽出
    複数のアラート出力のフィールドを抽出
    [複数のイベントをプレビュー (Preview multiple events)] を選択して、サンプルイベント全体のアラート出力をプレビューし、値が期待どおりに抽出されていることを確認します。
    注:
    このオプションは、サンプルのソースイベントが利用可能で、正規表現フィルターと一致する場合にのみ使用できます。

    例:アラートフィールドの抽出

    イベントの特定のフィールドから 6 文字だけを抽出し、mynewfield という名前の新しいアラートフィールドに表示する必要があるとします。後でアラートグループ化で使用するために、この新しいアラートフィールドにタグを付けしたいとも考えています。これを実現する方法は次のとおりです。
    • ソース入力フィールド (Source input field):データを抽出するイベントフィールドを選択します。この場合、フィールドは [リソース] です。
    • 正規表現:正規表現を使用して、選択したフィールドの値から必要な特定の部分を抽出します。たとえば、[リソース] フィールドの値に「Zabbix integration」が含まれていて、「Zabbix」を抽出する場合、正規表現は「(…...).*」である必要があります。
    • アラート出力 (Alert output)
      • 既存のアラートフィールドまたは既存のアラートタグを選択するか、新しいフィールド名を手動で入力します。ここでは、mynewfield という新しいフィールド名を入力します。
      • 後でタグベースのグループ化で使用するために、mynewfield をタグとして設定します。フィールド名の前にタグが表示されていることを確認します。

      選択したフィールドの値 (ここでは [リソース] フィールドの値) に正規表現を適用した後、[アラート出力 (Alert output)] フィールドの下に表示される抽出された単語を確認します。たとえば、正規表現が正しく一致した場合は「Zabbix」と表示されます。

    • 複数のイベントのプレビュー (Preview multiple events):複数のイベントのプレビューにより、正規表現がイベントの例の範囲からデータを正確に抽出しているかどうかを確認できます。これは、正規表現に調整が必要かどうかを判断するのに役立ちます。

    アラートフィールドの作成

    アラート出力を作成するときは、含めるフィールド、タグ、またはフリーテキストを選択するか、手動で入力できます。これらのデータは、アラートの管理を改善し理解を深めるために、簡単に読み取り、フィルタリング、およびグループ化できます。

    図 : 3. アラートフィールドを作成 (Compose alert fields)
    アラートフィールドを作成 (Compose alert fields)

    例:アラートフィールドの作成

    2 つの入力フィールドでデータを作成し、それらのデータを 2 つの異なるアラート出力フィールドに表示するとします。1 つのシナリオでは、新しいフィールドとともに既存のアラートフィールドからソース値を取得し、作成された値を新しいアラート出力フィールドに表示します。また、後でタグベースのグループ化で使用するために、新しいアラート出力フィールドにタグを付ける予定です。もう 1 つのシナリオでは、既存のフィールドをフリーテキストと組み合わせ、アラート出力を選択して既存のアラートフィールドに表示します。これを実現する方法は次のとおりです。
    • シナリオ 1:
      1. ソース入力フィールド (Source input field):既存のアラートフィールドを選択し、テキスト「and」を追加してから、NewTest などの新しいフィールド名を入力します。例:${classification} と ${NewTest}。

        アラートフィールドは、${field} 構文形式で表示されます。ドロップダウンリストからフィールド名を選択することもできます。これにより、構文が自動的に追加されます。

      2. アラート出力 (Alert output):入力フィールドの値を表示する新しいアラートフィールドの名前を入力します。たとえば、mynewfield という名前を付けます。

        後でタグベースのグループ化で使用するために、mynewfield をタグとして設定します。フィールド名の前にタグが表示されていることを確認します。

    • シナリオ 2:
      1. ソース入力フィールド (Source input field):既存のアラートフィールドを選択し、アラート出力フィールドでの表示方法に関する任意のフリーテキストを含めます。例:${ci_type} と ${node} で、ステータスは ${resolution_state} です。

        アラートフィールドは、${field} 構文形式で表示されます。ドロップダウンボックスからフィールド名を選択することもできます。これにより、構文が自動的に追加されます。

      2. アラート出力 (Alert output):入力フィールドの値を表示する既存のアラートフィールドを選択します。たとえば、[説明] を選択します。