QUIZ 30分

ストーリー

高橋アーキテクト
ログ設計の知識をしっかり固めよう。ここを曖昧にすると、メトリクスやトレースの学習にも影響するぞ

高橋アーキテクトがクイズを用意してくれた。

高橋アーキテクト
全8問、80%(7問正解)で合格だ

クイズの説明

Step 2 で学んだ内容の理解度をチェックします。

  • 全8問
  • 合格ライン: 80%(7問正解)
  • 不合格の場合は復習してから再挑戦してください

問題

Q1. 構造化ログの最大の利点として最も適切なものはどれですか?

  • A) ファイルサイズが小さくなる
  • B) 人間が読みやすい
  • C) 機械的な検索・分析・アラート設定が容易になる
  • D) ログの出力速度が向上する
解答と解説

正解: C

構造化ログ(JSON形式等)の最大の利点は、フィールドが明確に定義されているため、機械的な検索、集計、フィルタリング、アラート設定が容易になることです。人間の可読性はむしろ低下しますが、ログ管理ツールでの活用効率が大幅に向上します。


Q2. 構造化ログに必ず含めるべきフィールドの組み合わせとして最も適切なものはどれですか?

  • A) timestamp, message, username, password
  • B) timestamp, level, message, service, traceId
  • C) timestamp, message, CPU使用率, メモリ使用量
  • D) timestamp, level, SQL文, 実行結果
解答と解説

正解: B

構造化ログの必須フィールドは、timestamp(いつ)、level(重要度)、message(何が起きたか)、service(どのサービスか)、traceId(リクエスト追跡用)です。password等の機密情報は含めてはならず、CPU使用率はメトリクスの領域です。


Q3. 本番環境でのデフォルトログレベルとして最も適切なものはどれですか?

  • A) TRACE
  • B) DEBUG
  • C) INFO
  • D) ERROR
解答と解説

正解: C

本番環境のデフォルトログレベルはINFOが推奨されます。TRACE/DEBUGは情報量が多すぎてコストとパフォーマンスに影響し、ERRORだけでは正常動作の記録が残らず障害調査に支障をきたします。INFOで正常な業務イベントを記録しつつ、必要時にDEBUGに一時変更できる仕組みが理想です。


Q4. ログの保持ポリシーにおいて、ERROR/FATALレベルのログの推奨保持期間はどれですか?

  • A) 3日
  • B) 14日
  • C) 30日
  • D) 90日
解答と解説

正解: D

ERROR/FATALレベルのログは障害調査や監査のために長期間保持する必要があり、90日が推奨されます。INFOは14日、WARNは30日、DEBUGは3日が一般的な目安です。ホットストレージに保存して即時検索可能な状態にしておくことも重要です。


Q5. ELK Stackにおいて、ログのインデックス作成と全文検索を担当するコンポーネントはどれですか?

  • A) Logstash
  • B) Elasticsearch
  • C) Kibana
  • D) Filebeat
解答と解説

正解: B

Elasticsearchがログの保存、インデックス作成、全文検索を担当します。Logstashはログの収集・変換・送信、Kibanaはログの可視化と検索UI、FilebeatはログファイルをLogstashやElasticsearchに転送するシッパーです。


Q6. ログのサンプリングを行う場合、サンプリングすべきでないログレベルはどれですか?

  • A) DEBUG
  • B) INFO
  • C) WARN
  • D) ERROR
解答と解説

正解: D

ERRORレベルのログは障害調査に不可欠であり、100%記録すべきです。INFOレベルの正常系ログ(特にヘルスチェックや高頻度アクセス)はサンプリングの候補になります。WARNも基本的には全件記録が推奨されますが、ERRORの全件記録は絶対条件です。


Q7. 障害調査でtraceIdを使ったリクエスト追跡を行う最大の利点は何ですか?

  • A) ログファイルのサイズを削減できる
  • B) 1つのリクエストに関する全サービスのログを横断的に取得できる
  • C) ログの出力速度が向上する
  • D) ログレベルを自動的に判定できる
解答と解説

正解: B

traceIdはリクエスト全体に付与される一意の識別子で、API Gateway → Order Service → Payment Serviceなど、複数サービスを横断するログを1つのリクエストとして紐づけて取得できます。これにより、分散システムでのリクエスト追跡と障害箇所の特定が格段に容易になります。


Q8. Grafana LokiとElasticsearchの比較として正しいものはどれですか?

  • A) LokiはElasticsearchよりフルテキスト検索が高速である
  • B) Lokiはログの中身をインデックスしないため、ストレージコストが低い
  • C) ElasticsearchはLokiよりストレージコストが低い
  • D) LokiはElasticsearchの完全な上位互換である
解答と解説

正解: B

Grafana Lokiはラベル(service, level等)のみをインデックスし、ログ本文はインデックスしません。そのためストレージコストが大幅に低くなります。一方、フルテキスト検索の速度はElasticsearchに劣ります。用途に応じた使い分けが重要です。


結果

7問以上正解の場合

合格です。おめでとうございます。

Step 2「構造化ログの設計」を完了しました。 次は Step 3「メトリクスとアラート設計」に進みましょう。

6問以下の場合

もう少し復習しましょう。

間違えた問題の内容を、該当するセクションで復習してください:

問題復習セクション
Q1step2_1 構造化ログの基本
Q2step2_1 構造化ログの基本
Q3step2_2 ログレベルとフィルタリング
Q4step2_2 ログレベルとフィルタリング
Q5step2_3 集約と検索
Q6step2_2 ログレベルとフィルタリング
Q7step2_4 ログによるデバッグとトラブルシューティング
Q8step2_3 集約と検索

Step 2 完了

お疲れさまでした。

学んだこと

  • 構造化ログの基本とJSON形式でのスキーマ設計
  • ログレベルの適切な使い分けとフィルタリング戦略
  • ELK Stack、CloudWatch Logs、Grafana Lokiによるログ集約
  • ログを活用した障害調査の体系的なアプローチ

次のステップ

Step 3: メトリクスとアラート設計(3時間)

ログの次は、オブザーバビリティの第2の柱「メトリクス」を深掘りします。


推定所要時間: 30分