スタートガイド > 3. アラートを受け取って自動対応しよう > 3-7. アラートを受け取ったら、他システムのAPIを実行したい
3-7. アラートを受け取ったら、他システムのAPIを実行したい
アラートを受信したら、他システムのAPIを実行するケースの実現例を示します。
1. 要件
1-1. 監視対象サービス
- アラートが発生したら、件名に
ERROR
を含むメールをOpsAidへ送信する
1-2. OpsAid
- アラートを受信したら、他システムのAPI(https://service01/api/action)を実行する
- POST形式で、以下のパラメータを付与する
key1
:VALUE1
key2
:VALUE2
- POST形式で、以下のパラメータを付与する
2. OpsAidの登録内容
以下の内容で、OpsAid側のアラート受信準備を行います。
2-1. プロジェクト作成
1-1. プロジェクトを用意しように従って、アラートを受信するプロジェクトを作成します。 アラートを受信するプロジェクトが既に作成されている場合は、このセクションは飛ばして構いません。
プロジェクトのメールアドレスが発行されたら、メモを取っておきます。
2-2. 担当者ユーザーをプロジェクトに追加
2-1. で用意したプロジェクトに、担当者のユーザー01、ユーザー02のユーザーを追加します。
すべてのユーザーに、電話番号を1件以上設定しておきます。
設定方法は
3-1. アラートが発生したら担当者に電話で通知したい
> 2-2. 担当者ユーザーをプロジェクトに追加
を参照してください。
2-3. ルール登録
アラートを受信するプロジェクトに、ルールを1件登録します。
ルールの条件には以下の内容を設定します。
マッチ条件
「キーワード条件で設定する」のタブを選択します。
-
キーワード条件
- 「件名」に「ERROR」が「含まれる」
件名に ERROR
を含むアラートを受信したら、このルールを適用します。
アクション設定
- Webhook
- URL:
https://service01/api/action
- METHOD: POST
- 送信データ: JSON形式で記述
- URL:
{
"key01": "VALUE01",
"key02": "VALUE02"
}
このルールが適用されたら、指定したメソッドと送信データでURLへリクエストを送信します。200 OKのレスポンスが返却された場合、結果[OK]でアクションを終了します。200 OK以外のレスポンスが返却された場合、結果[NG]でアクションを終了します。
インシデント設定
-
条件にマッチした場合に作成するインシデントの設定
- ステータス: 完了
- 担当者: ユーザー01
その他の項目は任意で設定します。
3. アラート受信時の動き
上記のルールをプロジェクトに登録した状態で、監視対象サービスでアラートが発生すると、以下の流れでアラートの自動対応が行われます。
- 監視対象サービスから、プロジェクトのメールアドレスへ向けて、件名に
ERROR
を含むアラートを送信する - OpsAidでプロジェクトがアラートを受信する
- プロジェクトに登録されたルールに、アラートがマッチするかチェックする。アラートの件名に
ERROR
が含まれているので、作成したルールの実行条件にマッチする - ルールの実行条件にマッチしたので、自動でルールのアクションが実行される
- HTTPSで設定されたAPIに接続し、データが送信される
- API呼び出しに対する結果は、呼び出したAPIによって異なります
- HTTPSで設定されたAPIに接続し、データが送信される
- ルールの実行条件にマッチしたので、自動でインシデントが起票される
- アクションの結果を受けて、ルールの実行結果が起票したインシデントに記録される
- 問題なく終了したら、インシデントのステータスが完了となる
以上で、OpsAidの自動対応が終了します。
以上の設定を行うことで、アラートを受信したら、他システムのAPIを実行するケースの実現が可能です。ユーザー独自のサービスにおいても、インターネットからアクセス可能なAPI等をご用意いただくことで、OpsAidから自動でアクセスすることが可能になります。
次は 3-8. アラートを受け取ったら、AWS CLIのコマンドを実行したい に進みます。