~「なんかエラー出たっぽい」を卒業しよう~
この記事でわかること
- ログファイルってそもそもどこにあるの?
- よく見る「エラーログ」の探し方
grepを使った効率的な検索方法
目次
ログってどこにあるの?
サーバやアプリケーションは、処理内容やエラー情報をログファイルに出力しています。
Linux系のサーバなら、たいていここにあります:
| ログの種類 | よくあるファイルパス |
|---|---|
| システムログ | /var/log/syslog や /var/log/messages |
| 認証ログ | /var/log/auth.log |
| Webサーバ(Apache/Nginx) | /var/log/apache2/error.log や /var/log/nginx/access.log |
| アプリ独自のログ | アプリ配下の logs/ ディレクトリなど |
上記はあくまで一例。
アプリによってログの保存場所は異なるので、READMEやマニュアルに記載されていることも多いです。
ログってどうやって読むの?
ログファイルは基本的にテキストファイルなので、cat、less、tail などのコマンドで中身を確認します。
| コマンド | 内容 |
|---|---|
cat ファイル名 | 全文を一気に表示(長いと使いづらい) |
less ファイル名 | スクロールしながら読める |
tail ファイル名 | 一番下の数行を表示(デフォルト10行) |
tail -f ファイル名 | ログのリアルタイム監視ができる! |
grepって何?どう使うの?
grepは、文字列をログから検索できる最強の相棒です。
「エラーが出たけど、何行もあるログのどこだ…」というとき、これで一発。
grep "error" /var/log/syslog
grep:検索コマンド"error":探したい文字列(エラーメッセージなど)/var/log/syslog:ログファイルのパス
よく使うオプション
| オプション | 意味 |
|---|---|
-i | 大文字小文字を区別しない |
-n | 行番号を表示する |
-r | ディレクトリを再帰的に検索 |
--color | 該当文字列を色付きで表示 |
例:
grep -i --color "timeout" /var/log/nginx/error.log
実務での使い方例
🛠️「Webアプリが落ちた」とき…
tail -n 100 /var/log/nginx/error.log | grep -i "fatal"
→ 直近100行から “fatal” を含むエラーを絞り込み!
FAQ
Q. grep以外にも検索に便利なツールはある?
A. awk や sed などのツールもありますが、まずは grep から覚えるのが王道です。
Q. ログが多すぎてgrepでも追えない…
A. grep "文字列" * のように複数ファイル対象にしたり、grep -r でディレクトリごと検索もおすすめです。

コメント