Kompira AlertHub 設定例集 目次
Kompira AlertHub 設定例集
株式会社フィックスポイント の Kompira AlertHub の設定例集です。
Kompira AlertHub 全体の操作方法については、Kompira AlertHub 基本マニュアルを参照してください。
最終更新日: 2026/09/30
具体的な設定方法
AlertHub を実際に利用するにあたり、よくある使用例に沿って設定方法を説明します。
30分以内に10件以上のアラートが発生したらSlackに通知する
AlertHub によって、一定数アラートを受信した際にだけ通知したい場合の具体例を記載します。
今回は、監視システムに大量にアラートメッセージを受信している想定で設定します。
設定のポイント
トリガーの実行条件において下記二点を設定しアラートを絞り込みます。
-
「指定条件を満たす直近のイベント件数を指定値と比較する」
- 過去
1800秒間に「深刻度の変化量」が1「と等しい」イベントが10「以上の」回数発生した
※「30 分間にアラートが 10 回以上発生した」ことを指定しています
- 過去
-
「直近のアクション実行件数を指定値と比較する」
- 過去
1800秒間に、アクションが0「と等しい」回数実行された
※「30 分以内に Slack への通知が行われていない」ことを指定しています
- 過去
以下より、設定の手順を記載します。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、Zabbix と連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します1。
- 任意の深刻度名を入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「WEBHOOK」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- Slack へ通知するための Webhook URL を入力します
- リクエスト本文に記載したい内容を入力します
- 保存ボタンをクリックします
Slack 通知に必要な Webhook URL の取得については、Slack のドキュメント を参照してください。
リクエスト本文は JSON 形式で入力します。
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「指定条件を満たす直近のイベント件数を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します2。
1800と入力します- プルダウンより「深刻度の変化量」を選択します
1と入力します- プルダウンより「と等しい」を選択します
10と入力します- プルダウンより「以上の」を選択します
もう一度「実行条件」の「+」をクリックします。
「直近のアクション実行件数を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します3。
1800秒と入力します0と入力します- プルダウンより「と等しい」を選択します
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際に 10 件アラートを送信してみると、スコープのステータスが「警戒」となり実行履歴にアクションを行った履歴が表示されます。
以下のように、Slack 上でも設定した通りの通知を受信することが確認できれば、動作確認は終了です。
アラートを 1 件受信すると深刻度が 1 上がる設定です。
今回は、30 分以内に 10 件以上のアラートが発生した場合に通知する必要があります。
そのため、「『1800 秒』の間に『深刻度が 1
ずつ変化する』イベントが『10 回以上』発生した」と設定しています。
10 件を超えて連続してアラートが発生した場合もアクションの実行が 1 回となるように、1800 秒間にアクションが発生していない場合にのみアクションを発生させるよう設定しています。
ログ監視の不要な復旧通知を送信しない
AlertHub によって、特定のステータス以外の通知のみを受信したい場合の具体例を記載します。
今回は、ログ監視の通知メッセージを受信しており、通知が不要な「warning」のステータスについての通知も受信してしまっている想定で設定します。
設定のポイント
処理フローで不要なステータスを含む場合に通知しないよう設定します。
- 「フィールドが文字列を含むかどうか確認する」を選択
- もし
message.content.data.alert.statusがwarningを包含「しなかった」場合
- もし
message.content.data.alert.status は、アラートのリクエストボディにおける項目の一例として設定しています。
受信するリクエストボディから指定したい箇所を設定してください。
以下より、設定の手順を記載します。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドが文字列を含むかどうか確認する」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します1。
message.content.data.alert.statusと入力します2warningと入力します- プルダウンより「しなかった」を選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します3。
- 任意の深刻度名を入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「イベントのフィールドを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します4。
- プルダウンより「深刻度の変化量」を選択します
- 「1」と入力します
- プルダウンより「と等しい」と入力します
もう一度「実行条件」の「+」をクリックします。
「深刻度の増減を判定する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、「増えた」を選択します4。
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
今回は、ステータスが warning 以外のアラートについて通知設定を行いました。
実際にステータスが warning ではないアラートを受信すると、深刻度が 1 ずつ上がっており、アクションも作動していることが分かります。
以下のように、status が warning ではないアラートについてメールで受信できていることを確認します。
以上で動作確認は終了です。
リクエストボディに含まれるアラートのステータスが warning 以外の場合、深刻度を上げる設定です。
監視ツールから送信されるリクエストボディの status を取得するよう設定しています。
処理フローで設定したアラートを受信した場合、深刻度が 1 上がる設定です。
ルールの作成 で、アラートのステータスが warning 以外の場合に深刻度が 1
上がるように設定しているため、深刻度が 1 増加したらアクションが作動するように設定します。
00:00 から 01:00 についてはアラート発生時のメール送信をしない
監視対象のサーバー等が夜間に自動再起動をしているため、特定の時間帯はアラートが不要となる場合の例を記載します。
今回は、監視対象から送信される webhook のリクエストボディから特定のフィールドを指定して、対象のフィールドが指定値以外の値となった場合に通知する設定も併せて行います。
設定のポイント
スコープから静観スケジュールを設定する方法とランブックを設定する方法があります。
静観スケジュールを設定する場合
対象のスコープの「設定」タブを開いて静観スケジュールを作成し、以下の通り設定します。
静観スケジュールを設定すると、指定時間内はアクションが実行されなくなります。
- 表示名:任意の表示名
- 開始:設定日の 00:00
- 終了:設定日の 01:00
- 繰り返し設定:毎日
ランブックを設定する場合
以下の通り作成します。
- 現在の日時を取得
- オペレーターステップから「現在の日時を取得する」を選択する
- 任意のフィールド名を設定する
- オペレーターステップから「現在の日時を取得する」を選択する
- 日時が 00:00 から 01:00 の範囲か判定
- ブランチステップから「日時が指定した時刻の範囲内であるか確認する」を選択する
- 「もし
1で指定したフィールドの時刻が00:00から01:00の範囲内である場合」と設定する
- 「もし
- ブランチステップから「日時が指定した時刻の範囲内であるか確認する」を選択する
- 範囲外の場合にメールを送信
- アクションステップから事前に作成したアクションを追加する
- 1~3 で作成したステップを順番に繋げる
- ブランチステップとアクションステップは「else」を繋げる
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
この後から、静観スケジュールを使用する場合とランブックを使用する場合で設定方法が異なります。
ランブックを使用したい場合は、ランブックの設定 を参照してください。
静観スケジュールの設定
今回は、「00:00 から 01:00 についてはアラート発生時のメール送信をしない」という設定をしたいため、該当の時刻について静観スケジュールを設定します。
作成したスコープがスコープ一覧に表示されるため、表示名をクリックし「設定」タブを選択します。
画面を下にスクロールし、静観スケジュールの右端にある「+」をクリックします。
ダイアログが出現するため、以下の通り入力します。
- 任意の表示名を入力します
- 静観スケジュールの開始日時を入力します
- 静観スケジュールの終了日時を入力します
- 必要に応じて繰り返しの設定を選択します
- 保存ボタンをクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「受信データのパスで指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します1。
- 指定したいフィールドを入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「イベントの深刻度名を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します2。
- 通知が不要な場合の深刻度名を入力します
- プルダウンより「と等しくない」と入力します
もう一度「実行条件」の「+」をクリックします。
「深刻度の増減を判定する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、「増えた」を選択します。
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、静観スケジュールを使用した AlertHub 上の設定は終了です。
ランブックの設定
ランブックを使用する場合の設定方法です。
ランブックを設定する前に、アクションの作成 を参照しアクションを作成してください。
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
日時取得のステップ追加
ランブックのフロー編集画面が表示されます。
左上の「+」マークをクリックしオペレーターステップの「現在の日時を取得する」を選択します。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- フィールド名に任意の名前を入力します
- 保存ボタンをクリックします
時刻判断のステップ追加
左上の「+」マークをクリックしブランチステップの「日時が指定した時刻の範囲内であるか確認する」を選択します。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 日時取得のステップ追加 で設定したフィールド名を入力します
- 通知を受け取らない開始時間を入力します
- 通知を受け取らない終了時間を入力します
- タイムゾーンを選択します
- 保存ボタンをクリックします
アクションステップの追加
左上の「+」マークをクリックしアクションステップの中から、アクションの作成 で作成したアクションを選択します。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
最後にステップを順番に繋げ、保存ボタンをクリックします。
以上で、ランブックの設定は終了です。
動作確認
動作確認を行います。
監視サーバーからの通知を受信すると、以下の通り深刻度が変化し深刻度名が normal でないものの時にアクションが実行されていることが分かります。
実際に、今回は深刻度名 error の通知が届いていることが確認できました。
また、静観スケジュールを設定した 00:00~01:00 は、 normal 以外の深刻度名であってもアクションが行われなかったことを確認できました。
受信したリクエストボディから、特定のフィールド message.content.data.status を指定して深刻度名とする設定です。
今回は、深刻度名を message.content.data.status
というようにフィールドを指定して設定しています。
該当のフィールドについて、normal
のような特定の文字列でなかった場合、アクションが発生するようにする設定です。
ランブックを使って日中帯と夜間帯のアラート発生をメール送信と電話に切り替えて通知したい
時間帯によって、アラートを通知する手段を分けたい場合の具体例を記載します。
今回は、ランブックを使用して時間帯によって通知の手段を分けるよう設定します。
ランブックの基本的な操作方法については、Kompira AlertHub ランブック操作マニュアルを参照してください。
設定のポイント
以下の手順でランブックを設定しアクションの切り分けを行います。
事前に日中連絡用のアクションと夜間連絡用のアクションを作成しておきます。
- 現在の日時を取得
- オペレーターステップから「現在の日時を取得する」を選択
- 任意のフィールド名を設定する
- オペレーターステップから「現在の日時を取得する」を選択
- 日中か夜間かの判定
- ブランチステップから「日時が指定した時刻の範囲内であるか確認する」を選択
- 「もし
1で指定したフィールドの時刻が日中開始時間から日中終了時間の範囲内である場合」と設定する
- 「もし
- ブランチステップから「日時が指定した時刻の範囲内であるか確認する」を選択
- 日中と夜間それぞれのアクションを設定
- アクションステップから事前に作成した日中連絡用のアクションと夜間連絡用のアクションを追加
- 1~3 で作成したステップを順番に繋げる
- 「then」は日中連絡用のアクションステップと繋げる
- 「else」は夜間連絡用のアクションステップと繋げる
以下より、設定の手順を記載します。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- メールを選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、アラートの送信先となるメールアドレスを取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名を入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
今回は、日中と夜間で通知の手段を分けるため、アクションを 2 つ作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
続いて、画面右上の「Pigeon」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 使用するコールフローを選択します
- 使用するガイダンスを選択します
- 保存ボタンをクリックします
Pigeon の詳しい設定方法については、Kompira Pigeon 基本マニュアル > 設定の流れ を参照してください。
ランブックの作成
ランブックを作成します。
ランブックでは、AlertHub がアラートを受信しイベントが発生した時間によってアクションの内容を分けるよう設定します。
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存をクリックします。
ランブックのフロー編集画面が表示されるため、左上の「+」マークをクリックします。
オペレーターステップの「現在の日時を取得する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名を入力します
- 保存ボタンをクリックします
同様に新規ステップ追加から、ブランチステップの「日時が指定した時刻の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します1。
- 任意の表示名を入力します
- オペレーターステップで指定したフィールド名を入力します
- 任意の開始時刻を入力します
- 任意の終了時刻を入力します
- タイムゾーンを選択します
- 保存ボタンをクリックします
最後にアクションステップを追加します。
アクションの作成 で作成したアクションをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
各ステップを以下の通りに並べ、黄色くハイライトされている通りに繋げます。
フローが完成したら、右上の保存ボタンをクリックします。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「深刻度の増減を判定する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、「増えた」を選択します。
画面をスクロールし、ランブックの作成 で作成したランブックを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
今回は、9:00~20:00 はメールで通知するよう設定し、それ以外の時間は電話連絡が行われるように設定しています。
実際に 9:00~20:00 の間に受信スロットへアラートを送信してみると、ランブックの実行履歴から日中帯用に設定したアクションが実行されていることが分かります。
また、実際にメールが送信されたことを確認できました。
続いて、夜間帯にも受信スロットへアラートを送信すると、夜間帯用に設定したアクションが実行され Pigeon の架電が行われました。
Pigeon の連絡履歴からも架電された履歴が確認できました。
オペレーターステップで指定した time というフィールドの日時が 9:00~20:00 以内かどうかを判断するための設定です。
アラートを3分間集約してほしい
アラートが連続で発生した際などに、まとめてアラートを知らせてほしい場合の具体例を記載します。
今回は、180 秒間に連続してアラートが発生した場合、初報以外のアラートを関連メッセージとして扱い、アクションを一度だけ発生させます。
設定のポイント
トリガーの作成時に関連メッセージを設定することで、アラートを集約します。
-
実行条件の設定で以下の 2 つを設定
- 「イベントのフィールドを指定値と比較する」:「変化前の深刻度」が
0「と等しい」値である - 「一定時間経過後の指定した名前を持つ深刻度の値を指定値と比較する」:
180秒経過後、深刻度指定した深刻度名が任意の深刻度の値「以上の」値である
※「深刻度が 0 から変化し、3 分後の深刻度が指定した数値より高い場合」にアクションを実行するよう指定しています
- 「イベントのフィールドを指定値と比較する」:「変化前の深刻度」が
-
関連メッセージで以下の 2 つを設定
- 「深刻度の増減を判定する」:深刻度が「増えた」
- 「イベントの深刻度名を起点のイベントの深刻度名と比較する」:深刻度名が起点イベントの深刻度名「と等しい」
※「同様のイベントの深刻度名で深刻度が増えた場合」に関連メッセージとして集約するよう指定しています
関連メッセージは、「XX 秒経過後」のように秒数指定を実行条件で設定していないと設定できないため、注意してください。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名を入力します
5と入力します- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「イベントのフィールドを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します1。
- プルダウンより、「変化前の深刻度」を選択します
0と入力します- プルダウンより、「と等しい」を選択します
続いて、再度「実行条件」の「+」をクリックします。
「一定時間経過後の指定した名前を持つ深刻度の値を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します1。
180と入力します- イベントの設定 で設定した深刻度名を入力します
5と入力します- プルダウンより、「以上の」を選択します
関連メッセージの設定
「関連メッセージ」の「有効化」にチェックを入れ、「+」をクリックします。
ダイアログが表示されるため、「深刻度の増減を判定する」を選択し、作成ボタンをクリックします。
関連メッセージの編集画面が表示されるため、プルダウンより「増えた」を選択します2。
続いて、再度「関連メッセージ」の「+」をクリックします。
ダイアログが表示されるため、「イベントの深刻度名を起点イベントの深刻度名と比較する」を選択し、作成ボタンをクリックします。
関連メッセージの編集画面が表示されるため、プルダウンより「と等しい」を選択します2。
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際にアラートを複数件送信してみると、以下の通りイベントが 3 回発生し深刻度が 15 となっていますが、アクションは 1 回のみ発生していることが分かります。
メールを確認してみると、初報分のみアクションを送信し、関連メッセージもカウントされていることが確認できました。
深刻度が 0 から変化し 180 秒経過した時点でイベントの設定
で設定した深刻度の値が警戒閾値の 5 を超えている場合にアクションが発生する設定です。
関連メッセージは、「XX
秒経過後」のように秒数指定を実行条件で設定していないと設定できないため、注意してください。
関連メッセージに含むイベントとして、深刻度を増加させた上で、初報のアラートにより発生したイベントと同じ深刻度名のイベントを指定する設定です。
同種のアラート発生は、初報から1時間は通知が必要ない
1 つのスコープで受信したアラートについて、一定時間は通知が不要となる場合の具体例を記載します。
設定のポイント
トリガーの実行条件において以下の通り設定することで初報のみアクションを発生させるようにします。
- 「直近のアクション実行件数を指定値と比較する」
- 過去
3600秒間に、アクションが0「と等しい」回数実行された
※「過去 1 時間以内に、アクションが実行された回数が 0 回であった」ことを指定しています
- 過去
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名を入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「直近のアクション実行件数を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します1。
3600秒と入力します0と入力します- プルダウンより「と等しい」と入力します
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際にアラートを複数件送信してみると、イベントは都度発生しましたがアクションは最初のイベントの 1 回のみが実行されています。
メールを確認してみると、初報のみアラートを受信したことが確認できました。
1 時間(=3600 秒)の間にイベントが複数回発生してもアクションを初報の 1 回のみとするための設定です。
異常が1分以内に回復したらアラート発生の通知が必要ない
アラートが発生しても一定時間内に障害から回復した場合は通知が不要な場合の具体例を記載します。
今回は、アラート発生から一定の時間以上経過した場合の障害通知とその後に回復した場合の回復通知が送信されるように設定します。
設定のポイント
障害通知用と回復通知用のルールとトリガーをそれぞれ設定します。
ルール
受信するアラートの webhook メッセージを判断材料として利用し、障害通知用ルールを以下の通り作成します。
今回は、受信するアラートのリクエストボディに status という項目がありその値を比較する想定で設定しています。
アラートのステータスが error の場合、深刻度を上げる設定です。
- 処理フローの設定
- 「フィールドが文字列を含むかどうか確認する」:
message.content.data.statusがerrorを包含「した」場合
- 「フィールドが文字列を含むかどうか確認する」:
- イベントの設定
- 「イベント(対象スコープを直接指定)」で「直接指定」を選択
- 深刻度名
障害通知を1「増やす」
回復通知用ルールを以下の通り作成します。
障害通知と逆で、リクエストボディの status が error でなかったの場合、深刻度を 0 に戻します。
- 処理フローの設定
- 「フィールドが文字列を含むかどうか確認する」:
message.content.data.statusがerrorを包含「しなかった」場合
- 「フィールドが文字列を含むかどうか確認する」:
- イベントの設定
- 「イベント(対象スコープを直接指定)」で「直接指定」を選択
- 深刻度名
障害通知を0「にする」
トリガー
障害通知用と回復通知用のトリガーをそれぞれ作成し、実行条件を以下の通り設定します。
- 障害通知用
- 「スコープステータスを指定値と比較する」:スコープステータスが「正常」「と等しくない」
- 「一定時間経過後のスコープステータスを指定値と比較する」:
60秒経過後、スコープステータスが「正常」「と等しくない」
障害通知アラートが発生した後、60
秒後もスコープの深刻度が変化していない場合に障害通知を送信する設定です。
アラートを複数件受信し深刻度が一定値とならないことを考慮し、スコープステータスにて判断しています。
- 回復通知用
- 「スコープステータスを指定値と比較する」:スコープステータスが「正常」「と等しい」
- 「指定条件を満たす直近のイベント件数を指定値と比較する」:過去
60秒間に「深刻度の変化量」が1「以上の」イベントが0「と等しい」回数発生した
回復通知は障害通知アラートの発生から 60 秒以内に回復した場合は送信しないようにしたいため、回復前の 60 秒間に異常が発生しなかった(=異常が発生したのは 60 秒より前である)ことを条件として設定しています。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値を
1と設定します - 障害判定閾値に任意の数値を設定します
- 「深刻度自動復旧の有効化」のチェックは未入力のままにします
- 保存をクリックします
ルールの作成
ルールを作成します。
今回は、障害通知と回復通知をそれぞれ処理するため、2 つのルールを作成します。
まず、障害通知を受信した際のルールを設定します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドが文字列を含むかどうか確認する」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します1。
message.content.data.statusと入力しますerrorと入力します- プルダウンより「した」を選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名を入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
続いて、回復通知を受信した際のルールを作成します。
障害通知の際と同様に、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドが文字列を含むかどうか確認する」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します。
message.content.data.statusと入力しますerrorと入力します- プルダウンより「しなかった」を選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 障害通知の際と同様の深刻度名を入力します
0と入力します- プルダウンより「にする」を選択します
ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
今回は、障害通知と回復通知の 2 つについてアクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「WEBHOOK」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 外部のアプリケーションへ通知するための Webhook URL を入力します
- リクエスト本文に記載したい内容を入力します
- HTTP ヘッダーを指定します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
同様に、回復通知も作成します。
トリガーの作成
トリガーを作成します。
今回は、障害通知と回復通知をそれぞれ発生させるため、2 つのトリガーを作成します。
まず、障害を通知する際のトリガーを設定します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「スコープステータスを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します2。
- プルダウンより「正常」を選択します
- プルダウンより「と等しくない」を選択します
もう一度「実行条件」の「+」をクリックします。
「一定時間経過後のスコープステータスを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します2。
60秒と入力します- プルダウンより「正常」を選択します
- プルダウンより「と等しくない」を選択します
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
続いて、回復通知を行う際のトリガーを作成します。
障害通知の際と同様に、トリガーの画面右端の「+」をクリックし任意の表示名をクリックます。
実行条件の設定
「実行条件」の「+」をクリックします。
「スコープステータスを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します3。
- プルダウンより「正常」を選択します
- プルダウンより「と等しい」を選択します
もう一度「実行条件」の「+」をクリックします。
「指定条件を満たす直近のイベント件数を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します3。
60秒と入力します- プルダウンより「深刻度の変化量」を選択します
1と入力します- プルダウンより「以上の」を選択します
0と入力します- プルダウンより「と等しい」を選択します
最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際にアラートを飛ばしてみると、黄色網掛け部分の通り、1 分以内に深刻度が回復した場合はアクションが発生しませんでした。
一方、下図の赤枠部分の通り、1 分以内に回復しなかった場合とその後回復した場合にはアクションが発生しました。
通知先のアプリケーションでも、アクションの内容を確認することができました。
今回は、受信するアラートのリクエストボディに status
という項目がありその値を比較する想定で設定しています。
アラートのステータスが「error」の場合、深刻度を上げる設定です。
障害通知アラートが発生した後、60
秒後もスコープの深刻度が変化していない場合に障害通知を送信する設定です。
アラートを複数件受信し深刻度が一定値とならないことを考慮し、スコープステータスにて判断しています。
回復通知は障害通知アラートの発生から 60 秒以内に回復した場合は送信しないようにしたいため、回復前の 60 秒間に異常が発生しなかった(=異常が発生したのは 60 秒より前である)ことを条件として設定しています。
アラートメッセージの中に「error」の文字列があったらメール送信が必要だが、「error.html」であれば送信は必要ない
アラートメッセージに特定の文字列などが含まれることを条件としたい場合の例を記載します。
設定のポイント
処理フローの設定において、正規表現を利用することで該当するアラートを判別します1。
- 「フィールドが正規表現にマッチするかどうか確認する」
message.content.htmlが.*error([^\.]|$).*とマッチ「した」場合
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- メールを選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、アラートの送信先となるメールアドレスを取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドが正規表現にマッチするかどうか確認する」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します1。
message.content.htmlと入力します.*error([^\.]|$).*と入力します- プルダウンより「した」を選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「受信データのパスで指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 指定したいフィールドを入力します
- 「1」と入力します
- プルダウンより「増やす」を選択します
最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
画面を下にスクロールし「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際に受信したアラートに error の文字列があった場合、深刻度が上昇しアクションが実行されました。
アクション送信先のメールでも、アクションの内容を確認できました。
AlertHub では正規表現の否定先読みが使用できないため、今回は同等の条件を満たすパターンを使用しています。
webhook メッセージの内容を AlertHub 上で扱いたい
AlertHub は、アラートを webhook メッセージにより受信し、リクエストボディの内容を参照したり情報を加工して使用できます。
AlertHub では、リクエストボディが JSON 形式且つ Content-Type が application/json
であれば、メッセージの情報をフィールドにパースできます。
今回は、Content-Type が application/json でない場合に JSON の情報をパースする具体例を記載します。
例として受信するアラートの webhook メッセージは以下の通りです。
{
"network": {
"networkId": "a22da125-6d20-4949-b271-XXXXXXXXX",
"displayName": "sample",
"becomeStableAfter": 7,
"becomeOutdatedAfter": 30
},
"task": {
"taskId": "de85e95e-8116-4eb1-a186-XXXXXXXXXX",
"namespace": "sonar",
"method": "scan",
"reference": {
"snapshotId": "867a6477-b950-41e3-a201-XXXXXXXXXX"
},
"status": "succeeded",
"startedAt": "2023-06-01T07:14:19Z",
"terminatedAt": "2023-06-01T07:15:02Z",
"createdAt": "2023-06-01T07:14:18Z",
"createdBy": "1b38e14f-7abb-49f0-9c6f-XXXXXXXXXX"
}
}
設定のポイント
ルールとトリガーにおいて JSON パースを行い、処理の判断や通知内容で使用できるようにします。
ルール
処理フローとイベントを以下の通り設定します。
- 処理フロー
- フィールドを JSON としてパースする:
message.content.bodyを JSON パースして一時フィールドbodyに保存する
- フィールドを JSON としてパースする:
- イベント
- 深刻度の指定方法を「受信データのパスで指定」:深刻度名
body.exampleと指定する
- 深刻度の指定方法を「受信データのパスで指定」:深刻度名
メッセージの内容を使ってルールで条件判断するため、処理フローでは JSON パースを行います。
上記では、処理フローで JSON パースしたリクエストボディの中身を bodyという一時フィールドに保存しています。
そのため、イベントでは一時フィールドの値を指定し body.example というように body を頭に付けて指定します。
トリガー
パラメーター加工フローを以下の通り設定します。
- フィールドを JSON としてパースする:
message.content.bodyを JSON パースして一時フィールドscanに保存する
メッセージの内容をアクションで使うため、JSON パースを行います。
ルールの一時フィールドに保存した値は、アクションの内容には使用できないため改めて JSON パースを行います。
今回は、パラメーター加工フローにて scan という一時フィールドに保存しているため、アクションでは scan.example のように値を指定します。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドを JSON としてパースする」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します。
- プルダウンより
message.content.bodyを選択します - 任意のフィールド名を入力します
ここでは、イベントでリクエストボディの中身を指定できるように JSON パースし body という一時フィールドに保存しています。
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「受信データのパスで指定」を選択します
- 作成したスコープを選択します
- 作成ボタンをクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名をパスで指定します
- 「1」と入力します
- プルダウンより「増やす」を選択します
今回は、処理フローの設定 で JSON パースしたリクエストボディの中身を body
という一時フィールドに保存しています。
そのため、リクエストボディの値を指定する際には、body.example.example というように body を頭に付けて指定します。
ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「WEBHOOK」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 外部のアプリケーションへ通知するための Webhook URL を入力します
- リクエスト本文に記載したい内容を入力します1
- HTTP ヘッダーを指定します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「深刻度の増減を比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、プルダウンより「増えた」を選択します。
パラメーター加工フローの設定
「パラメーター加工フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドを JSON としてパースする」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します。
- 処理フローの設定と同様に
message.content.bodyを指定します - 任意のフィールド名を入力します
アクションの内容に受信したリクエストボディの値を記載するため、トリガーのパラメーター加工フローにて再度 JSON パースを行います。
ルールの一時フィールドに保存した値は、アクションの内容には使用できないため注意してください。
今回は、パラメーター加工フローにて scan という一時フィールドに保存しているため、アクションでは scan.example.example
のように値を指定しています。
画面を下にスクロールし「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際にアラートを送信してみると、リクエストボディの中から対象の値を取り出して深刻度名に埋め込めました。
受信したアクションからも、同様に必要な値を取り出して記載できたことが確認できました。
アクション内での値の指定については、パラメーター加工フローの設定 で保存した値を使用します。
ホストごとにスコープを登録しているが、同一の障害アラートで同時に深刻度を上昇させたい
複数のスコープで共通の要素により深刻度を変化させたい場合の具体例を記載します。
今回は 2 つのホストについてそれぞれのスコープで監視している想定で設定します。
設定のポイント
各スコープにて属性を設定し、ルールのイベント設定で対象スコープを条件指定します。
スコープ
各スコープ内の「設定」タブで下記のように属性を追加します。
- 属性
アラート:値ルーター異常
ルール
イベントの設定で、「イベント(対象スコープを条件指定)」を行います。
スコープ条件で「直接指定」を選択し、以下の通り指定します。
- スコープ属性の
アラートがルーター異常と一致するスコープ
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- Webhook を選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムと連携するための URL を取得します。
スコープの作成
スコープを作成します。
今回は、2 つのホストを監視している想定でのため、スコープを 2 つ作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
同様に、もう 1 つのスコープも作成します。
スコープ一覧画面に 2 つスコープができたことを確認します。
属性の設定
作成したスコープの表示名をクリックし、スコープの詳細画面を表示します。
「設定」タブをクリックし、「属性」の右端にある「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の属性の名前を入力します
- 名前に対応する任意の値を入力します
- 保存ボタンをクリックします
同様に、もう 1 つのスコープも同じ属性を設定します。
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
処理フローの設定
「処理フロー」の「+」をクリックします。
ダイアログが表示されるため、「フィールドを文字列比較する」を選択し、作成ボタンをクリックします。
処理フローの編集画面が表示されるため、以下の通り入力します1。
- プルダウンより
message.content.data.routerと入力します NGと入力します- 「と等しい」を選択します
イベントの設定
「イベント(対象スコープを条件指定)」の「+」をクリックします。
ダイアログが表示されるため、「直接指定」を選択し作成ボタンをクリックします。
「スコープ」の「+」をクリックします。
ダイアログが表示されるため、「直接指定」を選択し作成ボタンをクリックします。
イベントの編集画面が表示されるため、以下の通り入力します2。
ルール作成画面を一番下までスクロールし保存ボタンをクリックします。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
トリガーの作成
トリガーを作成します。
トリガーは、両方のスコープにおいて設定が必要です。
画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。
スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「スコープステータスを指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します3。
- プルダウンより「障害」を選択します
- プルダウンより「と等しい」を選択します
再度、「実行条件」の「+」をクリックします。
「イベントの深刻度名を指定値と比較する」を選択し、作成ボタンをクリックします。
実行条件の編集画面が表示されるため、以下の通り入力します3。
- イベントの設定 で指定した深刻度名と同じ名前を入力します
- プルダウンより「と等しい」を選択します
画面を下にスクロールし「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。
同様に、もう 1 つのスコープもトリガーを設定します。

