30分以内に10件以上のアラートが発生したらSlackに通知する

AlertHub によって、一定数アラートを受信した際にだけ通知したい場合の具体例を記載します。

今回は、監視システムに大量にアラートメッセージを受信している想定で設定します。

設定のポイント

トリガーの実行条件において下記二点を設定しアラートを絞り込みます。

  • 「指定条件を満たす直近のイベント件数を指定値と比較する」

    • 過去 1800 秒間に「深刻度の変化量」が 1「と等しい」イベントが 10「以上の」回数発生した
      ※「30 分間にアラートが 10 回以上発生した」ことを指定しています
  • 「直近のアクション実行件数を指定値と比較する」

    • 過去 1800 秒間に、アクションが 0「と等しい」回数実行された
      ※「30 分以内に Slack への通知が行われていない」ことを指定しています

以下より、設定の手順を記載します。

受信スロットの作成

受信スロットを作成します。

画面横のメニューから「受信スロット」をクリックし、画面右上の「+」ボタンをクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. Webhook を選択します
  2. 任意の表示名を入力します
  3. 保存をクリックします

受信スロットが作成され、一覧に表示されます。

表示名をクリックして受信スロットの詳細画面に遷移し、Zabbix と連携するための URL を取得します。

スコープの作成

スコープを作成します。

画面横のメニューから「スコープ」をクリックし、画面右上の「+」ボタンをクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 任意の表示名を入力します
  2. 警戒判定閾値に任意の数値を設定します
  3. 障害判定閾値に任意の数値を設定します
  4. 必要に応じて「深刻度自動復旧の有効化」にチェックを入れ、復旧時間を指定します
  5. 保存をクリックします

ルールの作成

ルールを作成します。

画面横のメニューから「ルール」をクリックし、画面右上の「+」ボタンをクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 任意の表示名を入力します
  2. 最初に作成した受信スロットを選択します

イベントの設定

「イベント(対象スコープを直接指定)」の「+」をクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 「直接指定」を選択します
  2. 作成したスコープを選択します
  3. 作成ボタンをクリックします

イベントの編集画面が表示されるため、以下の通り入力します1

  1. 任意の深刻度名を入力します
  2. 「1」と入力します
  3. プルダウンより「増やす」を選択します

最後に、ルール作成画面を一番下までスクロールし保存ボタンをクリックします。

アクションの作成

アクションを作成します。

画面横のメニューから「アクション」をクリックし、画面右上の「WEBHOOK」ボタンをクリックします。

ダイアログが表示されるため、以下の通り入力します。

  1. 任意の表示名を入力します
  2. Slack へ通知するための Webhook URL を入力します
  3. リクエスト本文に記載したい内容を入力します
  4. 保存ボタンをクリックします

Slack 通知に必要な Webhook URL の取得については、Slack のドキュメント を参照してください。

リクエスト本文は JSON 形式で入力します。

通知内容の設定については、Kompira AlertHub 基本マニュアル > 設定の流れ > アクションの作成 > 通知内容の設定 を参照してください。

トリガーの作成

トリガーを作成します。

画面横のメニューから「スコープ」をクリックし、スコープの作成 で作成したスコープをクリックします。

スコープの詳細画面に遷移するため、「トリガー」タブをクリックし、画面右端の「+」をクリックします。

ダイアログが表示されるため、任意の表示名を入力します。

実行条件の設定

「実行条件」の「+」をクリックします。

ダイアログが表示されるため、「指定条件を満たす直近のイベント件数を指定値と比較する」を選択し、作成ボタンをクリックします。

実行条件の編集画面が表示されるため、以下の通り入力します2

  1. 1800 と入力します
  2. プルダウンより「深刻度の変化量」を選択します
  3. 1 と入力します
  4. プルダウンより「と等しい」を選択します
  5. 10 と入力します
  6. プルダウンより「以上の」を選択します

もう一度「実行条件」の「+」をクリックします。

「直近のアクション実行件数を指定値と比較する」を選択し、作成ボタンをクリックします。

実行条件の編集画面が表示されるため、以下の通り入力します3

  1. 1800 秒と入力します
  2. 0 と入力します
  3. プルダウンより「と等しい」を選択します

最後に、「実行」にて アクションの作成 で作成したアクションを選択し、保存ボタンをクリックします。

以上で、AlertHub 上の設定は終了です。

動作確認

動作確認を行います。

実際に 10 件アラートを送信してみると、スコープのステータスが「警戒」となり実行履歴にアクションを行った履歴が表示されます。

以下のように、Slack 上でも設定した通りの通知を受信することが確認できれば、動作確認は終了です。

1

アラートを 1 件受信すると深刻度が 1 上がる設定です。

2

今回は、30 分以内に 10 件以上のアラートが発生した場合に通知する必要があります。
そのため、「『1800 秒』の間に『深刻度が 1 ずつ変化する』イベントが『10 回以上』発生した」と設定しています。

3

10 件を超えて連続してアラートが発生した場合もアクションの実行が 1 回となるように、1800 秒間にアクションが発生していない場合にのみアクションを発生させるよう設定しています。