スタートガイド > 3. アラートを受け取って自動対応しよう > 3-9. Gcloud CLIのコマンドを実行したい

3-9. アラートを受け取ったら、Gcloud CLIのコマンドを実行したい

アラートを受け取ったら、監視対象のサービスを復旧させるためのGcloud CLIのコマンドを実行したいケースの実現例を示します。

1. 要件

1-1. 監視対象サービス

  • アラートが発生したら、件名に ERROR を含むメールをOpsAidへ送信する

1-2. OpsAid

  • 件名にERRORを含むアラートを受信したら、Gcloud CLIコマンドを実行してGCEインスタンスの再起動を行う

2. OpsAidの登録内容

以下の内容で、OpsAid側のアラート受信準備を行います。

2-1. プロジェクト作成

1-1. プロジェクトを用意しように従って、アラートを受信するプロジェクトを作成します。 アラートを受信するプロジェクトが既に作成されている場合は、このセクションは飛ばして構いません。

プロジェクトのメールアドレスが発行されたら、メモを取っておきます。

2-2. ルール登録

アラートを受信するプロジェクトに、ルールを1件登録します。
ルールの条件には以下の内容を設定します。

マッチ条件

「キーワード条件で設定する」のタブを選択します

  • キーワード条件
    • 「件名」に「ERROR」が「含まれる」

件名に ERROR を含むアラートを受信したら、このルールを適用します。

アクション設定

  • Gcloud CLI
    • コマンド名: 実行するコマンドを区別するための名称
      例) インスタンスの再起動
    • 実行するコマンド: GCEインスタンスを再起動するコマンドとインスタンス名
      例) gcloud compute instances reset your-instance-name --zone us-central1-a
      インスタンス名は、GCP Compute Engine管理コンソール等で確認します。
    • 認証情報: 直接入力
    • Service Account Key: インスタンス再起動の権限を持つユーザーのService Account Key
      GCP IAM管理コンソールで、ユーザーの作成/権限の割当/Service Account Keyの生成・確認ができます。

このルールが適用されたら、設定されたGcloud CLIコマンドを実行します。複数登録されている場合は、上から順に実行されます。実行結果は、起票されたインスタンスの対応履歴に記録されます。

インシデント設定

  • 条件にマッチした場合に作成するインシデントの設定

    • ステータス: 完了

    その他の項目は任意で設定します。

3. アラート受信時の動き

上記のルールをプロジェクトに登録した状態で、監視対象サービスでアラートが発生すると、以下の流れでアラートの自動対応が行われます。

  1. 監視対象サービスから、プロジェクトのメールアドレスへ向けて、件名にERRORを含むアラートを送信する
  2. OpsAidでプロジェクトがアラートを受信する
  3. プロジェクトに登録されたルールに、アラートがマッチするかチェックする。アラートの件名にERRORが含まれているので、作成したルールの実行条件にマッチする
  4. ルールの実行条件にマッチしたので、自動でルールのアクションが実行され、登録されたGcloud CLIコマンドが実行される
  5. ルールの検知条件にマッチしたので、自動でインシデントが起票される
  6. アクションの結果を受けて、ルールの実行結果が起票したインシデントに記録される
  7. 問題なく終了したら、インシデントのステータスが完了となる

以上で、OpsAidの自動対応が終了します。


以上の設定を行うことで、アラートを受け取ったら、監視対象のサービスを復旧させるためのGcloud CLIのコマンドを実行したいケースの実現が可能です。

次は 3-10. アラートを受け取ったら、他システムのAPIを実行したい に進みます。