以上で、AlertHub 上の設定は終了です。
動作確認
動作確認を行います。
実際に受信したアラートのリクエストボディにおいて、router の項目が NG
となっていた場合、両方のスコープでイベントが発生しアクションが実行されました。
アクション送信先のメールでも、両方のアクションの内容を確認できました。
今回は、受信するアラートのリクエストボディに router という項目がある想定で、その値が NG
となった場合にイベントが発生するように設定しています。
属性の アラート に router 異常 を設定している全てのスコープをイベントの対象とし、障害閾値の 5 まで深刻度を上げる設定です。
イベントの設定 で、深刻度名 router error
を指定しスコープステータスが「障害」となるように設定しているため、両方の要素が揃って初めてアクションが発生するよう設定しています。
意図しない送信元からのメールメッセージを除外したい
AlertHub でメールによるメッセージを受信してアクションを実行する場合に、特定の送信元から送られたメールであることを簡易的にチェックする設定方法を記載します。
本設定により、想定しない送信元からのメールについては処理を行わないようにできます。
設定のポイント
ルールの処理フローもしくはランブックのブランチステップで、メール内容が想定している送信元のものであるか条件判断します。
条件判断にはメールヘッダーの以下の情報を利用します。
- Received
- From
メールヘッダーについては偽装の可能性が一切ないとは言えないため、完全な方法ではないことにご留意ください。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- メールを選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、アラートの送信先となるメールアドレスを取得します。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
ここでは、受信したメールをそのまま転送するアクションとするため、件名と本文は受信したメッセージの内容を利用します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
ランブックの作成
ランブックを作成します。
ランブックでは、ブランチステップを利用して以下の点を確認します。
- Received ヘッダーに想定する送信メールサーバーのアドレスが含まれていること
- From ヘッダーに想定する送信元メールアドレスが含まれていること
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存をクリックします。
ランブックのフロー編集画面が表示されるため、左上の「+」マークをクリックします。
ブランチステップの「フィールドが文字列を含むかどうか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
message.metadata.headers.Received.0を入力します- 想定される送信メールサーバーのアドレスを入力します
- プルダウンより「を含む」を選択します
- 保存ボタンをクリックします
ここでは、Received ヘッダーの 1 番目の要素の内容をチェックしています。
再度、左上の「+」マークをクリックし、ブランチステップの「フィールドが文字列を含むかどうか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
message.metadata.from.emailを入力します- 想定される送信元メールアドレスを入力します
- プルダウンより「を含む」を選択します
- 保存ボタンをクリックします
最後にアクションステップを追加します。
アクションの作成 で作成したアクションをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
各ステップを以下の通りに並べ、黄色くハイライトされている通りに繋げます。
フローが完成したら、右上の保存ボタンをクリックします。
受信スロットからランブックを呼び出す設定
ランブックを受信スロットから直接呼び出すために、受信スロットを編集します。
作成したランブックをプルダウンから選択し、保存ボタンをクリックします。
動作確認
動作確認を行います。
受信スロットのメールアドレスへ、意図している送信元からメールを送信します。
ランブックの各ステップの実行が正常に完了し、メールが転送されました。
日本の祝日、会社の休日と特別営業日を判別して通知先を切り替えたい
AlertHub でメールによるメッセージを受信してアクションを実行する場合に、
- 日本の祝日
- 会社の休日 (夏期休暇など)
- 特別営業日 (日本の祝日であっても営業する日)
を加味して通知先を切り替える場合の設定例を記載します。 本設定により、例えば以下のような運用が可能となります。
- 通常営業日 (日本の祝日でも会社の休日でもない日) は担当者にメール通知する
- 日本の祝日および会社の休日は休日担当者に架電する
- ただし、日本の祝日であっても特別営業日は通常営業日と同様に通常担当者にメール通知する
設定のポイント
カレンダー機能を利用して、会社の休日、特別営業日を設定します。 日本の祝日はあらかじめ登録されているため、追加の設定は不要です。
カレンダーの作成
会社の休日、特別営業日を設定するカレンダーをそれぞれ作成します。
- 画面右上のメニューから「設定」をクリックし、「全般」から「カレンダー」をクリックし、カレンダー画面を表示します。
- 画面右上の「☰」(カレンダー一覧) ボタンをクリックし、カレンダーメニューを表示します。
- 「+ ユーザーカレンダーを追加」ボタンをクリックします。
- ダイアログが表示されるため、表示名と色を選択し保存をクリックします。
ここでは、以下の二つのカレンダーを作成します。
- 会社の休日
- 特別営業日
カレンダーへの予定追加
予定を追加したい月まで移動し、追加するカレンダーの日付をクリックすると、予定の追加画面が表示されます。
ここでは、以下の予定を追加します。
- 土日
- 繰り返し: 毎週 土, 日
- カレンダー: 会社の休日
- 夏期休暇
- 繰り返し: 繰り返さない
- 開始日: 2026 年 8 月 13 日
- 終了日: 2026 年 8 月 16 日
- 終日: チェック
- カレンダー: 会社の休日
- 営業日(山の日)
- 繰り返し: 繰り返さない
- 開始日: 2026 年 8 月 11 日
- 終了日: 2026 年 8 月 11 日
- 終日: チェック
- カレンダー: 特別営業日
アクションの作成
メール通知アクションと Pigeon 架電アクションを作成します。
画面横の AlertHub メニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
続いて、画面右上の「Pigeon」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 使用するコールフローを選択します
- 使用するガイダンスを選択します
- 保存ボタンをクリックします
Pigeon の詳しい設定方法については、 Kompira Pigeon 基本マニュアル > 設定の流れ を参照してください。
ランブックの作成
ランブックを作成します。
ランブックでは、ブランチステップを利用して以下の点を確認します。
- 特別営業日かどうか
- そうではない場合、会社の休日かどうか
- そうではない場合、日本の祝日かどうか
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存をクリックします。
ランブックのフロー編集画面が表示されるため、左上の「+」マークをクリックします。
まず、現在の日時を取得するステップを追加します。 左上の「+」マークをクリックし、オペレーターステップの「現在の日時を取得する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 保存ボタンをクリックします
再度、左上の「+」マークをクリックし、ブランチステップの「日時が指定したカレンダーの予定の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 作成した「特別営業日」カレンダーを選択します
- プルダウンより「含まれる」を選択します
- 保存ボタンをクリックします
再度、左上の「+」マークをクリックし、ブランチステップの「日時が指定したカレンダーの予定の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 作成した「会社の休日」カレンダーを選択します
- プルダウンより「含まれる」を選択します
- 保存ボタンをクリックします
再度、左上の「+」マークをクリックし、ブランチステップの「日時が指定したカレンダーの予定の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 「日本の祝日」カレンダーを選択します
- プルダウンより「含まれる」を選択します
- 保存ボタンをクリックします
ここまでで追加された各ステップを以下の通りに並べ、黄色くハイライトされている通りに繋げます。
次に通知のアクションステップを追加します。
アクションの作成 で作成したメール通知アクションを追加します。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
通知ステップが以下のときに該当するよう、黄色くハイライトされている通りに繋げます。
- 特別営業日のとき、または
- 特別営業日でなく、会社の休日でなく、日本の祝日でもないとき
次に、アクションの作成 で作成した Pigeon アクションを追加します。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
通知ステップが以下のときに該当するよう、黄色くハイライトされている通りに繋げます。
- 特別営業日でなく、会社の休日であるとき、または
- 特別営業日でなく、会社の休日でなく、日本の祝日であるとき
フローが完成したら、右上の保存ボタンをクリックします。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- メールを選択します
- 任意の表示名を入力します
- ランブックの作成 で作成したランブックを選択します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、アラートの送信先となるメールアドレスを取得します。
動作確認
動作確認を行います。
通常営業日の確認
例として、2026 年 8 月 10 日 (月) にアラートメールを送信します。 この日は特別営業日でも会社の休日でも日本の祝日でもないため、通常担当者にメール通知されます。
会社の休日の確認
例として、2026 年 8 月 14 日 (金) にアラートメールを送信します。 この日は会社の休日であるため、休日担当者に Pigeon で架電されます。
特別営業日の確認
例として、2026 年 8 月 11 日 (火) にアラートメールを送信します。 この日は特別営業日であるため、通常担当者にメール通知されます。 日本の祝日でもありますが、特別営業日の設定が優先されます。
時間帯による切り替えとの併用
日中帯と夜間帯のアラート発生を切り替えて通知したい で紹介した時間帯による切り分けと、 本設定例のカレンダーによる切り分けを組み合わせて利用することも可能です。 例えば、通常営業日の日中帯のみ通常担当者にメール通知し、夜間帯は担当者に架電する、といった設定が可能です。 詳しい設定方法については、日中帯と夜間帯のアラート発生を切り替えて通知したい を参照してください。
シフト勤務制で通知先を切り替えたい
AlertHub でメールによるメッセージを受信してアクションを実行する場合に、2 交代制などのシフト勤務体制で通知先を切り替える場合の設定例を記載します。
この設定では、登録シフトに応じてメールの通知先を切り替え、どのシフトにも該当しない場合は休日用の Pigeon アクションを実行します。
設定のポイント
カレンダー機能を利用して、シフト勤務の予定を登録します。 ランブックのブランチステップで、現在日時がどのシフトに該当するかを判別し、 それぞれのシフトに対応した通知アクションを実行します。
これにより、ランブックの修正なしで予定に応じた自動的な通知先の切り替えが実現できます。
カレンダーの作成
設定するカレンダーをそれぞれ作成します。
- 画面右上のメニューから「設定」をクリックし、「全般」から「カレンダー」をクリックし、カレンダー画面を表示します。
- 画面右上の「☰」(カレンダー一覧) ボタンをクリックし、カレンダーメニューを表示します。
- 「+ ユーザーカレンダーを追加」ボタンをクリックします。
- ダイアログが表示されるため、表示名と色を選択し保存をクリックします。
ここでは、以下の二つのカレンダーを作成します。
- A シフト
- B シフト
カレンダーへの予定追加
予定を追加したい月まで移動し、追加するカレンダーの日付をクリックすると、予定の追加画面が表示されます。
ここでは、月火と木金の 2 交代制シフトとして以下の予定を追加します。 水曜と土日は休日とし、予定は追加しません。
- A 日勤
- 繰り返し: 毎週 月, 火
- 開始時間: 09:00
- 終了時間: 当日 18:00
- カレンダー: A シフト
- B 夜勤
- 繰り返し: 毎週 月, 火
- 開始時間: 18:00
- 終了時間: 翌日 09:00
- カレンダー: B シフト
- B 日勤
- 繰り返し: 毎週 木, 金
- 開始時間: 09:00
- 終了時間: 当日 18:00
- カレンダー: B シフト
- A 夜勤
- 繰り返し: 毎週 木, 金
- 開始時間: 18:00
- 終了時間: 翌日 09:00
- カレンダー: A シフト
アクションの作成
A, B シフト用のメール通知アクションと、休日用の Pigeon アクションを作成します。
画面横の AlertHub メニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
再度、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存ボタンをクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
続いて、画面右上の「Pigeon」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 使用するコールフローを選択します
- 使用するガイダンスを選択します
- 保存ボタンをクリックします
Pigeon の詳しい設定方法については、 Kompira Pigeon 基本マニュアル > 設定の流れ を参照してください。
ランブックの作成
ランブックを作成します。
ランブックでは、ブランチステップを利用して以下の点を確認します。
- 現在日時が A シフトの予定の範囲内であるか
- 現在日時が B シフトの予定の範囲内であるか
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、任意の表示名を入力し保存をクリックします。
ランブックのフロー編集画面が表示されるため、左上の「+」マークをクリックします。
まず、現在の日時を取得するステップを追加します。 左上の「+」マークをクリックし、オペレーターステップの「現在の日時を取得する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 保存ボタンをクリックします
再度、左上の「+」マークをクリックし、ブランチステップの「日時が指定したカレンダーの予定の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 作成した「A シフト」カレンダーを選択します
- プルダウンより「含まれる」を選択します
- 保存ボタンをクリックします
再度、左上の「+」マークをクリックし、ブランチステップの「日時が指定したカレンダーの予定の範囲内であるか確認する」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 任意のフィールド名 (ここでは
now) を入力します - 作成した「B シフト」カレンダーを選択します
- プルダウンより「含まれる」を選択します
- 保存ボタンをクリックします
次に通知のアクションステップを追加します。
アクションの作成 で作成したメール通知アクションを追加します。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
同様に、B シフト用のメール通知アクションを追加します。
ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
最後に、休日用の Pigeon アクションを追加します。

