Opsgenie 統合における動的フィールド
Opsgenie はデータを解析して、豊富で有益なアラートを作成します。動的フィールドを使用して、アラートのプロパティやアラート条件をカスタマイズできます。
ドラッグ可能なフィールド
ドラッグ可能なフィールドは、十分な情報に基づくアラートを作成して管理するための重要なデータを提供します。Opsgenie インテグレーション フレームワークは、統合ツールに固有な統合ごとに異なる動的フィールドを提供します。動的フィールドは、アラート フィールドだけでなく統合アクションのフィルターでも使用できます。[フィルター] では、条件ドロップリストでフィールドを選択できます。[アラート] フィールドでは、動的フィールドを適切な入力にドラッグするだけで可能です。
The expressions with double-curly braces are interpreted by Opsgenie as dynamic fields; and populated with dynamic data at every notification that's sent to Opsgenie. For example, let's say someone created an work item in JIRA; and entered "This is the summary" as summary. Using Opsgenie's JIRA integration, "[Jira] {{summary}}" for Message in a Create Alert Action will yield an alert with the message "[Jira] This is the summary" and notify the users. All we needed to do was drag {{summary}} to Message; and when the work item was created Opsgenie automatically got notified and created an alert with the work item’s summary in the message for us.
静的テキストと動的フィールドは混在可能です。上記の例のように、"[Jira] {summary}" の "[Jira] " は静的であり、作成されたすべてのアラートのメッセージの先頭にきます。"{summary}" はアラートごとに異なる可能性があります。
Webhook URL、ペイロード、ヘッダーから生のパラメーターを使用する
また、Webhook から URL パラメーターまたは http ペイロード パラメーターをアラートに直接挿入できます。例をあげて説明してみましょう。
Opsgenie と Jira の統合を使用しているとします。Jira は、Webhook ペイロードで timestamp という名前の変数を Opsgenie に送信します。ただし、timestamp は [統合] ページのドラッグ可能なフィールドとしては使用できません。それでもアラートで timestamp を使用する必要がある場合は、次の手順に従います。
統合の高度な設定に移動します
入力フィールドで必要な場所に
{{_payload.timestamp}}
を追加します。統合を保存します。
ネストされたペイロード変数にもアクセスできます。Jira の例では、Webhook の http 本文にある次の値にアクセスするために、_payload.issue.fields.environment も使用できます。
テキスト
{
"issue" : {
"fields" : {
"environment" : "env_val"
}
}
}
Webhook の URL クエリ パラメーターは {{_url.param}}
を介してアクセスできます。ここで param は、パラメーター キーです。カスタム パラメーターを Webhook URL に追加して、アラートに挿入できます。わかりやすいように、これを例で説明しましょう。
Opsgenie Stackdriver 統合を使用しているとします。複数のプロジェクトを監視しており、すべてのアラートに対して 1 つの統合を使用する必要があるが、依然としてどのアラートがどのドメインに属しているかを識別できる方法が必要です。現時点で可能なことは、プロジェクトごとにカスタム パラメーターを使用することです。
param1=val1 などのカスタム パラメーターを Stackdriver 統合の Webhook URL に追加して、{{_url.param1}}
を統合の構成に挿入し、これにアクセスします。
リクエスト URL、ペイロード、ヘッダー パラメーターへのアクセスは、アラート API を介したアクションでは利用できません
Webhook リクエストのヘッダーは {{_headers.param}}
経由でも利用できます。param はヘッダーの名前です。アラート フィールドでは、リクエストのすべてのヘッダーを使用できます。
メール ベースの統合の {_headers.PARAM1} 表記を使用して、メールのヘッダーを使用できます。たとえば、メール ベースの統合のアラート フィールドで {_headers.IMPORTANCE} を使用できます。キーには大文字を使用する必要があることにご注意ください。
You can also use string processing methods on dynamic fields to further manipulate and control your alert fields. For example, your Opsgenie JIRA Integration has an Add Note Action, and Note is configured as "note: {{comment_body.substringAfter("is")}}". Now when someone in JIRA comments on a work item with "This is the comment", the Opsgenie alert that's associated with the work item will be added a note, with the text "note: the comment".
動的フィールドで使用できる方法の詳細な一覧については、以下を参照してください。
substring(int from), substring(int from, int to): 指定されたインデックス間の文字列を生成します。from は含まれ、to は除外されます
{{from_name.substring(5,20)}}
substringAfter(String from): 指定されたインデックス間の文字列を生成します。from は含まれ、to は除外されます
{{subject.substringAfter("Host")}}
substringBefore(String to): 指定されたパラメーターの前に文字列を生成します
{{from_address.substringBefore("@")}}
substringBetween(String from, String to): from パラメーターから to パラメーターの間の文字列を表示します。
{{subject.substringBetween("URL:","(")}}
extract(regular expression): 正規表現の括弧で囲まれたセクションに一致する文字列の一部を生成します。
{{message.extract(/Host: (\S+)/)}}
toDate(String format) は、ミリ秒ベースのタイムスタンプを、次の Java 書式設定で日付書式に変換します。デフォルトの形式は「yyyy-MM-dd HH:mm:ss ZZZ」です。
{{create_timestamp.toDate()}}
get(int index) は、配列の指定されたインデックスにある要素を生成します。{{myArray.get(0)}}
)
この内容はお役に立ちましたか?