メインコンテンツまでスキップ

External Alert

External Alertは、exemONEサーバーに保存されない外部データ(Prometheus、Elasticsearch)を対象にアラームルールを登録・管理する画面です。ルールタイプ(Rule Type)によってQuery段階のエディタ・必須操作・プレビューの更新方式が異なるため、タイプ別の手順を分けて理解しておくとよいでしょう。

左側GNB下部の Profile アイコンをクリックした後、環境設定 を選択し、左側メニューで Alert > External Alert を選択してください。

External Alert 全体画面

画面は左側の Alert Group、右側の Rule List の2つの領域で構成されています。Rule Listでは、各ルールの Type(Prometheus/Elasticsearch)、Rule Name、Last Alert、Last Triggered、Activation/Notification/Isolated Sending トグル、Custom Notification アイコンを確認できます。

Alert Groupでルールを格納するグループを管理する​

左側の Alert Group パネルで、ルールを格納するグループを作成・編集します。グループカードにはグループ名の下に 有効ルール数 / 全体ルール数 と通知チャンネルアイコン(メール・Telegram・Slackなど)が併せて表示されるため、グループごとの通知状態を一目で把握できます。

  • [Add Group]: 新しいグループを追加します。
  • グループカード上の 鉛筆 アイコン: グループ名・説明・通知チャンネルを修正します。
  • グループカード上の ゴミ箱 アイコン: グループを削除します。
  • 上部の Search 入力欄: グループ名で絞り込みます。

特定のグループカード(例: Default、dongri)をクリックすると、右側のRule Listが該当グループに属するルールのみを表示するように更新されます。

Rule Listで外部アラームルールを登録する​

右上の [Add Rule] ボタンをクリックすると、ルール名と Rule Type(PrometheusまたはElasticsearch)を選択する画面が開きます。以降、Resource → Query → Threshold → Alert Check の順に4段階を入力してルールを構成します。

Rule Typeとして何を選択するかによって、特に Query段階 のエディタ・操作要件が異なるため、以下でタイプ別に分けて説明します。

Prometheusルールを登録する​

Prometheusタイプのルールは、登録済みのPrometheusサーバーを対象にPromQLクエリを実行して得られた時系列値にしきい値を適用します。サンプル環境では、Default グループの 240 prometheus ルールがこの流れで登録されています。

1. Resource - 対象サーバーの選択​

Target Server ドロップダウンで照会するPrometheusリソースを選択します。対象サーバーがない場合は、環境設定 > External Resource メニューで先に登録する必要があります。

2. Query - PromQLクエリの作成​

Query Builder、または直接クエリを入力してPromQLを作成します。Label Format、Series Name オプションで照会結果の表示形式を調整でき、右側の Table/Chart トグルで結果プレビューの方式を切り替えます。

Prometheusルール登録 - Run Query実行前、Saveボタン非活性

重要

Prometheusルールは、Rule Name・Target Server・PromQL・Critical値などの必須項目がすべて入力されていても、必ず [Run Query] ボタンをクリックしなければ下部の [Save] ボタンが有効化されません。上の画面のように必須項目をすべて入力した状態でも、[Run Query] を押す前は [Save] が無効のままです。

[Run Query] をクリックしてクエリ結果プレビュー(TableまたはChart)で実際にデータが返ってくることを確認すると、そこで初めて [Save] ボタンが有効化されます。

Prometheusルール登録 - Run Query実行後、Saveボタン活性化

Query Builder ボタンをクリックすると、Select metric → Select labels → Select label value → Query Result の4段階で構成された視覚的なビルダーが開きます。このビルダーには別途の実行ボタンはなく、左側で メトリックやラベルを選択するたびに右側のQuery Resultが即座に更新されます。

Prometheus Query Builder - セレクトボックス選択時に即座に更新

3. Threshold - しきい値の設定​

クエリ結果にしきい値を適用して Warning/Critical 条件を設定します。

  • Threshold: 集計方式(例: Last)と集計範囲(例: 直近1時間)、比較演算子、Warning/Critical値を設定します。
  • Missing Value: クエリ結果に数値でない値(例: null、undefined、acc のような文字列)が混在している場合の処理方式を選択します。2つのオプションのいずれかを選択します。
