---
title: 【新卒研修】L30分で学ぶLinux ログの取り方「ログを読める＝障害を直せる」── 原因特定の解像度が変わる30分　時短でスキル追加しましょう！_202605181015
tags: 
author: [smile_yukiko_it](https://docswell.com/user/smile_yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJWG1X6272.jpg?width=480
description: 新卒研修　理系出身者向けの原理原則ベースでのご説明資料です。※スキルが高い方向け
published: May 16, 26
canonical: https://docswell.com/s/smile_yukiko_it/K8N18Y-2026-05-16-103315
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJWG1X6272.jpg)

CORPORATE TRAINING / 新卒未経験向け
30分で学ぶ
Linux ログの取り方
「ログを読める＝障害を直せる」── 原因特定の解像度が変わる30分 時短でスキル追加しましょう！
journald / syslog / 認証 / カーネル / 監査 ── 全6セクション22スライド
Yukiko Ishiguro
面白きこともなき世を面白く ── 高杉晋作


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4EZLP6Y473.jpg)

AGENDA
02 / 22
本日のアジェンダ
ログを「探す・読む・絞り込む・残す」を30分で押さえる
00
3分
ログを読める価値
なぜログ調査スキルが運用の99%か
§1
4分
ログの居場所
journald / rsyslog / アプリ別 ── Linuxログの3つの世界
§2
5分
基本のログ閲覧
tail / head / less / 圧縮版 zcat / zless / zgrep
§3
5分
検索・抽出・集計
grep を中核に、awk / sort / uniq でランキング集計
§4
6分
systemd journal
journalctl の -u / -f / --since / -p / -b を制する
§5
4分
syslog・認証・カーネル
rsyslog / dmesg / last / facility・severity の体系
§6
3分
記録・ローテ・監査
tail -f / script / logrotate / auditd / トラブル4ステップ
Linuxログ取り方30分講義｜うさうさ先生監修


# Page. 3

