ルールとして利用
以下の通りアラート一次対応を行うランブックの設定例を示します。
- アラートの webhook から取得した内容により段階的に処理を分岐させる
- 内容によってイベント・アクションを発生させる
- 事前に登録していなかったアラートの項目があった場合、Pigeon による架電を行う
ランブックの全体は下図のようになります。
注意
ランブックを指定した受信スロットは普通のルールで指定できなくなります。
また、普通のルールで使われている受信スロットはランブックを指定できません。
以下より、各ステップの設定やルールの内容の詳細について説明します。
Ping に関する通知の切り分け
受信した webhook に ping
という文字列がある場合とそれ以外を切り分けます。
Ping 異常
「Ping に関する通知の切り分け」 条件に当てはまった場合、イベントを発生させます。
今回は、事前に作成したスコープについて深刻度名 ping error
を 10 にするよう設定しました。
ホスト異常かを確認
「Ping に関する通知の切り分け」にて条件に当てはまらなかった場合、ホスト異常であるかを確認します。
webhook 上の message.content.data.host
が error
となっているか否かにより処理を切り分けます。
ホスト異常
「ホスト異常かを確認」 にて条件に当てはまった場合、イベントを発生させます。
今回は、スコープ属性 host
が webhook 上の値と一致するスコープを対象に、host error
について深刻度を 5 増やす設定としました。
ステータス異常かを確認
「ホスト異常かを確認」 にて条件に当てはまらなかった場合、さらにステータス異常かを確認します。
webhook 上の message.content.data.status
が warning
となっているか否かにより処理を切り分けます。
Slack 通知
「ステータス異常かを確認」 にて条件に当てはまった場合、元の webhook 通知とステータスの状態を記載し Slack 通知をします。
Pigeon 通知
「ステータス異常かを確認」 にて条件に当てはまらなかった場合、Pigeon により通知します。
事前に Pigeon にて作成したコールフローを AlertHub のアクションに追加しておくことにより設定が可能です。