ストーリー
高橋アーキテクトがクイズを用意してくれた。
クイズの説明
Step 1 で学んだ内容の理解度をチェックします。
- 全8問
- 合格ライン: 80%(7問正解)
- 不合格の場合は復習してから再挑戦してください
問題
Q1. オブザーバビリティの定義として最も適切なものはどれですか?
- A) システムのCPU使用率を監視すること
- B) システムの外部出力から内部状態を推測できる度合い
- C) アラートを設定して障害を検知する仕組み
- D) ログファイルを集中管理すること
解答と解説
正解: B
オブザーバビリティは制御工学に由来する概念で、「システムの外部出力(ログ、メトリクス、トレース)から、内部状態を推測できる度合い」を指します。単なる監視やログ管理ではなく、未知の問題も探索的に発見・調査できる能力です。
Q2. モニタリングとオブザーバビリティの関係として正しいものはどれですか?
- A) モニタリングとオブザーバビリティは同じものである
- B) オブザーバビリティはモニタリングの一部である
- C) モニタリングはオブザーバビリティの一部である
- D) モニタリングとオブザーバビリティは互いに独立している
解答と解説
正解: C
モニタリングは「既知の問題を閾値ベースで検知する」仕組みであり、オブザーバビリティの一部です。オブザーバビリティはモニタリングを包含するより広い概念で、未知の問題の探索的調査や相関分析まで含みます。
Q3. オブザーバビリティの3本柱に含まれないものはどれですか?
- A) ログ(Logs)
- B) メトリクス(Metrics)
- C) プロファイリング(Profiling)
- D) トレース(Traces)
解答と解説
正解: C
オブザーバビリティの3本柱は「ログ」「メトリクス」「トレース」です。プロファイリング(CPU/メモリの詳細分析)は有用なツールですが、従来の3本柱には含まれません。ただし、OpenTelemetryではプロファイリングも新たなシグナルとして追加されつつあります。
Q4. 「今月のAPIレスポンスタイムP99が200ms以下」という条件は何に該当しますか?
- A) SLI(Service Level Indicator)
- B) SLO(Service Level Objective)
- C) SLA(Service Level Agreement)
- D) エラーバジェット
解答と解説
正解: B
SLOは「SLIに対する目標値」です。この例ではSLI(レスポンスタイムP99)に対して目標値(200ms以下)を定めているため、SLOに該当します。SLIは指標そのもの(レスポンスタイムP99)、SLAはこれを外部と契約として合意したものです。
Q5. OpenTelemetryの3つの主要コンポーネントの組み合わせとして正しいものはどれですか?
- A) Logger、Monitor、Alerter
- B) API、SDK、Collector
- C) Prometheus、Grafana、Jaeger
- D) Exporter、Importer、Transformer
解答と解説
正解: B
OpenTelemetryは「API(インターフェース定義)」「SDK(実装)」「Collector(収集・変換・送信)」の3つの主要コンポーネントで構成されます。Prometheus、Grafana、Jaegerはバックエンドツールであり、OTel自体のコンポーネントではありません。
Q6. SLO 99.9%の場合、月間で許容されるダウンタイムに最も近いものはどれですか?
- A) 約4分
- B) 約43分
- C) 約7時間
- D) 約4時間
解答と解説
正解: B
月間を約30日(43,200分)として計算すると、99.9%のSLOでは0.1%のエラーバジェットとなり、43,200 x 0.001 = 約43.2分のダウンタイムが許容されます。
Q7. メトリクスの種類で、単調に増加する値(リクエスト数など)を記録するものはどれですか?
- A) Gauge
- B) Histogram
- C) Counter
- D) Summary
解答と解説
正解: C
Counterは単調増加する値を記録するメトリクスの種類です。HTTPリクエストの総数やエラーの総数など、累積値を記録するのに使います。Gaugeは増減する値(CPU使用率など)、Histogramは値の分布(レスポンスタイムの分布など)を記録します。
Q8. OpenTelemetryの自動計装と手動計装の使い分けとして正しいものはどれですか?
- A) 自動計装だけで十分であり、手動計装は不要
- B) 手動計装だけで十分であり、自動計装は不要
- C) 自動計装で基本データを収集し、手動計装で業務固有の情報を追加する
- D) 自動計装は開発環境のみ、手動計装は本番環境のみで使う
解答と解説
正解: C
自動計装はHTTP、データベース、gRPCなどの共通ライブラリを自動的にトレースし、基本的なデータ収集を行います。手動計装はビジネスロジック固有の情報(注文ID、ユーザーの操作内容など)を追加するために使います。両者を組み合わせることが推奨されます。
結果
7問以上正解の場合
合格です。おめでとうございます。
Step 1「オブザーバビリティの世界」を完了しました。 次は Step 2「構造化ログの設計」に進みましょう。
6問以下の場合
もう少し復習しましょう。
間違えた問題の内容を、該当するセクションで復習してください:
| 問題 | 復習セクション |
|---|---|
| Q1 | step1_1 なぜオブザーバビリティが必要か |
| Q2 | step1_2 モニタリング vs オブザーバビリティ |
| Q3 | step1_3 Three Pillars: ログ・メトリクス・トレース |
| Q4 | step1_5 SLI/SLO/SLAの定義 |
| Q5 | step1_4 OpenTelemetryの全体像 |
| Q6 | step1_5 SLI/SLO/SLAの定義 |
| Q7 | step1_3 Three Pillars: ログ・メトリクス・トレース |
| Q8 | step1_4 OpenTelemetryの全体像 |
Step 1 完了
お疲れさまでした。
学んだこと
- オブザーバビリティの定義と必要性
- モニタリングとオブザーバビリティの違い
- 3本柱(ログ・メトリクス・トレース)の特徴と使い分け
- OpenTelemetryの全体像と主要コンポーネント
- SLI/SLO/SLAの関係とエラーバジェット
次のステップ
Step 2: 構造化ログの設計(4時間)
オブザーバビリティの全体像を理解した今、次は第1の柱「ログ」を深掘りします。
推定所要時間: 15分