いつもOpsAidをご利用いただき、ありがとうございます。
OpsAidの利用ガイドのご紹介です。
監視対象サービスからアラートが発生した際、受信したアラート件名によって、対応手順が違う場合が多いと思います。件名を確認し、その件名に合わせた対応を確認し、対応をする…。など。件名の確認ミス等が発生しやすいパターンですよね。
そんな時はOpsAidのアラートの種類によって対応を分けて自動対応を利用しましょう!
そこで今回は、受信したアラートの件名に合わせて、それぞれ異なる自動対応の内容を登録する方法をご紹介します。受信するアラートと対応条件は次の内容を想定し登録していきます。
①危険度が高いアラートが発生したら、件名に[WARNING]を含むアラートを送信。
[WARNUNG]を含むアラートを受信したら、担当ユーザー01に電話発信し、GithubにIssueを起票します。
②危険度の低いアラートが発生したら、件名に[NOTICE]を含むアラートを送信。
[NOTICE]を含むアラートを受信したら、電話発信を行わずGithubにIssueのみを起票します。
Githubの設定
まずは、Githubに自動でIssueするために、次の設定を行います。
Issueを起票するGithubはandotasco/service01とする
Issueを起票するGithubユーザーでPersonal Access Tokenを取得する ※権限はrepo(Full control of private repositories)にチェックを付けておく
ルールを登録
アラートを受信するプロジェクトにどんなアラートが来たら、どんな対応をするか登録を行います。今回は、件名に従って違う対応を行うので、ルールを2つ登録します。
※アラートを受けるプロジェクトに電話をかける担当者を事前に登録しておきましょう。
①[WARNUNG]を含むアラートを受信したら、担当ユーザー01に電話発信し、GithubにIssueを起票の場合
■ルールの基本設定
ルール名:アラート受信ルール:WARNING
ルール適用順序:1
■マッチ条件
どんなアラートを受信したら対応するか指定する部分です。
キーワード条件にて「件名」に「WARNING」が含まれた場合で設定します。
この設定により件名にWARNINGを含むアラートを受信した場合、ルールが適用されます。
■アクション設定
マッチ条件にマッチしたアラートを受信した場合どんなアクションを行うか設定する部分です。
アクション設定の中から「自動コール」を選択します。合わせて呼出し秒数、リトライ回数、連絡先ユーザーを設定します。
今回は「呼出し秒数:20秒」「リトライ回数:2回」「連絡先1:ユーザー01の電場番号」と設定します。
この設定により、WARNINGを件名に含むアラートを受信した場合、ユーザー01に電話を発信します。20秒間呼出しを行い、応答があった場合は、結果[OK]としてアクションを終了します。応答がが無かった場合はリトライ回数2回までユーザー01に電話を発信します。
全ての発信に応答が無かった場合は、結果[NG]でアクションを終了します。
次にアクションの中から「Github」を選択します。選択すると入力内容が表示されますので設定してください。今回は次のように設定します。
認証情報:直接入力
API KEY:起票するGithubユーザーのPersonal Access Kye
オーナー名:andotasco
リポジトリ名:service01
Issueのタイトル:【WARNING】アラート発生
Issueの内容
Issueの内容には、受信したアラートに関数情報を埋め込むことが可能です。ここでは
${SUBJECT}でアラートの件名、${BODY}でアラートの本文、${URL}でインシデント詳細画面のURLを埋め込みます。
このルールが適用されたらandotasco/service01 のGithubへIssueを投稿します。
投稿に成功したら、結果[OK]でアクションを終了します。投稿に失敗した場合は、結果[NG]でアクションを終了します。
■インシデント設定
ここはルール条件にマッチした場合に作成するインシデントの設定をする部分です。
今回は、上記電話とGithub Issue起票が行われた場合インシデントが起票されます。
②[NOTICE]を含むアラートを受信したら、電話発信を行わずGithubにIssueのみを起票
①同様ルールを設定していきます。
■ルールの基本設定
ルール名:アラート受信ルール:NOTICE
ルール適用順序:2
■マッチ条件
キーワード条件にて「件名」に「NOTICE」が含まれた場合で設定します。
この設定により件名にNOTICEを含むアラートを受信した場合、ルールが適用されます。
■アクション設定
①同様、「Github」を選択し入力内容が表示されますので設定してください。今回は次のように設定します。
認証情報:直接入力
API KEY:起票するGithubユーザーのPersonal Access Kye
オーナー名:andotasco
リポジトリ名:service01
Issueのタイトル:【NOTICE】アラート発生
Issueの内容
■インシデント設定
ここはルール条件にマッチした場合に作成するインシデントの設定をする部分です。
今回は、Github Issue起票が行われた場合インシデントが起票されます。
これで①②の2つのルール設定が完了です。
アラート受信時の動き
上記ルールを登録すると、監視対象サービスからアラートが発生すると下記の流れで自動対応が行われます。
①WARNINGアラートの場合
監視対象サービスから、プロジェクトのメールアドレスへ向けて、件名にWARNINGを含むアラートを送信する
OpsAidでプロジェクトがアラートを受信する
プロジェクトに登録されたルールに、アラートがマッチするかチェックする。アラートの件名にWARNINGが含まれているので、アラート受信ルール:WARNINGの実行条件にマッチする
ルールの実行条件にマッチしたので、自動でルールのアクションが実行される
ユーザー01へ電話発信が行われる
andotasco/service01 のGithubへIssueが投稿され
5.ルールの実行条件にマッチしたので、自動でインシデントが起票される
6. 全てのアクションの結果を受けて、ルールの実行結果が起票したインシデントに
記録される
②NOTICEアラートの場合
監視対象サービスから、プロジェクトのメールアドレスへ向けて、件名にNOTICEを含むアラートを送信する
OpsAidでプロジェクトがアラートを受信する
プロジェクトに登録されたルールに、アラートがマッチするかチェックする。アラートの件名にNOTICEが含まれているので、アラート受信ルール:NOTICEの実行条件にマッチする
ルールの実行条件にマッチしたので、自動でルールのアクションが実行される
andotasco/service01 のGithubへIssueが投稿される
5. ルールの実行条件にマッチしたので、自動でインシデントが起票される
6. 全てのアクションの結果を受けて、ルールの実行結果が起票したインシデントに記録される
このように、ルールを2つ登録することでラートの種類によって対応方法をわけて、自動で対応することが可能です。
是非ご利用ください!
OpsAid利用マニュアルも合わせてご確認ください。
Comments