ログ、メトリクス、トレースを、どう使い分けて原因を探しますか

メトリクスでいつどこがおかしいかを見つけ、トレースで 1 つの要求のどこで時間や失敗が起きたかを絞り、ログでそのとき何が起きたかを読む、と答える問い。3 つを要求の番号でつなぐ作りと、量と費用の折り合いまで話します。

まず 4 択で考える

2 問

答えに入れるべき考えを選びます。選ぶと、すぐに正誤と解説が出ます。そのあと下の欄で、自分の言葉で答えてみます。

  1. 問 1エラーが増えたと知らせが来たとき、原因を探す順番として正しいものはどれか

  2. 問 2メトリクスのラベルの付け方として、正しいものはどれか

2 問中 0 問に答えました

答えてみる

面接官に「ログ、メトリクス、トレースを、どう使い分けて原因を探しますか」と聞かれたつもりで、答えを見る前に自分の言葉で、声に出して答えてみます。

解説を読む

聞かれ方から関連するコースまで、この問いの解説を全部ここに置いています。

こう聞かれます

  • 「ログ、メトリクス、トレースを、どう使い分けて原因を探しますか」
  • 「エラーが増えたと知らせが来ました。どの順で何を見ますか」
  • 「ログを全部出しておけば、メトリクスやトレースは要らないのでは」(裏から聞く形)

面接官が見ている点

  • 3 つの言葉の意味ではなく、症状から原因へ進む順番として使い分けられるか
  • 3 つを同じ要求の番号でつないで、行き来できる作りにしているか
  • 量を増やすほど費用がかかることを知り、何を残すかを選べるか

短い答え

  • まずメトリクスで、いつから、どの API や台で、何がおかしいかを見つけます。数の時系列なので、全体の変化に早く気づけます。
  • 次にトレースで、遅い要求や失敗した要求が、どのサービスや DB の呼び出しで時間を使い、どこで失敗したかを絞ります。
  • 最後にログで、その場所でそのとき何が起きたか (入力、エラーの中身) を読みます。3 つは同じ要求の番号 (トレース ID) でつないでおきます。

この問いを含む分野をレッスンで練習する

レッスンを開く

少し詳しい答え

症状から原因へ進む順番

3 つは、得意なことが違います。

  • メトリクス 1 分ごとのエラーの数、遅さ、要求の数のような、数の時系列です。安く長く残せて、全体の変化と、いつから起きたかが分かります。ただし「なぜ」は分かりません
  • トレース 1 つの要求が、どのサービス、どの DB の問い合わせを通り、それぞれ何ミリ秒かかったかの道筋です。どこで時間を使い、どこで失敗したかが分かります
  • ログそのとき何が起きたかの記録です。入力の値やエラーの中身のような、細かい事情が分かります

だから、メトリクスで「いつ、どこ」を見つけ、トレースで「どの段で」を絞り、ログで「何が」を読む、と狭めていきます。いきなり大量のログを検索するより、ずっと早くたどり着けます。

要求の番号でつなぐ

3 つを行き来するには、同じ要求に同じ番号 (トレース ID) を付けて、すべてのログの行に書き、ほかのサービスを呼ぶときも番号を渡します。こうしておくと、トレースで見つけた遅い要求の番号で、関わったすべてのサービスのログを一度に引けます。

ログは、文の形ではなく、項目に分けた形 (JSON など) で書きます。番号や利用者、かかった時間で絞り込めるようにするためです。

JSON

{"level":"error","traceId":"7f3a","route":"/orders","ms":2140,"msg":"payment timeout"}

量と費用の折り合い

3 つとも、多く残すほど費用がかかります。

  • メトリクスラベルに利用者の ID のような種類の多い値を入れると、時系列の数が爆発します。ラベルは API の名前や状態のコードのような、種類の少ない値にします
  • トレース全部の要求を残すと高くつくので、一部だけ残します (サンプリング)。エラーや遅い要求は優先して残す形にすると、調べたい物が残ります
  • ログ成功した要求の細かい記録は減らし、エラーと判断の分かれ目を残します。パスワードや個人の情報は書きません

話すときは、自分が原因を探した場面で、何をどの順で見たかの例を 1 つ用意します。話す例は架空の例で構いません。

よくある間違い

  • いきなりログを検索し始める量が多すぎて、どこを見ればよいか分からなくなります。メトリクスで範囲を狭めてから読みます
  • ログに要求の番号が無いサービスをまたいだ 1 つの要求のログをつなげられず、原因が追えません
  • メトリクスのラベルに利用者の ID を入れる時系列の数が爆発し、費用も重さも跳ね上がります
  • 全部の要求のトレースを残す費用がかさみます。一部を残し、エラーと遅い物は優先して残します

深掘りの問い

  • 「どの警報で人を呼びますか」利用者に出ている症状で呼ぶ、と 1 文で答え、原因を探す話に戻ります
  • 「トレースの番号は、サービスをまたいでどう渡しますか」呼び出しのヘッダーに載せて渡し、受けた側は同じ番号を使い続ける、と答えます
  • 「ログはどれくらいの期間残しますか」調べるのに要る期間と、費用、個人の情報の扱いで決め、古い物は安い置き場へ移すか消す、と答えます

確認日 2026年10月30日書き手 小尾 知希 (講師)

技術面接問題の一覧へ戻る