ダイアログが表示されるため、任意の表示名を入力し保存ボタンをクリックします。
各ステップを以下の通り並べ、黄色くハイライトされている通りに繋げます。
フローが完成したら、右上の保存ボタンをクリックします。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- メールを選択します
- 任意の表示名を入力します
- ランブックの作成 で作成したランブックを選択します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、アラートの送信先となるメールアドレスを取得します。
動作確認
動作確認を行います。
A シフト の通知確認
受信スロットのメールアドレスに対して、A シフトの時間帯 (例: 2026 年 6 月 1 日 11:00) にメールを送信します。 A シフト用に設定したメール通知アクションが実行され、指定したメールアドレスに通知が届きました。
B シフト の通知確認
受信スロットのメールアドレスに対して、B シフトの時間帯 (例: 2026 年 6 月 2 日 01:00) にメールを送信します。 B シフト用に設定したメール通知アクションが実行され、指定したメールアドレスに通知が届きました。
複数情報の組み合わせによる深刻度でアラートを集約する
Kompira AlertHub では、受信したメッセージ内の情報を「深刻度」として扱い、アクションを実行するかどうかの判断基準として利用することができます。
この深刻度の名前に、受信メッセージ内の複数の情報を組み合わせた値を使用することで、単純な条件設定では難しい「特定の組み合わせが 5 回発生したときにのみメール通知する」といった高度な制御が可能になります。
本例では、受信メールに含まれる「ホスト名」と「イベント」を組み合わせてひとつの深刻度として管理し、その発生回数に応じて通知を行う設定方法を解説します。
本設定例では、以下の形式のメールを受信することを想定します。
検知時刻:12:00:00
ステータス:PROBLEM
重要度:Average
ホスト名:testhost
発生イベント:ルーター異常
設定のポイント
以下の手順でランブックを設定し、受信メッセージ内の「ホスト名」と「イベント」を組み合わせた深刻度をカウントアップさせるイベントを発行します。
- 受信メッセージから「ホスト名」を取り出す
- オペレータステップから「フィールドから正規表現によって値を1つ取り出す」を選択
- 「ホスト名」を取り出す正規表現と、取り出した値を保存する任意のフィールド名を設定
- オペレータステップから「フィールドから正規表現によって値を1つ取り出す」を選択
- 受信メッセージから「発生イベント」を取り出す
- オペレータステップから「フィールドから正規表現によって値を1つ取り出す」を選択
- 「発生イベント」を取り出す正規表現と、取り出した値を保存する任意のフィールド名を設定
- オペレータステップから「フィールドから正規表現によって値を1つ取り出す」を選択
- オペレーターステップから取り出した 2 つのフィールドを結合
- オペレーターステップから「2つのフィールドを結合する」を選択
- 「
1で指定したフィールドと2で指定したフィールドを結合して任意のフィールドに保存する」と設定
- 「
- オペレーターステップから「2つのフィールドを結合する」を選択
- 3で指定したフィールド名の深刻度を1増やす
- イベントステップから「対象スコープを直接指定して、深刻度名を受信データのパスで指定」を選択
- スコープ
- イベントを発生させるスコープをプルダウンで選択
- 深刻度
- 「深刻度名
3で指定したフィールドを1増やす」と設定
- 「深刻度名
- スコープ
- イベントステップから「対象スコープを直接指定して、深刻度名を受信データのパスで指定」を選択
以下より、設定の手順を記載します。
スコープを作成する
深刻度の上昇をトリガーにアクションを起動させるスコープを作成します。本例では複数のサーバから構成される「システム」単位でスコープを用意します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 保存をクリックします
受信スロットに紐づけるランブックを作成する
受信メッセージの複数項目を結合させた深刻度名で、深刻度を上昇させるランブックを作成します。
ランブックで実施することは以下の通りです。
- メールからホスト名を取り出す
- メールから発生イベントを取り出す
- 取り出した 2 つを結合する
- 結合した文字列を使用して、スコープの深刻度を上昇させる
ランブックをクリックします。
ランブックの新規作成をクリックします。(ここで作成されるランブックをランブックAとします)
ダイアログが表示されるため、任意の表示名を入力し保存をクリックします。
ランブックのフロー編集画面が表示されるため、左上の「+」マークをクリックします。
「フィールドから正規表現によって値をひとつ取り出す」を選択し、正規表現によってメールからホスト名を取り出し、適当なフィールド(ここでの格納先は
hostname としています)に格納するオペレーターを作成します。
また、同じ手順で正規表現によってメールから発生イベントを取り出し、フィールドに格納するオペレーターを作成します。(ここでの格納先は
occurred_event としています)
左上の「+」マークをクリックし、「2つのフィールドを結合する」を選択します。
①と②に先ほどホスト名と発生イベントを格納したフィールド名を入力し、③に結合後の文字列を格納するフィールド名を指定して保存します。
今回の受信メールで、上記処理を実施した場合、
hostname には「testhost」、occurred_event には「ルーター異常」が格納され、
severityname には「testhostルーター異常」という文字列が格納されます。
左上の「+」マークをクリックし、「対象スコープを直接指定して、深刻度名を受信データのパスで指定」を選択します。
スコープに スコープを作成する で作成したスコープを指定し、受信データには結合文字列を格納したフィールドを指定して保存します1。
最後に、各ステップを矢印で結び、保存してください。
受信スロットの作成
受信スロットを作成します。
画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 種別はメールを選択します
- 表示名は任意に入力します
- ランブック欄は 受信スロットに紐づけるランブックを作成する で作成したランブックAを指定します
- 保存をクリックします
受信スロットが作成され、一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、メールアドレスを取得します。
メール通知のアクションを作成する
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 送信先のメールアドレスを入力します
- 件名を入力します
- 本文欄に記載したい内容を入力します
- 保存ボタンをクリックします
スコープにトリガーを作成する
画面横のメニューから「スコープ」をクリックし、スコープを作成する で作成したスコープをクリックします。
詳細画面で「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- メール通知を行うための深刻度の増加に関わる任意の実行条件を指定します
- 例えば以下のように指定します
- 「指定条件を満たす直近のイベント件数を指定値と比較する」を選択し、「過去
1800秒間に深刻度の変化量が1と等しいイベントが5以上の回数発生した」を条件に追加します
- 「指定条件を満たす直近のイベント件数を指定値と比較する」を選択し、「過去
- 例えば以下のように指定します
- 実行にはアクションを選択し、プルダウンメニューからメール通知のアクションを作成する で作成したアクションを指定します
- 最後に保存ボタンをクリックします
動作確認
動作確認を行います。
実際に例にあげた文面のメールを送信すると、以下の通りスコープの「testhostルータ異常」深刻度が変化しています。
次にホスト名が「testhost2」であるメールを送信すると、以下の通りスコープの「testhost2ルータ異常」深刻度が変化します。
このようにメール内の複数の要素を組み合わせて、深刻度を管理することができます。
ホスト名と発生イベントが同一の組み合わせであるメールを 5 通送信すると、深刻度が 5 となり、アクションが実行された履歴が表示されます。
最後にアクションに指定したメール送信先で以下のようなメールを受信できていることを確認します。
この例では単純にスコープを直接指定していますが、メール内の情報(本文、件名、送信元メールアドレスなど)から異常が発生したシステムを特定し、そのシステムに対応するスコープの深刻度を上げるような制御も可能です。詳しくは 2.10. ホストごとにスコープを登録しているが、同一の障害アラートで同時に深刻度を上昇させたい にてご紹介しています
時刻を条件とする設定で日付をまたぐ場合の設定方法
監視対象のサーバー等が夜間メンテナンス(毎週定期)を実施しているため、指定の時間帯はアラートが不要となる場合の例を挙げます。
今回は、毎週土曜 23:00 〜翌 4:00 の定期メンテナンス中に発生した障害通知メールでは、アクションを実行しないための設定手順を紹介します。
設定のポイント
ランブックのブランチステップ「日時が指定した曜日における時刻の範囲内であるか確認する」で、 日付をまたぐ深夜時間帯は時刻に 24 時間を足した数値を設定することができます。
例:翌日の午前 1 時⇒ 25 時
最大 48:00 (翌日の 24 時)まで対応しています。
指定時間帯のアラート抑止には「静観スケジュール」や「カレンダー機能」も利用できます。 例えば、「毎日同じ時間帯(例:毎日 2:00 〜 4:00)」の抑止であれば静観スケジュールの手順で十分ですが1、「毎週決まった曜日の、日またぎのメンテナンス(例:土曜 23:00 〜 翌 4:00)」をシンプルに設定したい場合は、本手順が最適です。
アクションの作成
アクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します(ここでは「メール通知」とします)
- メール送信先の名前とメールアドレスを入力します
- 送信するメールの件名を入力します
- 送信するメールの本文を入力します
- 保存をクリックします
通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
ランブックの作成
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- 表示名を任意に入力
- 備考欄は必要に応じて入力(しなくても構いません)
- 保存をクリックします
ランブックが作成され一覧に表示されます。
ランブックの表示名をクリックしてランブックの詳細画面に遷移します。
現在日時取得のステップ追加
ランブックのフロー編集画面が表示されます。
左上の「+」マークをクリックし、オペレーターステップの「現在の日時を取得する」を選択します。
ダイアログが表示されるため、条件判断オペレーターに以下の通り入力し、保存します。
- 表示名を指定(ここでは「現在時刻取得」とします)
- フィールドを任意に指定します(ここでは「 Now 」としています)
日時の判断
左上の「+」マークをクリックし、ブランチステップの「日時が指定した曜日における時刻の範囲内であるか確認する」を選択します。
ダイアログが表示されるため、以下の通り入力し保存します。
-
表示名を指定(ここでは「定期メンテナンスの時間判定」とします)
-
条件判断オペレーターが以下の文章になるように指定します(「」内が入力もしくは選択箇所です)
もし、「 Now 」の曜日が「土」曜日で時刻が「 23:00 」から「 28:00 」の範囲内(タイムゾーン:「Asia/Tokyo」である場合)
-
保存をクリックします
範囲に指定されない時間帯の処理
左上の「+」マークをクリックし、アクションステップ「メール通知」を選択します。
ダイアログが表示されるため、以下の通り入力し、保存します。
- 表示名を指定(ここでは、「メール通知」とします)
- アクションに最初に作成したメールアクションを指定します
- 保存をクリックします
ステップの接続
最後に以下の図のようにステップを順番に繋げ、保存ボタンをクリックします。
受信スロットの作成
画面横のメニューから受信スロットをクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- メールを選択
- 任意の表示名を入力
- ランブック欄に先ほど作成したランブックを選択します
- 保存をクリックします
受信スロットが作成され一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムからの受信用メールアドレスを取得します。
動作確認
動作確認を行います。
定期メンテナンスの時間外に受信したメールは、通常通りアクションが実行されます。
逆に定期メンテナンス期間としてランブックに設定した曜日・時間帯にメールを受信した場合は、アクションが実行されないことが確認できました。
ブランチステップの「日時が指定した時刻の範囲内であるか確認する」は曜日は指定は不可となりますが、日またぎの範囲指定(例: 23:00 ~翌 4:00 )は可能です。
受信メールの本文から特定の項目を抽出し、メール通知に埋め込む方法
AlertHub が監視対象のサーバーから受信したメールの情報を活用し、メールアクションで動的な通知を行うための設定例をご紹介します。
設定のポイント
スコープのトリガー作成時に設定できる「パラメーター加工フロー」を設定すると、受信メール(送信者アドレスや本文の文言など)から必要な情報を抽出し、送信先の指定やメッセージ本文へ動的に反映できます。1
今回は、受信メールから特定の項目を抽出し、送信するメールの宛先・件名・本文に埋め込んで通知する手順を解説します。
-
受信メールの件名
【障害発生】致命的な障害: WebServer01のCPU負荷が高騰しています -
受信メール本文
障害発生:CPU負荷が高すぎます
発生日時:2026/7/16 12:00:00
ホスト名:WebServer01
障害名: CPU utilization is too high on WebServer01
重大度:高
現在の値:95.00%
担当グループ:Webサーバー管理グループ
連絡先:maintenance_group@example.com
対処方法:xxxxxxxx
- 受信メールから抽出する項目
- メールヘッダー情報
- 送信元(送信者名)
- 送信元メールアドレス
- 送信先メールアドレス(to/cc)
- メール送信日時
- 件名
- アラート詳細情報(本文から抽出)
- ホスト名
- 発生日時
- 重大度
- 担当グループ
- 連絡先(メールアドレスのアカウント名)
- メールヘッダー情報
受信スロットの作成
画面横のメニューから受信スロットをクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- メールを選択します
- 任意の表示名を入力します
- 保存をクリックします
受信スロットが作成され一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムからの受信用メールアドレスを取得します。
スコープの作成
スコープを作成します。
画面横のメニューからスコープをクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 保存をクリックします
ルールの作成
ルールを作成します。
画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。
- 任意の表示名を入力します
- 最初に作成した受信スロットを選択します
イベントの設定
「イベント(対象スコープを直接指定)」の「+」をクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 「直接指定」を選択します
- 作成したスコープを選択します
- 「作成」をクリックします
イベントの編集画面が表示されるため、以下の通り入力します。
- 任意の深刻度名を入力します
- 数値欄に
1と入力します - プルダウンより「増やす」を選択します
- 保存をクリックします
アクションの作成
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 表示名:任意の表示名を入力します
- メール送信先:メール送信先の名前とメールアドレスを入力します
- 名前:
{{group_name}} - メール:
{{contact}}
- 名前:
- 件名:
障害メールを受信しました --- {{message.content.subject}}と入力します - 本文:以下の内容を入力します
監視スコープ{{scope.displayName}}にて{{event.severityName}}の深刻度が上昇しています。
ホスト名 : {{hostname}}
障害発生日時 : {{incident_time}}
重大度 : {{severity}}
現在の深刻度:{{event.severity}}
■受信した内容は以下の通りです。
メール送信日時:{{message.metadata.date}}
メール送信元:{{message.metadata.from.email}}
メール送信先(To):
{{#message.metadata.to}}
{{email}}
{{/message.metadata.to}}
メール送信先(CC):
{{#message.metadata.cc}}
{{email}}
{{/message.metadata.cc}}
メール本文:
{{message.content.text}}
- 設定内で使用する
{{group_name}}や{{hostname}}などの変数は、「トリガーの作成」の「パラメーター加工フローの設定 」で抽出定義する一時フィールド名です。 - 送信先が複数指定されている場合でも、
{{#message.metadata.to}} {{email}} {{/message.metadata.to}}のようにセクション({{#...}})で囲むことで、すべてのメールアドレスを繰り返し展開して動的に出力できます( CC や BCC も同様です)。
その他 message など使用できるキーワードの埋め込みの方法については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。
- 「保存」をクリックします。
トリガーの作成
トリガーを作成します。
画面横のメニューから「スコープ」をクリックし、作成したスコープをクリックします。
スコープに紐づいたトリガーの一覧画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
ダイアログが表示されるため、「深刻度の増減を判定する」を選択し、作成をクリックします。
実行条件の編集画面が表示されるため、プルダウンより「増えた」を選択します。
パラメーター加工フローの設定
- 「パラメーター加工フロー」の「+」をクリックします
- ダイアログが表示されたら「フィールドから正規表現によって値をひとつ取り出す」を選択し、「作成」をクリックします
- 対象フィールド(
F1)にmessage.content.text(メール本文)を指定し、下表の通り正規表現と一時フィールドを設定します - 手順 1 〜 3 を繰り返し、以下の 5 つの設定をすべて作成します
| 設定項目 | 対象フィールド (F1) | 正規表現 (P1) | 保存先 (F2) |
|---|---|---|---|
| ホスト名 | message.content.text | ホスト名:\s*(.*) | hostname |
| 発生日時 | message.content.text | 発生日時:\s*(.*) | incident_time |
| 重大度 | message.content.text | 重大度:\s*(.*) | severity |
| 担当グループ | message.content.text | 担当グループ:\s*(.*) | group_name |
| 連絡先 | message.content.text | 連絡先:\s*(.*) | contact |
- 画面下部の「実行アクション」にて、作成した「メールアクション」を選択し、「保存」をクリックします
動作確認
「設定のポイント」で指定したメールを受信スロットのアドレスへ送信すると、各項目が自動で埋め込まれた通知メールが送信されます。
受信メッセージが Webhook 形式の場合も同じことができます。詳細は「2.9 webhook メッセージの内容を AlertHub 上で扱いたい」を参照してください。
異常が 1 分以内に回復したらアラート発生の通知が必要ない(ランブック活用版)
本稿では、ランブックと関連メッセージ機能を活用し、障害発生から一定時間経過後に回復していない場合のみ通知を送信する設定例をご紹介します。
同様の設定例として「2.7 異常が 1 分以内に回復したらアラート発生の通知が必要ない」もありますが、本設定例では短時間での状態変化にも対応できる構成となっています。
設定のポイント
従来方式との違い
従来のルール・トリガーのみを組み合わせる方法( 2.7 )では次の課題がありました。
-
短時間での状態変化(障害↔復旧の繰り返し)への対応
待機時間(1分間)の途中で「障害 → 復旧 → 再度障害」のように短時間で状態が変化した場合、従来方式では待機時間のタイマーや深刻度判定のタイミングによって、すでに復旧済みのイベントに対して誤通知をしたり、逆に再発した障害の通知が漏れてしまう可能性がありました。
-
管理の複雑化
障害用と回復用で「ルール 2 つ・トリガー 2 つ・アクション 2 つ」が必要となり、設定変更時の手動連携ミスが発生しやすくなっていました。
本設定例のアプローチ
トリガーの関連メッセージ機能とランブックの分岐処理を組み合わせることで、従来の課題(「障害→回復→再障害」といった短時間での状態変化による誤通知や通知漏れ)を解消します。
処理の流れとしては以下の通りです。
- 受信メッセージの判定・深刻度更新
- 受信スロットに紐付けたランブックでメール本文からステータス(障害/回復)を解析します。
- 障害通知メールであればスコープの深刻度を上げ、回復通知メールであれば深刻度を下げる処理を行います。
- 待機と関連メッセージの集計
- 障害が発生した(深刻度が上がった)時点から「 1 分間( 60 秒)」処理を保留します。
- その 1
分間の待機期間中に発生した「同じ深刻度の回復イベント(深刻度が下がった)」を関連メッセージ(
relatedMessageCount)として自動で集計します。
- 回復有無の判定と通知実行
- 1 分経過後、トリガーに紐づけたランブックを起動し、集計された関連メッセージの件数(
relatedMessageCount)をチェックします。 - 件数が
0(待機中に回復通知が来なかった)場合: 障害が継続しているため、障害通知アクションを実行します。 - 件数が
1 以上(待機中に回復通知が届いた)場合: 既に復旧しているため、何もせず静観(処理終了)します。
- 1 分経過後、トリガーに紐づけたランブックを起動し、集計された関連メッセージの件数(
具体的な設定内容
-
トリガーの実行条件
- 「一定時間経過後のイベントのフィールドを指定値と比較する」:
60秒経過後、最新の深刻度が1以上の値である 1
- 「一定時間経過後のイベントのフィールドを指定値と比較する」:
-
トリガーの関連メッセージ
- 「深刻度の増減を判定する」:深刻度が
減った2 - 「イベントの深刻度名を起点イベントの深刻度名と比較する」:深刻度名が起点イベントの深刻度名
と等しい
- 「深刻度の増減を判定する」:深刻度が
-
トリガーに紐づくランブックのブランチステップ
- 「フィールドを数値比較する」:もし
relatedMessageCountが0と等しい場合 3
- 「フィールドを数値比較する」:もし
受信メール(テスト用のメールの書式)
本設定例では、メール本文に含まれる status の値(障害 または 回復)のみを判定に使用します。
件名やその他の本文テキストは任意の文字列で問題ありません。
- 障害通知メール
- 件名: 任意(例:
【アラート】サーバー異常検知) - 本文:
status:障害を含める(その他の記述は任意)
- 件名: 任意(例:
- 回復通知メール
- 件名: 任意(例:
【復旧】サーバー異常解消) - 本文:
status:回復を含める(その他の記述は任意)
- 件名: 任意(例:
スコープの作成
監視対象の状態を管理するスコープを作成します。
画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 任意の表示名を入力します
- 警戒判定閾値に任意の数値を設定します
- 障害判定閾値に任意の数値を設定します
- 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
- 「保存」をクリックします
ランブックの作成(受信データ加工用)
受信したメール本文を解析し、スコープの深刻度をコントロールするランブックを作成します。
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- 表示名を任意に入力(ここでは「受信データ加工用」とします)
- 備考欄は必要に応じて入力
- 「保存」をクリックします
一覧から作成した「受信データ加工用」をクリックし、フロー編集画面を開きます。
オペレーターのステップ追加
ランブックのフロー編集画面が表示されます。
左上の「+」マークをクリックし、オペレーターステップの「フィールドから正規表現によって値をひとつ取り出す」を選択します。
ダイアログが表示されるため、条件判断オペレーターに以下の通り入力し、保存します。
- 表示名を指定(ここでは「ステータス取り出し」とします)
- オペレーターは以下の文章になるように設定します。
message.content.textから正規表現status:\s*(.*)によって値を一つ取り出してフィールドstatusに保存する - 「保存」をクリックします
ブランチのステップ追加
左上の「+」マークをクリックし、ブランチステップの「フィールドを文字列比較する」を選択します。
ダイアログが表示されるため、条件判断オペレーターに以下の通り入力し、保存します。
-
表示名を指定(ここでは「ステータスの内容」とします)
-
オペレーターは以下の文章になるように設定します
statusが障害と等しい場合 -
「保存」をクリックします
イベントのステップ追加
左上の「+」マークをクリックし、イベントステップの「対象スコープを直接指定して、深刻度名を直接指定」を選択します。
ダイアログが表示されるため、以下の通り入力し、保存します。
-
表示名を指定(ここでは「深刻度上昇」とします)
-
スコープに先ほど作成したスコープを指定します
-
深刻度は以下の文章になるように設定します
深刻度Aを1増やす -
「保存」をクリックします
左上の「+」マークをクリックし、イベントステップの「対象スコープを直接指定して、深刻度名を直接指定」を選択します。
ダイアログが表示されるため、以下の通り入力し、保存します。
-
表示名を指定(ここでは「深刻度下降」とします)
-
スコープに先ほど作成したスコープを指定します
-
深刻度は以下の文章になるように設定します
深刻度Aを1減らす -
「保存」をクリックします
最後に各ステップを以下の通りに並べ、黄色くハイライトされている通りに繋げます。
フローが完成したら、右上の保存ボタンをクリックします。
受信スロットの作成
画面横のメニューから受信スロットをクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- 「メール」を選択します
- 任意の表示名を入力します
- ランブック欄に先ほど作成した「受信データ加工用」を指定します
- 「保存」をクリックします
受信スロットが作成され一覧に表示されます。
表示名をクリックして受信スロットの詳細画面に遷移し、監視システムからの受信用メールアドレスを取得します。
アクションの作成
障害通知時に送信するメールアクションを作成します。
画面横のメニューから「アクション」をクリックし、画面右上の「メール」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力します。
- 表示名:任意の表示名を入力します
- メール送信先:メール送信先の名前とメールアドレスを入力します
- 名前:
サポートグループ - メール:
test@example.com
- 名前:
- 件名:
障害メールを受信しましたと入力します - 本文:任意の内容を入力します
- 「保存」をクリックします
ランブックの作成(通知判定用)
トリガーから呼び出され、待機時間中に回復通知が来ていないか(relatedMessageCount == 0)を判定してメールを送信するランブックを作成します。
画面横のメニューから「ランブック」をクリックし、画面右上の「+」ボタンをクリックします。
ダイアログが表示されるため、以下の通り入力し、保存します。
- 表示名を任意に入力(ここでは「通知判定用」とします)
- 備考欄は必要に応じて入力
- 「保存」をクリックします
作成した「通知判定用」をクリックし、フロー編集画面を開きます。
ブランチステップの追加
左上の「+」マークをクリックし、ブランチステップの「フィールドを数値比較する」を選択します。
ダイアログが表示されるため、条件判断オペレーターに以下の通り入力し、保存します。
-
表示名を任意に入力します(ここでは受信数の確認としています)
-
条件判断オペレーターは以下の文章になるよう設定し、保存します
もし
relatedMessageCountが0と等しい場合 -
「保存」をクリックします
アクションステップの追加
左上の「+」マークをクリックし、先ほど作成したアクションを選択します。
ダイアログが表示されるため、表示名を任意に入力し、保存します。
最後に各ステップを以下の通りに並べ、黄色くハイライトされている通りに繋げます。
フローが完成したら、右上の「保存」をクリックします。
トリガーの作成
スコープにトリガーを設定し、待機のための設定と関連メッセージの集約ルールを定義します。
画面横のメニューから「スコープ」をクリックし、作成したスコープをクリックします。
スコープに紐づいたトリガーの一覧画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。
ダイアログが表示されるため、任意の表示名を入力します。
実行条件の設定
「実行条件」の「+」をクリックします。
-
「深刻度の増減を判定する」を選択し、作成をクリックします。
編集画面でプルダウンより「増えた」を選択し、保存します。
-
再度「実行条件」の「+」をクリックし、「一定時間経過後のイベントのフィールドを指定値と比較する」を選択して作成をクリックします。
編集画面で「 60 秒経過後、最新の深刻度が 1 以上の値である」と設定します。
関連メッセージの設定
「関連メッセージ」の有効化にチェックを入れ、下部の「+」をクリックします。
-
ダイアログが表示されるため、「深刻度の増減を判定する」を選択し、作成をクリックします。
深刻度が
減ったとなるよう設定し、保存します。 -
再度「関連メッセージ」の「+」をクリックします。
ダイアログで「イベントの深刻度名を起点イベントの深刻度名と比較する」を選択し、作成をクリックします。
深刻度名が起点イベントの深刻度名
と等しいとなるよう設定し、保存します。
実行するランブックの設定
- 実行対象として「ランブック」を指定します
- 一覧の中から2つめに作成したランブック「通知判定用」を選択します
- 「保存」をクリックします
動作確認
設定完了後、受信スロットのアドレスへテストメールを送信して挙動を確認します。
-
ケース1:障害のみ(通知あり)
「設定のポイント」で指定した障害通知メールを受信スロットのアドレスへ送信すると、 1 分後に通知メールが届きます。
-
ケース2:1分以内に回復(静観・通知なし)
「設定のポイント」で指定した障害通知メールを受信スロットのアドレスへ送信したのち、1 分以内に回復通知メールを送信すると 1 分経過しても通知メールが届かない(静観された)ことを確認します。
-
ケース3:回復後に再発(通知あり)
障害通知メール → 回復通知メール → 障害通知メール の順に送信すると、2 回目の障害通知メールを送信してから 1 分後に通知メールが送られます。
障害発生から 1 分間( 60 秒)処理を保留(遅延評価)させるための設定です。
待機時間( 1 分間)の中に届いた「回復通知」を関連メッセージとして集約・カウントするための設定です。
待機時間中に回復通知を受信しなかった場合( relatedMessageCount が 0 )のみ障害通知アクションを実行し、回復通知を受信していた場合( 1 以上)は通知を行わずに処理を終了(静観)させます。
AlertHub 全体の仕組み
AlertHub の構成要素と AlertHub がアラートを受信してからアクションを発生させるまでの一連の流れについて説明します。
AlertHub の構成要素
AlertHub を構成する基本的な要素と役割について記載します。
- スコープ:監視対象のひとまとまりを指す
- 受信スロット:監視対象からアラートを受信する
- ルール:アラートの内容を見て仕分けをする
- イベント:ルールによって発生し、スコープの深刻度1を増減させる
- トリガー:イベントの発生によりアクションを行うか判断する
- アクション:AlertHub から通知や連携する
- ランブック:AlertHub で行う条件判断やアクション実行を柔軟に行うための機能
以下より、AlertHub での一連の流れについて説明します。
アラートを受信する
AlertHub は、まず各ツールやサービスのアラートを一度全て受信スロットで受信します。
アラートを仕分ける
受信スロットに受信したアラートを設定したルールに基づいて仕分け、イベントを発生させます。
この部分をランブックに置き換えて、さらに詳しく条件を加えたり次のステップであるトリガーを介さずにアクションを発生させることも可能です。
アクションを発生させる
イベントが発生すると、設定に応じて各スコープの深刻度1が増減します。
深刻度の増減やイベントの内容といった実行条件に応じて、トリガーがアクションを発生させます。
この部分もランブックに置き換えることができ、さらに処理を分岐させてイベントの内容によりアクションを変更する等の設定が可能です。
深刻度は、各スコープのステータスを変更するための数値です。
ステータスはスコープの状態を表し「正常」「警戒」「障害」の三段階があります。