Google Distributed Cloud コネクテッド ワークロードの健全性、稼働時間、アップグレードをモニタリングする方法について説明します。モニタリングの構成と使用可能な指標の詳細については、ログと指標をご覧ください。
ワークロードの健全性と稼働時間をモニタリングする
Distributed Cloud Connected で実行されているワークロード(コンテナと仮想マシン)の健全性と稼働時間のモニタリングは、お客様の責任で行っていただく必要があります。
コンテナ ワークロード
デプロイするコンテナ化されたワークロードの健全性と稼働時間をモニタリングするには、Prometheus 指標ソリューションを使用することをおすすめします。Pod と Service から指標をスクレイピングするように Prometheus を構成できます。Google 管理のシステム サービスは、Google によって自動的にモニタリングおよび管理されます。Prometheus の構成の詳細については、Prometheus で指標を収集するをご覧ください。
次の主要な指標を使用して、コンテナ ワークロードをモニタリングします。Prometheus を使用する場合は、ワークロードのこれらの特定の指標を公開するために、Kube 状態指標のデプロイと管理を行う必要があります。
kube_pod_status_phase:FailedフェーズまたはUnknownフェーズの Pod をモニタリングします。kube_pod_container_status_waiting_reason:CrashLoopBackOffまたはImagePullBackOffのままになっている Pod を特定します。container_cpu_usage_seconds_totalとcontainer_memory_working_set_bytes(cAdvisor から): リソース消費量をモニタリングして、メモリ不足(OOM)の問題を防ぎます。
仮想マシンのワークロード
Distributed Cloud コネクテッドでは、仮想マシン(VM)は標準の Kubernetes Pod 内で実行されます。通常、Pod には virt-launcher- という接頭辞が付いています。VM の健全性とステータスをモニタリングするには、主に VirtualMachine カスタム リソースのステータスを確認するか、VM 内からアプリケーション指標をモニタリングします。
次の詳細については、基盤となる virt-launcher Pod 指標をセカンダリ指標として使用します。
- リソース使用量: ランチャー Pod の CPU とメモリの使用量をモニタリングして、VM に十分なリソースがあることを確認します。
- Pod フェーズ: ランチャー Pod のフェーズを追跡して、起動に失敗した VM やクラッシュした VM を特定します。
VM に割り当てられたリソースを調整するには、VM カスタム リソース仕様を変更します。基盤となる virt-launcher Pod YAML はプラットフォームで管理されているため、直接変更しないでください。直接変更を行うと、上書きされるか、調整エラーが発生します。
Pending 状態のままになる VM のトラブルシューティングについては、Pending 状態のままになる仮想マシンのトラブルシューティングをご覧ください。
Distributed Cloud コネクテッドのアップグレードをモニタリングする
Cloud Monitoring の指標と gcloud コマンドを使用して、Distributed Cloud 接続ソフトウェアのアップグレードの進行状況とステータスをモニタリングします。アップグレードは Google によってスケジュール設定され、実行されます。モニタリングは、ワークロードの移行の可視化と計画にのみ使用されます。
アップグレードが進行中かどうかを確認する方法、ステータスをモニタリングする方法、失敗したアップグレードのトラブルシューティング方法について詳しくは、ソフトウェアのアップグレードのトラブルシューティングをご覧ください。
マルチクラスタ モニタリング
多くの Distributed Cloud 接続クラスタを管理する場合は、Cloud Monitoring を使用して指標を集計してフィルタすることをおすすめします。
リソースラベルを使用する: Cloud Monitoring にエクスポートされる指標には、ソースを識別するラベルが含まれます。使用できるラベルは、リソースの種類によって異なります。
k8s_containerなどのクラスタとコンテナの指標の場合、キーラベルには次の値が含まれます。project_id: クラスタをホストする Google Cloud プロジェクト。location: クラスタが登録されている Google Cloud リージョン。cluster_name: クラスタの名前。
edgecontainer.googleapis.com/machineなどのハードウェア指標の場合、キーラベルには次の値が含まれます。resource_container: ハードウェアに関連付けられた Google Cloud プロジェクト。location: Distributed Cloud 接続ゾーンが登録されている Google Cloud リージョン。machine_id: マシンの ID。
ハードウェア指標に
cluster_nameラベルは直接含まれません。
カスタム ダッシュボードを作成する: フリート全体の主要な健全性指標を表示するダッシュボードを作成します。主な健全性指標には、接続、VM ステータス、リソース使用率などがあります。複数のクラスタのデータを 1 つのグラフに表示するには、ワイルドカードまたはグループ化オペレーションを使用します。
マルチクラスタ アラートを設定する: 複数のクラスタに適用されるアラート ポリシーを構成します。たとえば、任意のクラスタ内の任意のマシンの接続が切断された場合にトリガーされるアラートを作成できます。
アラート戦略
Distributed Cloud コネクテッドのモニタリングとメンテナンスは、お客様と Google の共同責任です。このセクションでは、Google がアラートを送信する条件と、独自のアラート ポリシーを構成する方法について説明します。
Google がアラートを送信する内容
Google は基盤となるインフラストラクチャを継続的にモニタリングしています。次のような状況では、必要な措置を講じ、必要に応じて通知します。
- ハードウェア障害: 電源障害、ファン障害、過熱、ディスク障害(ディスクがスペアしきい値に達した、または使用可能な寿命が終了したなど)。
- 接続に関する問題: Distributed Cloud 接続ゾーンと Google Cloud間の接続が完全に失われます。
- コントロール プレーンの健全性: Kubernetes コントロール プレーンまたは Google マネージド システム サービスの障害。
- アップグレードの失敗: 停止または失敗した自動アップグレード プロセス。
アラートの設定
ワークロードまたはローカル環境に影響する問題について、Cloud Monitoring または Prometheus で独自のアラート ポリシーを構成します。
Cloud Monitoring でアラートを構成するには、 Google Cloud コンソールまたは Cloud Monitoring API を使用します。詳細な手順については、アラート ポリシーを作成するをご覧ください。ログと指標に記載されている指標に基づいてアラート ポリシーを作成できます。
Prometheus を使用して指標を収集する場合は、Prometheus 構成で標準の Prometheus アラートルールを定義します。
次の問題に関するアラートを設定できます。
| 問題 | 説明 | モニタリング システム | 詳細 |
|---|---|---|---|
| ワークロードのダウンタイム | Pod または VM が起動に失敗する、またはクラッシュ ループが発生する | Prometheus | コンテナ ワークロードの場合は、kube_pod_status_phase でアラートを作成して、Failed フェーズまたは Unknown フェーズの Pod を検出します。kube_pod_container_status_waiting_reason が CrashLoopBackOff または ImagePullBackOff と等しい場合にアラートを生成することもできます。 |
| Cloud Monitoring | Pod で実行されている VM ワークロードの場合は、Cloud Monitoring の標準の Kubernetes コンテナ指標を使用してアラートを設定し、virt-launcher Pod のステータスを追跡します。 |
||
| ワークロード リソースの枯渇 | ディスク使用量が容量に近づいている、またはワークロードのメモリや CPU 使用率が高い | Prometheus | コンテナ ワークロードの場合は、container_cpu_usage_seconds_total と container_memory_working_set_bytes(cAdvisor から)にしきい値アラートを設定して、リソース上限に近づいている Pod を特定します。 |
| Cloud Monitoring | マシン ストレージの場合は、マシン ディスク使用率の指標 edgecontainer.googleapis.com/machine/disk/utilization をモニタリングして、ノード ストレージが容量に近づいていることを検出します。 |
||
| ローカル ネットワークに関する問題 | マシンでのネットワーク インターフェースのドロップ | Cloud Monitoring | マシン ネットワーク アップ指標 edgecontainer.googleapis.com/machine/network/up が false かどうかをモニタリングします。 |
| インターネット接続の切断 | Cloud Monitoring | ネットワーク接続指標 edgecontainer.googleapis.com/machine/network/connectivity が false かどうかをモニタリングします。 |
|
| マシンの再起動 | マシンの予期しない再起動またはシャットダウン | Cloud Monitoring | edgecontainer.googleapis.com/machine/uptime 指標と edgecontainer.googleapis.com/machine/restart_count 指標を使用してアラートを構成します。詳細については、マシンの再起動のトラブルシューティングをご覧ください。 |
Distributed Cloud コネクテッド ハードウェアは Google によって管理されます。マシンへの SSH アクセス権がなく、ホスト オペレーティング システムを制御できない。ネットワーク接続や再起動など、マシンレベルの指標に基づくアラートが発生した場合、アクション アイテムは、物理的な電源、ケーブル接続、ローカル ネットワークとファイアウォールの構成の確認、または Google サポートへの問題のエスカレーションに限定されます。