複数の Alibaba Cloud プロダクトやサードパーティツールにまたがってサービスを監視する場合、アラートが各システムに分散してしまい、問題の追跡、優先順位付け、効率的な解決が困難になります。Application Real-Time Monitoring Service (ARMS) のアラート管理は、アラートの収束、通知のルーティング、エスカレーションを単一のコントロールプレーンに集約します。アラートを重複排除・圧縮してアラートストームを削減し、通知を適切な連絡先にルーティングすることで、チームがインシデントを協調的に解決できるようにします。
仕組み
アラートソースがイベントをレポート:ARMS のサブサービス (アプリケーションモニタリング、ブラウザ監視、Managed Service for Prometheus、Synthetic Monitoring) およびサードパーティの監視ツールが、統合を通じてアラートイベントをアラート管理に送信します。
イベントの処理:アラート管理は、イベントの重複排除、圧縮、デノイズ、サイレンスを行い、アラートストームを削減します。イベント処理フローにより、特定のアラートソースに対してカスタムの処理ロジックを提供します。
適切な担当者への通知:通知ポリシーに基づき、処理されたイベントが E メール、SMS、電話、またはメッセージングプラットフォーム (DingTalk、WeCom、Lark) を通じて連絡先にルーティングされます。
チームによる共同でのアラート解決:連絡先は、ARMS コンソールまたはグループチャットでアラートの担当表明、議論、解決を行います。未解決のアラートは自動的にエスカレーションされます。
分析による解決パフォーマンスの追跡:リアルタイムの統計情報により、アラートの処理状況が可視化され、チームがボトルネックを特定し、応答時間を改善するのに役立ちます。
アーキテクチャ
アラート管理は、以下の 5 つのモジュールで構成されています:
| モジュール | 目的 |
|---|---|
| 統合管理 | ARMS サブサービスとサードパーティのアラートソースを接続 |
| アラートイベント管理 | 受信イベントの重複排除、圧縮、デノイズ、サイレンス |
| 通知ポリシー管理 | 一致条件に基づいてアラートを連絡先にルーティング |
| 協調的なアラート処理 | チームがプラットフォームを横断してアラートの担当表明、議論、解決を行うことを可能にする |
| アラート処理分析 | アラート解決メトリックとチームのパフォーマンスを追跡 |
統合管理
アラート管理は、ARMS サブサービス用のデフォルトのアラート統合と、外部アラートソース用のサードパーティサービス統合の 2 種類の統合をサポートしています。
デフォルトのアラート統合
デフォルトのアラート統合は、アラート管理と ARMS サブサービスを接続します。これらの統合は、モニタリングデータにエラーが含まれているかどうかを定期的にチェックし、一致するアラートイベントをイベント管理センターにレポートします。
各サブサービスのアラートルールを作成します:
サードパーティサービスの統合
サードパーティサービスの統合は、自己管理のデータセンターや仮想マシンからのアラートを ARMS に集約します。サードパーティソースがアラートをレポートすると、アラート管理はアラートイベントを生成します。
アラートイベントのデータ構造
ARMS のアラートイベントのデータ構造は、オープンソースの AlertManager の通知テンプレートフォーマットに似ており、以下のフィールドを含みます:
| フィールド | 説明 | 例 |
|---|---|---|
| Labels | アラートイベントを一意に識別するメタデータ。同一のラベルを持つイベントは 1 つに圧縮されます。 | "alertname": "CPU utilization is too high" |
| Annotations | イベントの ID に影響を与えない補足情報。 | "message": "alert content" |
| StartsAt | アラートの開始時刻。 | -- |
| EndsAt | アラートの終了時刻。 | -- |
| GeneratorUrl | アラートイベントソースへのリンク URL。 | -- |
ラベルとアノテーションの違い
ラベルは ID を定義します。ラベルのセットは、アラートイベントを一意に識別します。いずれかのラベルを変更すると、新しいイベントが作成されます。
例えば、以下のラベルは特定のホストの CPU アラートを識別します:
{
"hostname": "Host",
"alertname": "CPU utilization is too high",
"ip": "192.168.0.3"
}ip が 192.168.0.4 に変更された場合、アラート管理はこれを別のホストに対する個別のアラートイベントとして扱います。
アノテーションはコンテキストを伝えます。アノテーションの変更は新しいイベントを作成しません。イベントが同じラベルを共有しているが、アノテーションが異なる場合、アラート管理はそれらを同じアラートの繰り返しレポートとして扱います。
例えば、アノテーション {"value": "85", "message": "CPU utilization of host 192.168.0.3 is 85%, exceeding the 80% threshold"} が後で {"value": "86", ...} をレポートしても、新しいイベントは作成されません。アラート管理はこれを同じアラートが 2 回レポートされたものとして記録します。
統合の重複排除フィールドとしてラベルを設定することで、アラート管理がユニークなイベントをどのように識別するかを制御できます。重複排除フィールドがない場合、アラート管理はすべてのラベルを使用して一意性を判断します。
アラートイベント管理
アラートイベント管理モジュールは、受信イベントを 2 つの方法で処理します:
イベント処理フローは、特定のアラートソースからのイベントを処理するためのカスタムプロシージャを編成し、イベントのルーティングと変換を詳細に制御します。
組み込みのノイズリダクションは、イベントを自動的に重複排除、圧縮、デノイズ、サイレンスし、関連するアラートを収束させてアラートストームを削減します。
イベントの圧縮
アラート管理は、ラベルベースの圧縮と時間ベースの圧縮の 2 つの方法を使用してイベントを圧縮します。
ラベルベースの圧縮
通知を送信する際、アラート管理は通知ポリシーのイベントグループ化設定に従ってイベントをグループ化します。同じラベル値を共有するイベントは、単一のイベントに圧縮されます。
時間ベースの圧縮
同一のラベルを持つイベントについて、それらの時間範囲 (StartsAt から EndsAt) が重複する場合、アラート管理はそれらを単一のイベントにマージします。マージされたイベントは、すべての元の時間範囲の和集合にわたります。
通知ポリシー管理
通知ポリシーは、サブスクリプションルールに似た条件を定義し、アラート通知がどのように配信されるかを決定します。アラートイベントがポリシー内の条件に一致すると、ARMS はそのポリシーで指定されたチャネルと連絡先を通じて通知を送信します。
以下の図は、イベント処理フロー、イベント、通知ポリシーがどのように相互作用するかを示しています。
協調的なアラート処理
アラート管理は、ARMS コンソール、DingTalk、WeCom、Lark を横断した協調的なワークフローをサポートしています。コラボレーションポリシーにより、以下が可能になります:
グループメッセージの同期 -- アラートの更新は、チームのチャットグループに自動的に表示されます。
スケジュール管理 -- オンコールローテーションを割り当てることで、いつでも適切な担当者が対応できるようにします。
エスカレーションポリシー -- アラートが未解決のままである場合、追加の連絡先に自動的に通知します。
詳細な手順については、「指定されたグループチャットでアラートを処理する」をご参照ください。
メリット
Alibaba Cloud 上にデプロイされたサービスに対して、アラート管理は以下の領域で O&M (運用保守) 効率を向上させます:
| エリア | 機能 |
|---|---|
| グローバルなアラート設定 | アラートルールテンプレートをグローバル化して、グローバルイベントのアラートを設定します。簡単な構成で連絡先と通知ポリシーをグローバル化します。 |
| 一元的なイベント管理 | Alibaba Cloud の監視サービスやサードパーティツールからのアラートを単一の管理レイヤーに統合します。安定した低レイテンシーのイベント処理で、24 時間体制でアラートイベントを処理します。 |
| 柔軟な通知配信 | 通知ポリシーを通じてアラートイベントを圧縮し、通知量を削減します。アラートの緊急度に応じて、E メール、SMS、電話、メッセージングプラットフォームなど、1 つまたは複数の通知方法を選択します。未解決のアラートを、追加の連絡先に繰り返し通知を送信することで自動的にエスカレーションします。 |
| チームベースのアラート解決 | コンソールに切り替えることなく、DingTalk、WeCom、または Lark のグループチャットでアラートの担当表明と解決を行います。アラートフォーマットを標準化することで、すべてのチームメンバーが受信アラートを迅速に解析し、対応できるようになります。共有チャットグループを通じて、複数の連絡先とリアルタイムで協力します。 |
| リアルタイム分析 | アラート処理メトリックをリアルタイムで追跡し、応答のボトルネックを特定してチームのワークフローを最適化します。 |
電話によるアラート通知は、国際サイトでは利用できません。