2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

tail -f を使ってリアルタイムのログを確認する

Posted at

tailコマンドでリアルタイムログを確認するまでの経緯

発生した問題

nginx.conf等諸々設定し、EC2インスタンスのIPv4DNSからアプリ画面へアクセス確認。
→ブラウザで「応答時間が長すぎます。」と警告が表示された。

問題の切り分け

発生した問題に対して以下の手順で調査を進めました。

1.sshは接続できるがhttpで接続できるか?
2.できないとして、どこまで来てるか?
3.EC2でアクセスがきているか確認する
netstat -ano | grep :80 (Linuxのポート状況を確認に関しては以下の記事を参考に。)

/var/log/nginx/access.logを確認 → きていない。
4.まずAWS側に問題があることが一つ考えられる
→AWS側は修正するとして、EC2自体からローカルアクセスしたときにアクセスできるのか?
curl 127.0.0.1叩いてローカルアクセスしてみる
→404で返ってくる → webサーバー(nginx)自体は正常に動いている。
5.アプリケーション側がおかしいかも?
/var/log/php-fpm/www-error.logのログを確認 
→原因となるエラー出てた。
6.EC2コンソール画面からセキュリティルールのインバウンドルールを確認し、設定に不備があったので修正。その後、ローカルではなくブラウザからアクセス確認。
→最初に出た「応答時間が長すぎます。」は出なくなり、次は404エラーが発生。 
→とりあえずサーバは正常に動いた。しかし、何故404エラーが発生するのか?
7.ターミナルからtail -fでログファイルを開いた状態でブラウザアクセス
→404エラーの原因をリアルタイムで確認。
→DBの設定ができてないことが判明!

[root@ip-??-??-??-?? php-fpm]# tail -f www-error.log

ERROR: SQLSTATE[HY000] [2002] Connection refused ・・・・

経緯はこんな感じです。
最後の箇所でブラウザからアクセスした時にリアルタイムでログを確認しました!

まとめ

ターミナルからtail -fでログファイルを開いた状態にし、ブラウザからアクセスしてリアルタイムでログを確認。
デバック中はこんな感じでログを流しながら調査する方が分かりやすく、今後多く使っていくことになりそうなので記事にしてみました!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?