AlertHub で受信したメッセージの文中から取り出した値をアクションで利用できるようになりました。

先日のアップデートによって、メッセージの内容から文字列を取り出してルールで利用できる機能が追加されました。 今回のアップデートでは、同様にメッセージから取り出した文字列をアクションで利用できる機能追加を行いました。 この機能によってメールで受信したメッセージの一部をアクション内容として送信することなどが可能となります。

設定例

以下の様な文面の異常通知メールを受信したことでスコープの深刻度が変化し、アクションが実行された場合に、異常が発生した hostname や異常が検知された trigger をメール送信アクションの文面に指定する設定例を紹介します。

異常通知メールの例

異常を検知しました。
------------
hostname: someone.example.com
address: 192.168.0.1
trigger: ping
status: error
------------

トリガーのパラメーター処理フロー

まず、アクションで利用したい値をメッセージから取り出す設定を行います。 これはトリガーのパラメーター処理フローで行います。

f:id:k_ito-fixpoint:20210701140511p:plain:w600

アクション

パラメーター処理フローで保存した値を、メール送信アクションの本文で変数として指定します。 f:id:ueno-fixpoint:20210629220346p:plain:w600

このアクションによって以下の様なメールが送信されることになります。

以下の異常を検知しました。

hostname: someone.example.com
trigger: ping

仕様に関する補足事項

取り出される値の指定について

正規表現においては () によるキャプチャグループが利用できます。 キャプチャグループが含まれる正規表現を記述した場合には、キャプチャグループ内のパターンにマッチした値が取得されます。 また、キャプチャグループを含めない場合には、記述した正規表現全体に最初にマッチした値が取得されます。

取り出した値の型について

正規表現で取り出した値は全て文字列として扱われます。

取り出した値の保存先の名称について

保存先には任意の名称を付けることが可能ですが、message.content.text などは既定のプロパティとして利用されているため使用できません。 message から始まる名称を避けて指定してください。

正規表現の書式について

AlertHub で利用可能な正規表現の書式の詳細仕様は以下のドキュメントに記載された仕様に準拠しています。 https://github.com/google/re2/wiki/Syntax