ある企業がAKSクラスターにデプロイされたアプリケーションの稼働状況を把握するため、Kubernetesのノードとポッドのメトリクス(CPU・メモリ使用率)をAzure Monitorに送信したい。追加のOSSツールを導入せずに、AKSとAzure Monitorのネイティブ統合を使う方法として最も適切なものはどれか。
- A. AKSクラスターで「Container Insights」を有効化する。これによりAzure Monitor AgentがAKSノードにDaemonSetとしてデプロイされ、ノード・Pod・コンテナのメトリクスとログがLog Analytics ワークスペースに送信される
- B. 各AKSノードにSSHでログインしてcAdvisorを手動インストールし、PrometheusエンドポイントをAzure Monitor Data Collection Endpointに向ける
- C. Azure Network Watcher のパケットキャプチャを使ってノード間のトラフィックを解析し、CPU・メモリ使用率を推定する
- D. AKSクラスターに独自のPrometheus+Grafanaスタックをデプロイし、AzureのMetrics Explorerに手動でダッシュボードを作成する
解答と解説を見る
正解: A
AKSとAzure Monitorの「Container Insights」統合はAzure公式のネイティブ監視ソリューションで、AKSクラスター作成時または後から有効化できる。有効化するとAzure Monitor AgentがDaemonSet(全ノードに1ポッドずつ自動配置されるKubernetesワークロード)としてデプロイされ、Kubernetesのノード・Pod・コンテナのCPU・メモリ使用率、ディスクI/O、ネットワーク、ポッドのログなどを自動収集してLog Analyticsワークスペースに送信する。追加のOSSスタックの導入や手動設定は不要。選択肢BはcAdvisorを手動インストールするアプローチであり、AKSのノードへのSSHアクセスは推奨されず(ノードはマネージドのため)運用負荷も高い。選択肢DはOSSのPrometheus+Grafanaは高機能だが「追加のOSSツールを導入せずに」という条件に反する。選択肢CのNetwork Watcherパケットキャプチャはネットワークレイヤーのトラブルシューティングツールであり、CPU・メモリメトリクスの収集には使えない。
📚 関連サービスの解説: Azure Kubernetes Service(AKS) ・ Azure Monitor