オプション動作画面表示
Drop数値でない値をしきい値計算から 除外します。下部のテーブル・チャートに別途の表記変化はありません。
Replace数値でない値を Replace With 入力ボックスに定義した数値に 置換します。Replace With 入力ボックスが新たに表示され、下部のテーブル・チャートの該当ポイントに置換されたvalue値が追加で表記されます。

Drop Non-numeric Values を選択したデフォルト状態です。

Missing Value - Drop Non-numeric Values

Replace Non-numeric Values を選択すると、右側に Replace With 入力ボックスが追加で表示されます。

Missing Value - Replace Non-numeric Values、Replace With入力ボックス表示

4. Alert Check - アラームチェック条件の設定​

Check Interval、Check Repeat、Maximum Occurrences、Alert Control Time、Alert Check Schedule、Check Time を設定します。User Alert Metricタイプと同じ方式で動作します。

Prometheusルール登録 - Threshold/Alert Check

すべての段階を設定した後、[Save] をクリックするとルールが登録されます。

Elasticsearchルールを登録する​

Elasticsearchタイプのルールは、登録済みのElasticsearchサーバーを対象にインデックス検索・集計クエリを実行して得られた値にしきい値を適用します。サンプル環境では、dongri グループの ES ルールがこの流れで登録されています。

1. Resource - 対象サーバーの選択​

Target Server ドロップダウンで照会するElasticsearchリソースを選択します。対象サーバーがない場合は、環境設定 > External Resource メニューで先に登録する必要があります。

2. Query - 照会条件の作成​

Query Builder、または Enter Directly(直接入力)モードを選択し、Metric、Group by (Bucket) などの項目を組み合わせて照会条件を作成します。Bucket Field で時間軸(例: timestamp)を指定し、Aggregation で集計方式(例: Date Histogram、Count)を選択し、interval・Min Doc Count・Offset でバケット条件を細かく調整します。

Elasticsearchルール登録 - Resource/Query

Prometheusと異なり、Elasticsearchルールのquery段階には [Run Query] ボタン自体がありません。 代わりに、Group by (Bucket)・Metric の Aggregation、Bucket Field、interval などのセレクトボックスのオプションを変更するたびに、下部のテーブル・チャートが別途の実行なしですぐに再呼び出しされて更新されます。条件を組み合わせながら望む結果が出るか繰り返し確認するのに適しています。

3. Threshold - しきい値の設定​

Prometheusルールと同じ形式でしきい値を設定します。

Elasticsearchルール登録 - Threshold/Alert Check

  • Threshold: 集計方式(例: Last)と集計範囲(例: 直近1時間)、比較演算子、Warning/Critical値を設定します。
  • Missing Value: Prometheusと同様に Drop / Replace の2つのオプションを提供します。Drop は数値でない値をしきい値計算から除外し、画面表示には変化がなく、Replace は Replace With 入力ボックスに定義した数値に置換し、下部のテーブル・チャートの該当ポイントに置換されたvalue値を併せて表記します。

4. Alert Check - アラームチェック条件の設定​

Prometheusルールと同様に Check Interval、Check Repeat、Maximum Occurrences、Alert Control Time、Alert Check Schedule、Check Time を設定します。

すべての段階を設定した後、[Save] をクリックするとルールが登録されます。

Rule List項目のトグル・アイコンを活用する​

Rule Listの各行にあるトグルとアイコンでルールを個別に制御します。

  • Activation トグル: ルールの実行有無をオン・オフします。Inactive状態では、しきい値の判定が行われません。
  • Notification トグル: しきい値発生時にグループに指定された通知チャンネルへ通知を送るかどうかを制御します。
  • Isolated Sending トグル: 他のルールとまとめずに個別に通知を送信するかどうかを制御します。
  • Custom Notification アイコン(歯車): ルールごとのカスタム通知ルール(受信者・チャンネル・メッセージテンプレートなど)を編集します。
  • 行右端の 複製 アイコン: ルール設定をそのままコピーした新しいルールを作成します。類似した条件のルールを複数作成する際に便利です。

一覧上部の Enter filter. 入力欄にテキストを入力すると、列の値を基準に一覧をすばやく絞り込めます。

参考

Notification(グループ/Custom)の設定方法はUser Alert・System Alertと同一であり、詳細についてはAlert Notification Setting ドキュメントを参照してください。