受信メールの本文から特定の項目を抽出し、メール通知に埋め込む方法

AlertHub が監視対象のサーバーから受信したメールの情報を活用し、メールアクションで動的な通知を行うための設定例をご紹介します。

設定のポイント

スコープのトリガー作成時に設定できる「パラメーター加工フロー」を設定すると、受信メール(送信者アドレスや本文の文言など)から必要な情報を抽出し、送信先の指定やメッセージ本文へ動的に反映できます。1

今回は、受信メールから特定の項目を抽出し、送信するメールの宛先・件名・本文に埋め込んで通知する手順を解説します。

  • 受信メールの件名 【障害発生】致命的な障害: WebServer01のCPU負荷が高騰しています

  • 受信メール本文

障害発生:CPU負荷が高すぎます
発生日時:2026/7/16 12:00:00
ホスト名:WebServer01
障害名: CPU utilization is too high on WebServer01
重大度:高
現在の値:95.00%
担当グループ:Webサーバー管理グループ
連絡先:maintenance_group@example.com
対処方法:xxxxxxxx
  • 受信メールから抽出する項目
    • メールヘッダー情報
      • 送信元(送信者名)
      • 送信元メールアドレス
      • 送信先メールアドレス(to/cc)
      • メール送信日時
      • 件名
    • アラート詳細情報(本文から抽出)
      • ホスト名
      • 発生日時
      • 重大度
      • 担当グループ
      • 連絡先(メールアドレスのアカウント名)

受信スロットの作成

画面横のメニューから受信スロットをクリックし、画面右上の「+」ボタンをクリックします。

alt text

ダイアログが表示されるため、以下の通り入力し、保存します。

  1. メールを選択します
  2. 任意の表示名を入力します
  3. 保存をクリックします
alt text

受信スロットが作成され一覧に表示されます。

表示名をクリックして受信スロットの詳細画面に遷移し、監視システムからの受信用メールアドレスを取得します。

alt text

スコープの作成

スコープを作成します。

画面横のメニューからスコープをクリックし、画面右上の「+」ボタンをクリックします。

alt text

ダイアログが表示されるため、以下の通り入力します。

  1. 任意の表示名を入力します
  2. 警戒判定閾値に任意の数値を設定します
  3. 障害判定閾値に任意の数値を設定します
  4. 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
  5. 保存をクリックします
alt text

ルールの作成

ルールを作成します。

画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。

alt text
  1. 任意の表示名を入力します
  2. 最初に作成した受信スロットを選択します
alt text

イベントの設定

「イベント(対象スコープを直接指定)」の「+」をクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 「直接指定」を選択します
  2. 作成したスコープを選択します
  3. 「作成」をクリックします
alt text

イベントの編集画面が表示されるため、以下の通り入力します。

  1. 任意の深刻度名を入力します
  2. 数値欄に 1 と入力します
  3. プルダウンより「増やす」を選択します
  4. 保存をクリックします
alt text

アクションの作成

画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 表示名:任意の表示名を入力します
  2. メール送信先:メール送信先の名前とメールアドレスを入力します
    • 名前:{{group_name}}
    • メール:{{contact}}
  3. 件名:障害メールを受信しました --- {{message.content.subject}} と入力します
  4. 本文:以下の内容を入力します
監視スコープ{{scope.displayName}}にて{{event.severityName}}の深刻度が上昇しています。

ホスト名 : {{hostname}}
障害発生日時 : {{incident_time}}
重大度 : {{severity}}
現在の深刻度:{{event.severity}}

■受信した内容は以下の通りです。
メール送信日時:{{message.metadata.date}}
メール送信元:{{message.metadata.from.email}}
メール送信先(To):
{{#message.metadata.to}}
{{email}}
{{/message.metadata.to}}
メール送信先(CC):
{{#message.metadata.cc}}
{{email}}
{{/message.metadata.cc}}
メール本文:
{{message.content.text}}
  • 設定内で使用する {{group_name}} や {{hostname}} などの変数は、「トリガーの作成」の「パラメーター加工フローの設定 」で抽出定義する一時フィールド名です。
  • 送信先が複数指定されている場合でも、{{#message.metadata.to}} {{email}} {{/message.metadata.to}} のようにセクション({{#...}})で囲むことで、すべてのメールアドレスを繰り返し展開して動的に出力できます( CC や BCC も同様です)。

その他 message など使用できるキーワードの埋め込みの方法については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。

  1. 「保存」をクリックします。
alt text

トリガーの作成

トリガーを作成します。

画面横のメニューから「スコープ」をクリックし、作成したスコープをクリックします。

スコープに紐づいたトリガーの一覧画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。

alt text

ダイアログが表示されるため、任意の表示名を入力します。

alt text

実行条件の設定

「実行条件」の「+」をクリックします。

alt text

ダイアログが表示されるため、「深刻度の増減を判定する」を選択し、作成をクリックします。

alt text

実行条件の編集画面が表示されるため、プルダウンより「増えた」を選択します。

alt text

パラメーター加工フローの設定

  1. 「パラメーター加工フロー」の「+」をクリックします
  2. ダイアログが表示されたら「フィールドから正規表現によって値をひとつ取り出す」を選択し、「作成」をクリックします
  3. 対象フィールド(F1)に message.content.text (メール本文)を指定し、下表の通り正規表現と一時フィールドを設定します
  4. 手順 1 〜 3 を繰り返し、以下の 5 つの設定をすべて作成します
設定項目対象フィールド (F1)正規表現 (P1)保存先 (F2)
ホスト名message.content.textホスト名:\s*(.*)hostname
発生日時message.content.text発生日時:\s*(.*)incident_time
重大度message.content.text重大度:\s*(.*)severity
担当グループmessage.content.text担当グループ:\s*(.*)group_name
連絡先message.content.text連絡先:\s*(.*)contact
  1. 画面下部の「実行アクション」にて、作成した「メールアクション」を選択し、「保存」をクリックします
alt text

動作確認

「設定のポイント」で指定したメールを受信スロットのアドレスへ送信すると、各項目が自動で埋め込まれた通知メールが送信されます。

alt text
1

受信メッセージが Webhook 形式の場合も同じことができます。詳細は「2.9 webhook メッセージの内容を AlertHub 上で扱いたい」を参照してください。