debugging
Var Log

🧾 SOP: Viewing Nginx & Application Logs (Fast Debug)

📘 Overview

This SOP helps you quickly locate and analyze logs for:

  • Nginx (web server / reverse proxy)
  • Application logs
  • System & service logs All paths are under /var/log unless mentioned.

⚡ Quick Log Location Table

ComponentLog TypePath
NginxAccess log/var/log/nginx/access.log
NginxError log/var/log/nginx/error.log
App (custom)App logs/var/log/<app-name>/
DockerContainer logsdocker logs <container>
KubernetesPod logskubectl logs <pod>
SystemOS logs/var/log/syslog
AuthSSH / sudo/var/log/auth.log

🌐 Nginx Logs

View live traffic

tail -f /var/log/nginx/access.log

View only errors

tail -f /var/log/nginx/error.log

Last 100 errors (fast)

tail -n 100 /var/log/nginx/error.log

Search by status code

grep "502" /var/log/nginx/access.log

Search by IP

grep "10.0.0.12" /var/log/nginx/access.log

🧱 Application Logs

Common locations

ls -lh /var/log/
ls -lh /var/log/<app-name>/

Live app log

tail -f /var/log/<app-name>/app.log

Error-only view

grep -i error /var/log/<app-name>/app.log

Last crash/debug lines

tail -n 200 /var/log/<app-name>/app.log

🐳 Docker Logs

List containers

docker ps

View logs

docker logs <container-name>

Live logs

docker logs -f <container-name>

Last 100 lines

docker logs --tail 100 <container-name>

☸️ Kubernetes Logs

Pod logs

kubectl logs <pod-name>

Live logs

kubectl logs -f <pod-name>

Previous crash logs

kubectl logs <pod-name> --previous

Namespace-specific

kubectl logs <pod-name> -n <namespace>

🖥️ System / OS Logs

General system issues

tail -f /var/log/syslog

Boot & service errors

journalctl -xe

Service-specific logs

journalctl -u nginx
journalctl -u docker

🔐 Auth & Access Issues

SSH / sudo failures

tail -f /var/log/auth.log

Search denied access

grep -i denied /var/log/auth.log

🚨 Common Scenarios → What to Check

IssueCheck This
502 / 504Nginx error log + app logs
403Nginx error + WAF / auth logs
App crashApp logs + kubectl logs --previous
Container restartDocker logs
Server slowsyslog + app logs
Login issue/var/log/auth.log

🧠 Best Practices (Follow Always)

  • Start with error logs, not access logs
  • Use tail -f during live debugging
  • Use grep to reduce noise
  • Match timestamps between Nginx & app logs
  • For prod → never delete logs, rotate instead

⚙️ Command Summary

PurposeCommand
Live Nginx accesstail -f /var/log/nginx/access.log
Live Nginx errortail -f /var/log/nginx/error.log
App logstail -f /var/log/<app>/app.log
Docker logsdocker logs -f <container>
K8s logskubectl logs -f <pod>
System errorsjournalctl -xe
Auth logstail -f /var/log/auth.log