アラートルールエンジン:変換 🔗
要件 🔗
このインテグレーションは以下のバージョンのSplunk On-Callと互換性があります:
エンタープライズ
すべてのユーザーは、Splunk On-Callサポートにいつでも質問することができます。
ライブチャット:Splunk On-Callインスタンスにログインしている場合、Splunk On-Callサポートチームとライブチャットを行うことができます。
アラートルール変換は、アラートデータがVictorOpsタイムラインに到着する前に変更する方法です。ルールエンジンの alert field ボックスに既存のフィールド名を入力すると、そのフィールドを選択した新しい値で上書きすることができます。
変換アクションは、アラートに全く新しいフィールドを追加することもできます。これは、alert field セクションに希望するフィールド名を入力し、値を割り当てることで実現できます。
変革の用途 🔗
ルーティングキーの変更 🔗
特定のアラートセットのルーティングキーを変更できます。すべてのアラートを*Database*チームに送信するようにインテグレーションを設定したが、特定のホスト(db03)に関連するインシデントの特定のサブセットを Development チーム(routing_key = devs)に送信したい場合は、以下を試してください:
When entity_id matches db03* **using* Wildcard Match
routing_keyをdevs**に****設定する**
新しいアラートフィールドの追加 🔗
アラートに新しいフィールドを追加するには、まずマッチング条件を作成する必要があります。例えば、あるモニタリングツールがアラートを送信するたびに新しいフィールドを追加したい場合、次のようなマッチング条件を作成します:
When monitoring_tool matches your_tool using Wildcard Match
new_field_name (または任意の名前)を設定することにより、アラートに新しいユニークフィールドを追加します。新しいフィールドの値は希望するものを何でも設定できます。以下のようになります:
new_field_nameを新しいフィールドの値**に****設定**します。
新しいフィールドの値に既存のフィールドの内容を動的に取り込みたい場合は、この構文を使います:
${{current_field_name}}.
耳障りなアラートのミュート 🔗
いくつかのアラートは、あなたのアカウントに不必要なページングを引き起こし、邪魔になることがあります。message_type フィールドをINFOに変換することで、これらの耳障りなアラートをミュートすることができます。耳障りなアラートに共通するフィールドのマッチング条件を作成することができます。例えば、state_messageに`spam`という単語が含まれるたびに、message_typeをINFOにしたい場合、以下のルールを作成します:
When state_message matches spam using Wildcard match
Set message_type to INFO
タイムスタンプベースのミューティング 🔗
タイムスタンプを活用してアラートをミュートまたは調整するには、Regexメソッドと連鎖したルールを使用します。特定のrouting_keyまたはmonitoring_toolのアラートにのみ影響を与えるように、チェーンでルールをスコープすることをお勧めします。
次の例は、木曜日、土曜日、日曜日のUTCに、teamA routing_keyへのアラートをINFOタイプに変換します。
ルール1:
When routing_key matches teamA using Wildcard
Set teamA to a new value ${{Alert_received_week_time_utc}}
ルール2:
When teamA matches \d*-W\d*-[467].* using RegEx
message_typeを**新しい値に****設定する** INFO
alert_received_week_time_utcフィールドはISO8601の週日形式のタイムスタンプです。例えば、2020-W10-3TT17:38:32ZはYEAR-WEEK-DAY-TIMEの形式であり、月曜日から日曜日までの1-7を表します。UTCからのタイムゾーンの違いを考慮するために、例の正規表現を増やしたくなるかもしれません。
以下は、年、週、曜日、分単位に関係なく、午前8時から午後12時(UTC)の間に届いたアラートのみを捕捉するルールの例です。以下のケースでは、午前8時から午後12時(UTC)の間のアラートのみを捕捉したいため、ルールを以下のように分解しています:
When Alert_received_time_utc matches .*T(0[8-9]|1[0-1]):.*
Set message_type to INFO
インシデントと通知の外観を変更する 🔗
変数展開と変換を使用することで、アラートフィールドを変更することができます。例えば、アラートカードの表示名を変更することができます。表示名フィールドは entity_display_name と呼ばれます。このフィールドを変更して別のフィールドを表示したい場合は、次のようなルールを設定します:
When entity_display_name matches * using Wildcard
Set entity_display_name to ${{field_you_choose}}
複数の異なるアラートを1つのインシデントにまとめる 🔗
複数のアラートを1つのインシデントに集約するには、まず、複数の異なるインシデントを関連付ける一致する値を見つけます。次に、entity_idフィールドを設定値に変換します。entity_idを事前に決定することで、VictorOpsは自動的にアラートを集約します。
When entity_id matches disk* using Wildcard Match
entity_idをディスクの問題**に****設定する**
このルールは、diskで始まるentity_idを持つすべてのアラートを受け取り、entity_idをDisk Problemsに変換します。
RegExでフィールドを変換または作成する 🔗
テキストを扱う場合、RegExキャプチャグループを使って抽出したい情報があるかもしれません。RegExキャプチャグループ(括弧**( )**)を使用すると、新しいアラートフィールドを追加したり、既存のフィールドを変換したりすることができます。これは、ワイルドカードマッチングの使用と似ています。
この例では、RegExを使って件名フィールドで 「error 「または」ERROR 「を探し、上記のようにmessage_typeをINFOに設定して、耳障りなアラートをミュートしています。
When subject matches ^((?!error|ERROR).)*$ using RegEx
Set message_type to INFO
アラートに注釈を付ける方法については、ルールエンジンの注釈 を参照してください。
AND/ORロジックについてのヘルプは、ルールエンジンのマッチング条件.`を参照してください