QUIZ 15分

クイズの説明

Step 3「オブザーバビリティ基盤を構築する」で学んだ内容の理解度を確認します。全8問、80%(7問)以上正解で合格です。


問題

Q1. オブザーバビリティの3本柱として正しい組み合わせはどれですか?

  • A) メトリクス、ログ、アラート
  • B) メトリクス、トレース、ログ
  • C) トレース、ログ、ダッシュボード
  • D) メトリクス、トレース、インシデント
答えを見る

正解: B

オブザーバビリティの3本柱は「メトリクス(Metrics)」「トレース(Traces)」「ログ(Logs)」です。メトリクスは集約された数値データ、トレースはリクエストのサービス間の流れ、ログは個別イベントの詳細記録を提供します。アラートやダッシュボードはこれらのデータを活用するツールであり、テレメトリデータそのものではありません。


Q2. Prometheusのメトリクスタイプのうち、現在の値が増減するリアルタイムの状態(例: 同時接続数)を記録するのに最適なものはどれですか?

  • A) Counter
  • B) Gauge
  • C) Histogram
  • D) Summary
答えを見る

正解: B

Gaugeは現在の値を表すメトリクスタイプで、増減する値(温度、同時接続数、キューの長さなど)に適しています。Counterは単調増加する累積値(リクエスト総数など)、Histogramはデータの分布(レイテンシなど)、Summaryはクライアント側で計算されたパーセンタイルを提供します。


Q3. Grafanaダッシュボードにおいて、REDメソッドとUSEメソッドの使い分けとして正しいものはどれですか?

  • A) REDはインフラリソース向け、USEはサービス向け
  • B) REDはサービス向け、USEはインフラリソース向け
  • C) どちらも同じ対象に使う
  • D) REDは開発環境向け、USEは本番環境向け
答えを見る

正解: B

REDメソッド(Rate, Errors, Duration)はマイクロサービスなどのサービスの品質可視化に使います。USEメソッド(Utilization, Saturation, Errors)はCPU、メモリ、ディスクなどのインフラリソースの監視に使います。環境による使い分けではなく、監視対象の種類による使い分けです。


Q4. OpenTelemetryのContext Propagationの目的として最も適切なものはどれですか?

  • A) サービス間でエラーメッセージを伝達する
  • B) サービス間でTrace IDとSpan IDを伝搬し、分散トレーシングを実現する
  • C) サービス間で認証トークンを共有する
  • D) サービス間でログレベルを統一する
答えを見る

正解: B

Context Propagation(コンテキスト伝搬)は、Trace IDやSpan IDなどのトレースコンテキストをサービス間で伝搬する仕組みです。HTTP通信ではW3C Trace Contextヘッダーを使い、メッセージキューではメッセージヘッダーに注入します。これにより、複数のサービスにまたがるリクエストを1つのTraceとして追跡できます。


Q5. 分散トレーシングにおけるTail-basedサンプリングの利点はどれですか?

  • A) サンプリングの判断がシンプルで実装が容易
  • B) トレース開始時に判断するため遅延が少ない
  • C) エラーや遅延のあるトレースを確実に記録できる
  • D) すべてのトレースを100%記録できる
答えを見る

正解: C

Tail-basedサンプリングは、トレースが完了してからサンプリング判断を行います。そのため、エラーが発生したトレースや特定のレイテンシ閾値を超えたトレースを確実にサンプリングできます。Head-basedサンプリングはトレース開始時に判断するため実装が容易ですが、重要なトレースを見逃す可能性があります。


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

  • A) ログファイルのサイズが小さくなる
  • B) フィールド指定での検索・集約が可能になり、Trace IDとの相関もできる
  • C) ログの出力速度が向上する
  • D) 人間が直接読みやすくなる
答えを見る

正解: B

構造化ログ(JSON形式)の最大の利点は、フィールドを指定した検索と集約が可能になることです。orderIdtraceIdのような特定のフィールドで検索でき、エラーコード別の集計なども容易です。また、traceIdフィールドを含めることでトレースとの相関が実現します。ファイルサイズはむしろJSON化により増える傾向があります。


Q7. Grafana Lokiの特徴として正しいものはどれですか?

  • A) 全フィールドにインデックスを作成するため検索が高速
  • B) ラベルのみにインデックスを作成し、ストレージコストを抑える
  • C) Elasticsearchと完全に同じアーキテクチャを使用する
  • D) ログの構造化は不要で、プレーンテキストのみをサポートする
答えを見る

正解: B

Grafana Lokiは「Prometheusライクなログ集約システム」で、ラベル(サービス名、環境など)のみにインデックスを作成し、ログ本文はObject Storageに圧縮保存します。これによりElasticsearch(ELK Stack)と比べてストレージコストが大幅に低くなります。ラベル検索は高速ですが、本文の全文検索はELKの方が優れています。


Q8. メトリクスからトレース、トレースからログへのドリルダウンを可能にするGrafanaの機能として正しいものはどれですか?

  • A) Alertmanager
  • B) Exemplar(エグゼンプラー)
  • C) Recording Rules
  • D) Service Mesh
答えを見る

正解: B

Exemplarは、メトリクスのデータポイントにTrace IDを紐付ける機能です。Grafanaのメトリクスグラフ上にExemplarがプロットされ、クリックすることでTempoのトレース詳細に遷移できます。トレースからログへの相関はTrace IDを使ったLogQLクエリで実現します。これにより、メトリクス→トレース→ログの3段階ドリルダウンが可能になります。


結果

7問以上正解の場合

合格です。 オブザーバビリティの3本柱を体系的に理解しています。メトリクス・トレース・ログの統合基盤を設計・構築する知識が備わっています。

「オブザーバビリティはSREの目だ。次はアラートとオンコール — 問題を検知したとき、どう効果的に対応するか。アラート設計とオンコール体制の構築に進もう」 — 佐藤CTO

6問以下の場合

もう少し復習しましょう。 Step 3のレッスンを再度読み返してください。

  • Q1-Q3を間違えた場合 → Step 3-1「3本柱」とStep 3-2「Prometheus/Grafana」を復習
  • Q4-Q5を間違えた場合 → Step 3-3「分散トレーシング」を復習
  • Q6-Q8を間違えた場合 → Step 3-4「構造化ログ」を復習