アラートは、エアギャップ環境の正常性とパフォーマンスに関する最新情報を把握するのに役立ちます。特定の条件が満たされたときにタイムリーな通知が送信されるため、次のことができます。
- 問題を未然に防ぐ: ユーザーやビジネス オペレーションに影響が及ぶ前に問題を検出し、対応します。
- ダウンタイムを短縮する: 迅速に是正措置を講じることで、サービスの中断を最小限に抑えます。
- サービスレベルを維持する: アプリケーションがパフォーマンスと可用性の目標を満たしていることを確認します。
- 運用に関する分析情報を取得する: 環境内の傾向とパターンを特定して、リソース使用率とパフォーマンスを最適化します。
このページでは、Google Distributed Cloud(GDC)のエアギャップ環境でアラートを作成して管理する概要について説明します。モニタリング データを使用して、アプリケーションとインフラストラクチャ内の重大なイベントを事前に特定して対応する方法について説明します。
アラート ポリシーのタイプ
指標ベースのアラート ポリシーは、モニタリング データを追跡し、リソースが事前に設定された条件を満たしたときに特定の人に通知します。たとえば、仮想マシンの CPU 使用率をモニタリングするアラート ポリシーは、イベントによってポリシーが有効になると通知を送信することがあります。または、稼働時間チェックをモニタリングするポリシーにより、オンコール チームと開発チームに通知されることがあります。
一方、一定期間内のログの繰り返しイベントをモニタリングする場合は、ログベースの指標を使用してアラート ポリシーを作成します。ログベースの指標は、ロギング データから数値データを生成します。ログベースの指標は、次のいずれかを行う場合に適しています。
- ログ内で警告やエラーなどのメッセージの発生回数をカウントします。イベント数がしきい値を超えた場合に通知を受け取ります。
- ログのレイテンシ値といったデータの傾向を監視する。値が許容できない値に変化した場合に通知を受け取る。
- ログから抽出した数値データをグラフにして表示する。
GDC では、アラートによって重大なエラーのページとチケットが生成されることがあります。ページはオペレーターによる早急な対応が必要ですが、チケットは緊急性が低いものです。
主要コンポーネント
GDC アラート サービスは、次のコンポーネントを使用します。
- Prometheus: 指標の収集と保存に広く使用されているオープンソースのモニタリング システム。アラートルールを定義するための強力なクエリ言語(PromQL)が用意されています。
- モニタリング プラットフォーム: Prometheus などのさまざまなソースから指標を収集するマネージド モニタリング サービス。Grafana ダッシュボード、カスタム指標、アラートなどの高度な機能を提供します。
- Alertmanager: アラートの受信、処理、ルーティングを行うコンポーネント。アラートのグループ化、ミュート、抑制をサポートし、ノイズを減らして効率を向上させます。
アラートのワークフロー
GDC は、さまざまなモニタリング ツールやサービスと統合するアラート フレームワークを提供します。一般的なワークフローには、次の段階があります。
- データ収集: Prometheus や Fluent Bit などのツールを使用して、アプリケーション、インフラストラクチャ、Kubernetes から指標とログを収集します。
- モニタリング: 収集したデータを Grafana ダッシュボードに保存して可視化します。
- アラートルール: CPU 使用率がしきい値を超えた場合や、アプリケーション エラーが一定の割合を超えた場合など、特定の条件に基づいてアラートルールを定義します。
- Alertmanager: Alertmanager は、定義されたルールによってトリガーされたアラートを受信し、通知のルーティングとサイレンシングを処理します。
- 通知: メール、メッセージ、Webhook などのさまざまなチャネルでアラートを受信します。
ベスト プラクティス
アラートを設定する際は、次のベスト プラクティスを検討してください。
- 明確で実用的なアラートを定義する: アラートで問題に関する具体的な情報が提供され、適切な対応策が提案されるようにします。
- 適切な重大度レベルを設定する: アラートの影響と緊急度に基づいてアラートを分類し、対応の優先順位を付けます。
- アラートの疲労を回避する: アラートルールを微調整して、誤検出と不要な通知を最小限に抑えます。
- アラートを定期的にテストする: アラートが正しくトリガーされ、通知が想定どおりに配信されることを確認します。
- アラート戦略を文書化する: アラート ルール、通知チャネル、エスカレーション手順を文書化します。