【正解】B
【0からの解説】
①前提知識:
・Google Cloud Managed Service for Prometheus は、Prometheus 互換の指標を Google が管理するストレージ(Monarch)に保存し、Cloud Monitoring や PromQL で参照できるようにするサービスです。
・マネージド コレクションでは、GKE 上で Google が管理するコレクタが動作し、どの Pod の、どのポート・パスから指標をスクレイプ(収集)するかを PodMonitoring(クラスタ全体なら ClusterPodMonitoring)というカスタム リソースで指定します。
・PodMonitoring の endpoints で指定するポート(コンテナの名前付きポートやポート番号)が、実際にアプリケーションが指標を公開しているポートと一致していないと、コレクタはスクレイプ対象を見つけられず、明確なエラーを出さないまま指標が 1 件も取り込まれない状態になります。
②要件の整理:(a) マネージド コレクションを使用、(b) 指標がまったく表示されない、(c) エラー メッセージが出ていない、という状況での最初の確認事項が問われています。
③正解の理由:エラーが出ないのにデータが一切届かない場合、典型的な原因はスクレイプ設定の誤り、特に PodMonitoring が参照するポート(名前やセレクタ)と実際の公開ポートの不一致です。公式のトラブルシューティングでも、PodMonitoring のターゲットのステータスやポート設定の確認が挙げられています。まずここを確認するのが正しい手順です。
【誤りの選択肢】
A:Cloud Monitoring API への書き込みクォータを超過した場合は、コレクタのログに 429(RESOURCE_EXHAUSTED)などのエラーが記録され、また通常は一部のデータは取り込まれます。「エラーなし・データゼロ」という状況には合いません。
C:Grafana は指標を可視化するためのツールであり、指標の収集や Cloud Monitoring への取り込みには関係ありません。Cloud Monitoring にデータが表示されない原因にはなりません。
D:monitoring.servicesViewer は Cloud Monitoring のサービス(SLO 監視用)を閲覧するためのロールで、指標の書き込みには関係しません。またマネージド コレクションでは、指標の書き込みはアプリケーション自体ではなくマネージド コレクタが行います。権限不足であれば 403 エラーが記録されるはずです。
【参考】
Google Cloud Managed Service for Prometheus Observability