タイムラインとは
タイムラインとは、事件の出来事を時間の順に並べた一覧です。サーバーのログには、何が、いつ起きたかが残っています。これを並べると、事件の流れが見えてきます。
ログが2つ以上あるときは、コツがあります。時刻の書き方をそろえてから、並べることです。
このレッスンのゴール
メモ
ログの行から時刻と出来事を読み取り、複数のログを時間順に並べることができる。
キーワード
| ことば | いみ |
|---|---|
| ログの行 | 1件の記録。時刻、出どころ、出来事が並ぶ |
| タイムスタンプ | ログの行に書かれた日付と時刻 |
| タイムライン | 複数のログの出来事を、時間順に並べた一覧 |
| 相関づけ | 別のログの行を、同じ人や同じアドレスでつなぐこと |
| UTC | 世界共通の基準で書く時刻。日本時間は、これより9時間進む |
| 時刻のずれ | ログごとにタイムゾーンや時計が違って、時刻が合わないこと |
学生が入力するセルは、このプレビューでは空白です。
ログの1行は、どう読むか
ログの1行は、決まった並びで書かれています。まず時刻、次に出どころ、最後に出来事です。
出来事には、誰が、どこから、何をしたか、うまくいったか、が入っています。型が分かれば、ツールで絞ったり数えたりできます。
例: 2つのログの抜粋
# ログインのログ(認証サーバー)
2026-11-03 09:15:02 login failed user=sato from=192.0.2.40
2026-11-03 09:15:09 login failed user=sato from=192.0.2.40
2026-11-03 09:16:30 login ok user=sato from=192.0.2.40
# Webのログ(Webサーバー)
2026-11-03 09:14:58 GET /admin 403 192.0.2.40
2026-11-03 09:16:41 GET /files 200 192.0.2.40
ログによって時刻の書き方が違う
| ログの種類 | 時刻の書き方の例 | 気をつけること |
|---|---|---|
| ログインのログ | Nov 03 09:15:02 | 年が書かれていない |
| Webサーバーのログ | [03/Nov/2026:09:14:58 +0900] | 日と月が先。+0900 は日本時間 |
| アプリのログ | 2026-11-03T00:14:58Z | Z は UTC のしるし |
学生が入力するセルは、このプレビューでは空白です。
時刻の形をそろえてから並べる
時刻を「年-月-日 時:分:秒」の形にそろえると、文字として並べるだけで、時間の順になります。ツールの sort で足ります。
これは、上の位から順に書いてあるからです。年、月、日、時、分、秒の順なので、文字の並びと時間の並びが一致します。
ログインのログの例を作る
printf '2026-11-03 09:15:02 login failed user=sato from=192.0.2.40\n2026-11-03 09:15:09 login failed user=sato from=192.0.2.40\n2026-11-03 09:16:30 login ok user=sato from=192.0.2.40\n' > a.logここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
Webのログの例を作る
printf '2026-11-03 09:14:58 GET /admin 403 192.0.2.40\n2026-11-03 09:16:41 GET /files 200 192.0.2.40\n2026-11-03 09:15:20 GET /index 200 198.51.100.8\n' > w.logここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
2つのログを時間順に並べる
sort a.log w.logここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
例: 並べたタイムラインの読み方
| 時刻 | 出どころ | 出来事 | 読み取れること |
|---|---|---|---|
| 09:14:58 | Web | /admin を要求、403 | 管理ページを試して、断られた |
| 09:15:02 | ログイン | sato の失敗 | 直後に、ログインを試した |
| 09:15:09 | ログイン | sato の失敗 | もう一度、失敗した |
| 09:16:30 | ログイン | sato の成功 | 3回目で、入れた |
| 09:16:41 | Web | /files を要求、200 | 入ったあと、ファイルを見た |
学生が入力するセルは、このプレビューでは空白です。
1つのアドレスの動きだけを追う
cat a.log w.log | sort | grep 192.0.2.40ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
時刻がずれると、順番が逆になる
ログごとに、時刻のゾーンが違うことがあります。日本の会社のサーバーは日本時間で、海外のサービスはUTCで書くことが多いです。
そのまま並べると、順番が逆になります。並べる前に、同じゾーンにそろえましょう。日本時間から9時間引くと、UTCになります。
例: 同じ出来事の時刻のずれ
| ログ | 書かれた時刻 | ゾーン | UTCにそろえた時刻 |
|---|---|---|---|
| ログインのログ | 09:15:02 | 日本時間 | 00:15:02 |
| アプリのログ | 00:14:58 | UTC | 00:14:58 |
| 並べた結果 | アプリのログが4秒先 | そろえたあと | 00:14:58 が先 |
学生が入力するセルは、このプレビューでは空白です。
よくある間違い
注意
ゾーンを確かめずに、別々のログを並べる人がいます。日本時間の09:15と、UTCの00:14では、同じ出来事なのに、9時間離れて見えます。並べる前に、各ログのゾーンを調べて、記録に書きましょう。