Question#32(Professional Cloud Developer)
あなたの会社は最近、モノリスな E コマースサイトを GKE 上のマイクロサービス アプリケーションにモダン化しました。あなたのチームは、モニタリングとロギングに Google Cloud の運用スイート(Google Cloud's operations suite)を使用しています。最小限の手間で、マイクロサービス全体の Cloud Logging におけるログのインデックス作成と検索性を向上させたいと考えています。あなたは何をすべきですか?
正解:C
Cloud Logging において、ログの構造を理解し、特定のフィールド(HTTP ステータスコードやユーザー ID など)で高速にフィルタリングできるようにするための最も簡単かつ効果的な方法は、**構造化ロギング(Structured Logging)**を採用することです。
なぜ C が正解なのか?
構造化データによる検索性の向上: ログを単なる文字列(プレーンテキスト)ではなく JSON 形式で出力すると、Cloud Logging はそれを自動的に「構造化ログ」として認識します。これにより、JSON 内の各キーがインデックス化され、
jsonPayload.messageやjsonPayload.userIdのように、特定のフィールドを直接指定した高度な検索やフィルタリングが可能になります。最小限の手間: 多くの言語(Python, Go, Node.js 等)にはログを JSON で出力するための既存ライブラリ(
structlog,pinoなど)があります。これらを導入するだけで、エージェントの構築(B)や複雑なライブラリの全改修(D)をすることなく、即座に検索性が改善されます。GKE の標準機能: GKE のデフォルトのロギング構成では、コンテナの標準出力(stdout/stderr)に出力された JSON ログを自動的に収集し、構造化された状態で Cloud Logging へ転送します。

コメント