アラート コールバックを使用する
Opsgenie は基本的に IT アラート用のルーターです。Opsgenie は、メールと API を介して運用管理システムからアラートを受信し、定義されたルールを使用して適切なユーザーに通知します。Opsgenie はコールバックもサポートし、アラート アクティビティ (アラートの作成、確認、クローズなど) を外部システムに転送できます。
Alert activity can be forwarded to any system that can process HTTP requests as webhooks. Marid Integration Server provided by Opsgenie can also be used to subscribe to alert activity and integrate Opsgenie with external systems.
1. Webhook コールバック
Opsgenie は、Web アクセス可能な URL エンドポイント (Webhook と呼ばれることが多い) を呼び出し、アラート アクティビティ データを渡すことができます。URL エンドポイントは、Web から URL にアクセスできる限り、任意のプラットフォーム、Web サーバーなどを指定できます。Webhook データには、アラート アクティビティ (作成、確認など) および HTTP リクエスト ペイロード (JSON) の一部として、アラート フィールドのサブセット (alertId、ユーザー名、エイリアス、エンティティ、userId) が含まれます。
The webhook can be created via Opsgenie Webhook Integration. For more information about Webhook Integration, see the support document.
たとえば、アラートが作成されると、HTTP リクエスト本文の一部として以下の情報が渡されます。
{
"source": {
"name": "mytool",
"type": "api"
},
"alert": {
"message": "testing webhooks",
"username": "fili@opsgenie.com",
"alertId": "44f717bf-44bd-11c9-44c7-2d0cf1d07b23",
"alias": "webhooktest",
"tinyId": "454",
"entity": "",
"userId": "4caaaa77-9222-4322-8622-d3522fbd7dda"
},
"action": "Create"
}
"action" フィールド値は、"Create"、"Acknowledge"、"AddNote"、"AssignOwnership"、"Close"、"Delete"、またはカスタム アクションの名前を指定できます。
Note that, using Opsgenie Alert API get alert request, it is possible to retrieve other alert fields using alertId that is included in the webhook payload.
2. Marid コールバック
Marid 統合サーバーでは、OpsGenie アラート アクティビティをサブスクライブし、アラート アクティビティごとにスクリプトを実行できます。この方法の主な違いは、Opsgenie への接続は Marid によって開始されるため、Marid サーバーは、Web からアクセス可能である必要はないということです。この方法は、Marid が HTTPS 経由で Opsgenie と通信し、内側から接続を開始するため、ファイアウォールの変更、ポートの開放などを必要としません。
You need to install Marid to your system by referring to Marid installation steps
このオプションを使用するには、Marid 統合を作成し、apiKey を取得し、Marid の設定ファイルに貼り付けます。
Marid 統合を追加した後、Marid を既に実行している場合は、再起動する必要があります。
Marid は、アラート アクションごとに groovy または ruby スクリプトを実行します。Marid は、アクションと同じ名前のファイルで <MARID_HOME>/scripts ディレクトリを検索して、既定でそのスクリプトをいくつかのパラメーターで実行します。たとえば、アクション「restart」が実行されると、Marid は <MARID_HOME>/scripts/restart.groovy または <MARID_HOME>/scripts/restart.rb を検索します。そのスクリプトが存在する場合、Marid はスクリプトを自動で実行します。また、スクリプト マッピングへのアクションは、Marid の設定ファイルで設定できます。たとえば、Marid が次の設定 actions.restart.script=script1.groovy で開始された場合は、restart アクションの実行ごとに、<MARID_HOME>/scripts/script1.groovy が実行されます。
設定 | 説明 | (必須) | 既定値 |
---|---|---|---|
actions.<action_name>.script=<script_name> | スクリプト マッピング構成に対するアラート アクション。設定したアラート アクションの実行ごとに指定する場合、<MARID_HOME>/scripts ディレクトリにある groovy または ruby スクリプト ファイルが呼び出されます。 | いいえ | - |
アラート アクションのスクリプト パラメーター
パラメーター | 説明 |
---|---|
警報 | アクションが実行されるアラート プロパティにアクセスするための変数。alertId、ユーザー名、およびこのようなプロパティには、この変数を使用してアクセスできます。 |
操作 | 実行したアクションの名前 |
conf | 設定ファイルのプロパティへの参照。すべての設定プロパティには、このパラメーターを介してアクセスできます。 |
logger | ロギング ユーティリティ。すべてのスクリプト ログは <MARID_HOME>/logs/script.log ファイルに書き込まれます。 |
Opsgenie | Opsgenie サーバー上で操作を実行するための変数。使用可能な操作のリストについては、Marid のスクリプト プロキシ ドキュメントをご参照ください。 |
この内容はお役に立ちましたか?