ClickStack を使った検索
ClickStack におけるアラート
ClickStack にはアラート機能が組み込まれており、ログ・メトリクス・トレースを横断してリアルタイムに問題を検出し、対応できるようになります。
アラートは HyperDX のインターフェースから直接作成でき、Slack や PagerDuty などの一般的な通知サービスと連携します。
アラート機能は ClickStack のあらゆるデータとシームレスに連携し、システムの健全性の把握、パフォーマンス劣化の検知、重要なビジネスイベントの監視を支援します。
アラートの種類
ClickStack では、アラートを作成するための 2 つの補完的な方法として、検索アラート と ダッシュボードチャートアラート をサポートしています。アラートを作成すると、そのアラートは対応する検索またはチャートに関連付けられます。
1. 検索アラート
検索アラートを使用すると、保存済み検索の結果に基づいて通知をトリガーできます。これにより、特定のイベントやパターンが予想以上(または予想以下)の頻度で発生していることを検出できます。
定義された時間ウィンドウ内で一致する結果の件数が、指定したしきい値を超えるか下回ったときにアラートがトリガーされます。
検索アラートを作成するには:
アラートを作成する
アラート作成パネルから、次の操作を行えます:
- アラートに関連付ける保存済み検索に名前を付けます。
- しきい値を設定し、指定した期間内に何回しきい値に達したらアラートを発生させるかを指定します。しきい値は上限または下限としても使用できます。ここで設定する期間は、アラートがどの程度の頻度でトリガーされるかも決定します。
grouped byの値を指定します。これにより、例えばServiceNameのようなキーで検索結果を集約し、同じ検索から複数のアラートをトリガーできるようになります。- 通知の送信先となる Webhook を選択します。このビューから新しい Webhook を直接追加することもできます。詳細は Webhook の追加 を参照してください。
保存する前に、ClickStack はしきい値条件を可視化し、期待どおりに動作するかを確認できるようにします。

1 つの検索に対して複数のアラートを追加できる点に注意してください。上記の手順を繰り返すと、現在のアラートがアラート編集ダイアログ上部のタブとして表示され、それぞれのアラートには番号が割り当てられます。

2. ダッシュボード チャートアラート
ダッシュボードアラートを使用すると、アラート機能をチャートに拡張できます。
保存済みダッシュボードから、チャートベースのアラートを直接作成できます。高度な計算には、フルな SQL 集計機能および ClickHouse 関数を利用できます。
メトリクスが定義したしきい値を超える(もしくは下回る)と、自動的にアラートがトリガーされ、KPI、レイテンシー、その他の主要なメトリクスを継続的に監視できます。
ダッシュボード上の可視化に対してアラートを作成するには、そのダッシュボードが保存されている必要があります。
ダッシュボードアラートを追加するには:
アラート条件を定義する
条件(>=、<)、しきい値、期間、webhook を定義します。ここで設定した期間は、アラートがどの頻度でトリガーされるかも決定します。

この画面から新しい webhook を直接追加できます。詳細は Adding a webhook を参照してください。
Webhook の追加
アラート作成時には、既存の webhook を使用することも、新しく作成することもできます。いったん作成された webhook は、他のアラートでも再利用できます。
webhook は、Slack や PagerDuty を含むさまざまなサービス種別や、汎用的な送信先向けに作成できます。
例えば、以下のチャートに対するアラートを作成する場合を考えます。webhook を指定する前に、ユーザーは Add New Webhook を選択できます。

これにより webhook 作成ダイアログが開き、ここで新しい webhook を作成できます。

webhook 名は必須であり、説明は任意です。その他に必須となる設定項目は、サービス種別によって異なります。
ClickStack Open Source と ClickStack Cloud では、利用可能なサービス種別が異なる点に注意してください。詳しくは Service type integrations を参照してください。
サービス種別ごとの連携
ClickStack のアラートは、標準で次のサービス種別と連携できます:
- Slack: Webhook または API を使用して、チャンネルに直接通知を送信します。
- PagerDuty: PagerDuty API を介して、オンコールチーム向けにインシデントをルーティングします。
- Webhook: 汎用的な Webhook を介して、任意のカスタムシステムやワークフローにアラートを連携します。
Slack API と PagerDuty の連携は ClickHouse Cloud でのみサポートされています。
サービス種別に応じて、ユーザーが指定する必要のある情報は異なります。具体的には次のとおりです。
Slack (Webhook URL)
- Webhook URL。たとえば、
https://hooks.slack.com/services/<unique_path>。詳細は Slack のドキュメント を参照してください。
Slack (API)
- Slack ボットトークン。詳細は Slack のドキュメント を参照してください。
PagerDuty API
- PagerDuty インテグレーションキー。詳細は PagerDuty のドキュメント を参照してください。
汎用
- Webhook URL
- Webhook ヘッダー (任意)
- Webhook ボディ (任意)。現在、ボディではテンプレート変数
{{title}}、{{body}}、{{link}}が利用できます。
アラートの管理
アラートは、HyperDX の左側にあるアラートパネルから一元的に管理できます。

このビューでは、ClickStack 内で作成され、現在有効になっているすべてのアラートを確認できます。

このビューには、アラートの評価履歴も表示されます。アラートは、アラート作成時に設定した期間/継続時間に基づく一定間隔で評価されます。各評価時に、HyperDX がデータをクエリしてアラート条件が満たされているかを確認します。
- 赤いバー: この評価の間にしきい値条件が満たされ、アラートが発火した(通知が送信された)ことを示します
- 緑のバー: アラートは評価されたが、しきい値条件は満たされなかった(通知は送信されなかった)ことを示します
各評価は独立しており、アラートはその時間ウィンドウのデータをチェックし、その時点で条件が真の場合にのみ発火します。
上記の例では、最初のアラートはすべての評価で発火しており、継続的な問題が発生していることを示しています。2つ目のアラートは解消済みの問題を示しており、当初は 2 回発火したものの(赤いバー)、その後の評価ではしきい値条件が満たされなくなっています(緑のバー)。
アラートをクリックすると、そのアラートが紐づいているチャートまたは検索画面に移動します。
アラートの削除
アラートを削除するには、該当する検索またはチャートの編集ダイアログを開き、Remove Alert を選択します。
次の例では、Remove Alert ボタンをクリックすると、このチャートからアラートが削除されます。

一般的なアラートシナリオ
HyperDX で利用できる一般的なアラートシナリオをいくつか紹介します。
エラー: 標準の All Error Events および HTTP Status >= 400 の保存済み検索に対してアラートを設定し、エラーが過剰に発生した場合に通知されるようにすることを推奨します。
低速な処理: 低速な処理(例: duration:>5000)を検出する検索を設定し、低速な処理が多く発生した場合にアラートが出るように構成できます。
ユーザーイベント: カスタマーサポートなどの顧客対応チーム向けに、新規ユーザーのサインアップや重要なユーザーアクションが実行されたときに通知されるアラートを設定することもできます。