![Page Image](https://bcdn.docswell.com/page/Y76WM2DG7V.jpg)

INTRO
03 / 22
ログを自分で調べて読めるエンジニアが、現場で強いよ！
推測ではなく事実から原因を特定する力 ── これが運用の80%
01
ログは「機械が残した事実」
人間の記憶や推測ではない、システム自身が書き残した記録。これを読む力は、真実から逆算する力。
02
ログを読めない人は直せない
障害対応の90%は「ログをどう絞り込むか」。grep と journalctl を使いこなせるかで時間が桁違いに変わる。
03
ログは過去・現在・未来
過去のエラー追跡、現在のリアルタイム監視、未来のトラブル兆候。tail -f と監査ログで全方位を押さえる。
Linuxログ取り方30分講義｜うさうさ先生監修


# Page. 4

![Page Image](https://bcdn.docswell.com/page/G75MZ23X74.jpg)

SECTION 1 / 6
§1
ログの居場所
WHERE LOGS LIVE
journald / rsyslog / アプリ別 ── Linux ログの3つの世界を地図にする
04 / 22


# Page. 5

![Page Image](https://bcdn.docswell.com/page/9J29R4ZQER.jpg)

§1 ログの居場所
05 / 22
Linuxログの3つの世界
「どこを見ればいいか」を最初に知っておくと迷わない
journald
rsyslog
アプリ別
systemd-journald
/var/log/*.log
/var/log/&lt;app&gt;/
現代Linuxの主役
従来からのテキストログ
アプリが独自に書き出す
バイナリ構造化ログ。ユニット名・優先度・PID等
facility.severityで振り分けられたテキスト形式。
Apache, Nginx, MySQL, PostgreSQL等が自前の場
のメタデータ付きで /var/log/journal/ に永続化
grep/tail などUnix標準ツールで扱える
所にローテーション付きで書き出す
閲覧: journalctl コマンド
Linuxログ取り方30分講義｜うさうさ先生監修
閲覧: less / tail / grep
閲覧: less / tail + zgrep


# Page. 6

![Page Image](https://bcdn.docswell.com/page/DEY4DMRYJM.jpg)

§1 ログの居場所
06 / 22
主要ログファイル早見表
Debian系（Ubuntu）と RHEL系（CentOS/Rocky）でファイル名が違う点に注意
用途
汎用システム
rsyslog集約の総合日誌
認証関連
ssh / sudo / PAM 認証成否
カーネル
dmesg相当の永続化版
起動時ログ
起動時カーネルリングバッファ
全ログイン履歴
バイナリ／lastで読む
失敗ログイン
バイナリ／lastbで読む（要root）
systemd journal
バイナリ構造化／journalctl
メール
postfix等のメール送受信
Debian / Ubuntu
RHEL / CentOS / Rocky
/var/log/syslog
/var/log/messages
/var/log/auth.log
/var/log/secure
/var/log/kern.log
（messages に統合）
/var/log/dmesg
/var/log/dmesg
/var/log/wtmp
/var/log/wtmp
/var/log/btmp
/var/log/btmp
/var/log/journal/
/var/log/journal/
/var/log/mail.log
/var/log/maillog
▷ ローテ後は .1, .2.gz と番号付きで圧縮保管される（logrotate）。古いログは zcat / zless / zgrep で開く
Linuxログ取り方30分講義｜うさうさ先生監修


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJNY6WDR78.jpg)

SECTION 2 / 6
§2
基本のログ閲覧
READING LOGS
tail / head / less ── まず「中身を見る」3点セット＋圧縮版
07 / 22


# Page. 8

![Page Image](https://bcdn.docswell.com/page/YE9PLXGZJ3.jpg)

§2 基本のログ閲覧
08 / 22
見るための3点セット ─ tail / head / less
tail
head
less
テイル
ヘッド
レス
意味
意味
意味
末尾N行を表示／-fで追記をリアルタイ
ム監視
先頭N行を表示（既定10行）
ページャ（前後・検索可）
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
ファイル末尾を読出し標準出力。-fは inotify でフ
ファイル先頭からread(2)してN行分を標準出力
ファイル全体をメモリ展開せずシーク移動。/で
ァイル変更を監視し追記分を逐次出力。-Fはロ
。設定ファイルや巨大ログの冒頭確認に。スト
前方検索、?で後方検索、n/Nで次/前、Gで末尾
ーテーション追従。ログ調査で最も叩くコマン
リームの先頭だけ消費して残りを破棄する用途
、gで先頭、Fでtail -f相当の追従モードに。
ド。
にも。
$ tail -n 100 /var/log/syslog
$ tail -f /var/log/nginx/error.log
Linuxログ取り方30分講義｜うさうさ先生監修
$ head -n 20 /etc/rsyslog.conf
$ less /var/log/syslog
→ /ERROR → n / n / n


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GE8DX28YED.jpg)

§2 基本のログ閲覧
09 / 22
圧縮済みログをそのまま読む ─ zcat / zless / zgrep
cat / tac
zcat / zless
zgrep
キャット・タック
ジーキャット・ジーレス
ジーグレップ
意味
意味
意味
全文表示／逆順表示
gz圧縮ログをそのまま閲覧
gz圧縮ログ内をgrep検索
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
catは順次出力、tacは末尾から先頭へ逆順出力。
gunzipの結果を標準出力にパイプする簡易ラッ
gunzip+grepの組合せを内部で実行。複数日分の
tacは「新しいログから時系列さかのぼる」時に
パ。 logrotate で .gz 化されたローテ後ログを伸
ローテログ（*.gz）を横断検索するのに最適。-r
便利。fileコマンドでテキストかバイナリか先に
長せず読む。.bz2 は bzcat、.xz は xzcat と形式
再帰、-i大小無視、-E拡張正規 等grep相当のオプ
判定するのが安全。
別。
ションを引継ぐ。
$ cat short.log
$ tac /var/log/syslog | head
Linuxログ取り方30分講義｜うさうさ先生監修
$ zcat syslog.2.gz | grep ERROR
$ zless syslog.3.gz
$ zgrep -E &#039;ERROR|FATAL&#039;
/var/log/syslog*


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LELM82R97R.jpg)

SECTION 3 / 6
§3
検索・抽出・集計
FILTER &amp; AGGREGATE
grep を中核に、awk / sort / uniq を組合せて「欲しい答え」を出す
10 / 22


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4JMY68RVJW.jpg)

§3 検索・抽出・集計
11 / 22
grep 完全攻略 ─ ログ調査の主役
正規表現でログから「欲しい行」を抜き出す。これが使えるかで現場での速度が変わる
主要オプション
実例で覚える
-E
拡張正規表現（|や+を直接使える）
-r
ディレクトリを再帰的に検索
-i
大文字小文字を区別しない
-v
マッチしない行を抽出（反転）
-n
行番号も表示
-c
件数のみ表示
-l
マッチしたファイル名のみ表示
-A N / -B N / -C N
前後/前/後 N行も併せて表示
--color=auto
マッチ部分を強調表示
ERROR行のみ
$ grep ERROR /var/log/syslog
ERROR の前後5行（文脈確認）
$ grep -C5 ERROR /var/log/syslog
複数パターンOR検索
$ grep -E &#039;ERROR|FATAL|CRITICAL&#039; app.log
複数ファイル再帰検索＋行番号
$ grep -rn &#039;NullPointerException&#039; /var/log/
除外して集計
$ grep -v INFO app.log | wc -l
圧縮ログ含む横断検索
$ zgrep -E &#039;timeout&#039; /var/log/nginx/*
Linuxログ取り方30分講義｜うさうさ先生監修


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PJR9P5RW79.jpg)

§3 検索・抽出・集計
12 / 22
パイプで組合せる ─ ランキング集計の鉄板パターン
grep｜awk｜sort｜uniq -c｜sort -rn ── これが書けると一気に「使える人」
アクセスログから IP別アクセス数 Top10 を出す
$ awk &#039;{print $1}&#039; access.log | sort | uniq -c | sort -rn | head -10
パイプを4段階に分解
①
awk &#039;{print $1}&#039;
1列目（IP）だけ抜き出す
②
sort
全IPを並べ替え（uniqの前処理）
③
uniq -c
重複を集約しつつ件数カウント
④
sort -rn | head
件数の多い順に並べ、上位だけ表示
▷ この4段パイプは sed/grep にも応用できる定番。 awk の $N をどう書き換えるかで対象列が変わる
Linuxログ取り方30分講義｜うさうさ先生監修


# Page. 13

![Page Image](https://bcdn.docswell.com/page/PEXQ3KRVJX.jpg)

SECTION 4 / 6
§4
systemd journal
SYSTEMD JOURNAL
journalctl 一本で過去ログ全部に当たれる ── 現代 Linuxの主役
13 / 22


# Page. 14

![Page Image](https://bcdn.docswell.com/page/3EK9Y5R5ED.jpg)

§4 systemd journal
14 / 22
journalctl 最初に覚える4つの絞り込み
時間範囲
-u SERVICE
-f
--since / -until
-p severity
ユニット指定
フォロー
意味
意味
意味
意味
サービス別にログを絞り込む
リアルタイム追従（tail -f相当）
自然言語でも指定可
warn以上だけ／err以上だけ等
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
systemd ユニット単位で絞る。
journalファイルへの追記を検知し新規
ISO形式（2026-05-12 09:00:00）また
0=emerg, 1=alert, 2=crit, 3=err,
journalctl -u nginx.service。.service は
エントリを逐次表示。-u と組合せて特
は相対表現（&quot;1 hour ago&quot;, &quot;yesterday&quot;,
4=warning, 5=notice, 6=info, 7=debug。
省略可。複数 -u を AND 結合。サービ
定サービスのリアル監視に。サービス
&quot;-3d&quot;）。トラブル発生時刻が分かって
-p err は err 以上（深刻側）を表示。膨
スのstdout/stderr＋sd_journal_print()出
再起動時の挙動確認に必須。
いるなら最初に絞るべき軸。
大なログから「とりあえずヤバいやつ
力を時系列表示。
$ journalctl -u nginx -u phpfpm
Linuxログ取り方30分講義｜うさうさ先生監修
重大度
」を抽出。
$ journalctl -u sshd -f
$ journalctl --since &#039;1 hour
ago&#039;
$ journalctl --since today -until now
$ journalctl -p err -b
$ journalctl -p warning -since today


# Page. 15

![Page Image](https://bcdn.docswell.com/page/L73W9K8175.jpg)

§4 systemd journal
15 / 22
journalctl 応用 ─ 起動回別・容量管理・記録
他から journal に書き込む
応用オプション
-b [N]
起動回別表示
-b 0 今回、-b -1 前回、--list-boots で一覧
--disk-usage
ディスク使用量
systemd-cat
シェルやスクリプトの出力をjournalに記録
journalファイルの合計容量を表示
$ systemd-cat -t mytag echo &quot;deploy ok&quot;
--vacuum-size=500M
容量削減
500MB以下まで古い物を削除
--vacuum-time=7d
期間削減
永続化設定 (journald.conf)
7日より古い物を削除
-o json / -o cat
出力形式
再起動でもログを残す（推奨）
json は機械処理、cat はメッセージのみ
-_PID= / _UID=
メタフィルタ
プロセスID / ユーザーID で絞込
-k
Storage=persistent
カーネル
カーネルメッセージのみ（dmesg相当）
SystemMaxUse=2G
journal全体の上限を2GBに
MaxRetentionSec=1month
1か月以上古いログを削除
ForwardToSyslog=yes
--no-pager
lessページャを通さず全部表示
Linuxログ取り方30分講義｜うさうさ先生監修
全件出力
rsyslog にも併送（共存運用）


# Page. 16

![Page Image](https://bcdn.docswell.com/page/87DKG3MKJG.jpg)

SECTION 5 / 6
§5
syslog・認証・カーネル
SYSLOG / AUTH / KERNEL
rsyslog の facility・severity の体系と、認証・カーネルログの読み方
16 / 22


# Page. 17

![Page Image](https://bcdn.docswell.com/page/VJPK34R3E8.jpg)

§5 syslog・認証・カーネル
17 / 22
rsyslog ─ facility（出所）× severity（重大度）
ログを「種類×深刻度」のマトリクスで振り分ける、それがsyslog設計の核
facility（出所）── どこから出たログか
severity（重大度）── どれくらいヤバいか
0
kern
カーネル
0
emerg
システム使用不能
1
user
ユーザープロセス
1
alert
即対応必要
2
mail
メール（postfix等）
2
crit
重大障害
3
daemon
システムデーモン
3
err
エラー
4
auth
認証（loginなど）
4
warning
警告
5
syslog
syslog 自身
5
notice
通常だが注目
9
cron
cron / at
6
info
通常動作
10 authpriv
プライベート認証
7
debug
デバッグ用
16-23 local0-7
ユーザー定義（アプリ自由割当）
/etc/rsyslog.conf
例:
Linuxログ取り方30分講義｜うさうさ先生監修
auth,authpriv.*
/var/log/auth.log
・
*.err
/var/log/error.log


# Page. 18

![Page Image](https://bcdn.docswell.com/page/2EVV4XRNEQ.jpg)

§5 syslog・認証・カーネル
18 / 22
カーネルと認証 ─ dmesg / last / lastb / w
dmesg
last
lastb
w / who
ディーメッセージ
ラスト
ラストビー
ダブリュー・フー
意味
意味
意味
意味
カーネルリングバッファ
ログイン履歴
失敗ログイン履歴
現在ログイン中ユーザー
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
カーネルが起動時/動作中に出力したメ
/var/log/wtmp のバイナリレコードを読
/var/log/btmp のバイナリレコードを読
/var/run/utmp を参照。who は単純な一
ッセージを /dev/kmsg から読出し。
出し時系列表示。ログイン/ログアウト/
出し（要root）。SSHブルートフォース
覧、w は加えて各セッションの実行コ
USB挿入・OOM Killer・I/Oエラー・
再起動の全記録。-n NUMで最新N件、-
攻撃の痕跡確認に必須。送信元IPの分
マンド・アイドル時間・ロードアベレ
SATA再接続等の事象を確認。-T可読時
x シャットダウン履歴も。-i は IPで表
布を取ると攻撃源が可視化される。
ージ・JCPU/PCPU を統合表示。
刻、-w追従、-l err でerr以上のみ。
示。
$ dmesg -T | tail
$ dmesg -w
# 追従
Linuxログ取り方30分講義｜うさうさ先生監修
$ last -n 20
$ last -i reboot
$ sudo lastb -n 30
$ sudo lastb | awk &#039;{print
$3}&#039; | sort | uniq -c
$ w
$ who -a


# Page. 19

![Page Image](https://bcdn.docswell.com/page/57GL1VM5EL.jpg)

SECTION 6 / 6
§6
記録・ローテ・監査
RECORD / ROTATE / AUDIT
ログを「残す・整理する・証跡として保つ」── 運用の終端を押さえる
19 / 22


# Page. 20

![Page Image](https://bcdn.docswell.com/page/4EQYD6RLJP.jpg)

§6 記録・ローテ・監査
20 / 22
記録するテクニック ─ tail -f / script / history
tail -f / watch
script
テイル・ウォッチ
スクリプト
意味
意味
意味
リアルタイム監視2点セット
ターミナルセッションを録画
コマンド履歴に時刻を付与
原理原則 [理系]
原理原則 [理系]
原理原則 [理系]
tail -f は inotify でファイル追記を即時表示。
ptyを介してシェル入出力を全て記録ファイル(既
~/.bashrc に HISTTIMEFORMAT=&quot;%Y-%m-%d
watch -n 1 &#039;コマンド&#039; は1秒毎に同じコマンドを
定typescript)に保存。-tで時刻情報も別途記録（
%H:%M:%S &quot; を設定すると history 出力に時刻表
再実行し-dで差分強調。リソース定点観測の鉄板
scriptreplay で再生可）。研修・障害対応の証跡
示。トラブル発生時刻と作業時刻の照合に必須
。
に必須。
。HISTSIZE/HISTFILESIZEで保存件数。
$ tail -f /var/log/nginx/error.log
$ watch -n 1 -d &#039;df -h&#039;
Linuxログ取り方30分講義｜うさうさ先生監修
$ script -t timing.log session.log
$ scriptreplay timing.log session.log
history + ヒストリー
HISTTIMEFORMAT
$ export HISTTIMEFORMAT=&quot;%F %T &quot;
$ history | tail


# Page. 21

![Page Image](https://bcdn.docswell.com/page/KJ4WZ48571.jpg)

§6 記録・ローテ・監査
21 / 22
ローテーションと監査 ─ logrotate / auditd
ログ膨張を防ぐ自動整理と、「誰が何をしたか」の証跡管理
logrotate
auditd
ログを定期的に圧縮・退避・削除
「誰が何をしたか」の証跡を残す
原理原則 [理系]
原理原則 [理系]
/etc/cron.daily/logrotate からcron実行。/etc/logrotate.conf と
Linuxカーネル内の監査サブシステム(kauditd)からのイベントを
/etc/logrotate.d/*.conf を読み daily/weekly/monthly + rotate回数 + compress に従
/var/log/audit/audit.log に記録。/etc/audit/rules.d/ にルール定義（特定ファイルへ
って古いログを圧縮/削除/退避。postrotateスクリプトでサービスにSIGHUP送信
のアクセス・syscall等を監視）。コンプライアンス要件（PCI-DSS、HIPAA等
し再オープンも可能。
）で実装必須。
主要ディレクティブ
関連コマンド
auditctl
── ルール追加・現行確認
rotate 7
── 7世代保持
ausearch -i
── 監査ログ検索（人間可読化）
compress
── 古い物をgzip
aureport -au ── 認証関連の集計レポート
daily / weekly / monthly
delaycompress
── 頻度
── 1世代遅らせて圧縮
postrotate
...-dendscript
── ローテ後フック# 試走
$ logrotate
/etc/logrotate.d/nginx
Linuxログ取り方30分講義｜うさうさ先生監修
$ ausearch -ts today -i -ui 1000


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LE1YR4227G.jpg)

22 / 22
SUMMARY &amp; TROUBLE 4 STEPS
まとめ ──「探す・読む・絞り込む・残す」
30分で押さえた要点と、明日から使えるトラブル調査4ステップ
§1 居場所
§2 閲覧
§3 抽出
§4 journal
§5 syslog/認証
§6 記録/監査
journald
tail / less
grep -A -B -C
journalctl
rsyslog
tail -f / script
rsyslog
head / cat
awk / sort
-u -f --since
dmesg / last
logrotate
アプリ別
zcat / zgrep
uniq -c
-p -b
fac.severity
auditd
トラブル調査の4ステップ（明日から使える）
1
dmesg -T | tail
ハードウェア起因（ディスク・OOM・USB）を最初に潰す
2
journalctl -p err -b
今回起動以降の重大事象を一覧化
3
journalctl -u SVC --since &#039;1h ago&#039;
問題サービス × 直近1時間に視野を絞る
4
grep -C5 ERROR &lt;ログ&gt;
エラー前後のコンテキストで原因を特定
面白きこともなき世を面白く ── 高杉晋作


