Sebagian besar waktu yang hilang karena sebuah kerusakan habis untuk membaca log yang keliru. Masing-masing menjawab pertanyaan yang berbeda, dan memilih berkas yang tepat lebih dulu biasanya membuat sisanya cepat.
- /var/log/nginx/error.log — server web tidak bisa menjalankan tugasnya: ditolak dari hulu, izin ditolak, berkas tidak ditemukan.
- /var/log/nginx/access.log — apa yang diminta dan apa yang dikembalikan. Di sinilah Anda menemukan KAPAN-nya.
- /var/log/php8.3-fpm.log — pekerja yang mati, masalah pada kumpulan proses.
- log aplikasi — kode Anda sendiri. Jejak tumpukan tinggal di sini dan tidak di tempat lain.
Awasi selagi Anda mengulang kejadiannya
tail -f /var/log/nginx/error.log
Biarkan itu berjalan, muat halaman yang rusak, lalu baca apa yang muncul. Itulah langkah pelacakan galat paling ampuh yang ada, dan hanya makan sepuluh detik.
Temukan bentuk masalahnya
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head
grep ' 500 ' /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
Yang pertama menunjukkan sebaran kode statusnya. Yang kedua menyebut alamat-alamat yang gagal, diurutkan menurut seberapa sering — dan biasanya satu alamat saja sudah mencakup sebagian besarnya.
Persempit berdasarkan waktu
sed -n '/04\/Sep\/2026:14:0/,/04\/Sep\/2026:14:2/p' access.log | grep ' 50'
Yang penting adalah kemunculan pertamanya
Bacalah galat PERTAMA dalam satu ledakan, bukan yang terakhir. Yang belakangan biasanya akibat — antrean yang menumpuk, kumpulan sambungan yang habis — dan memperbaiki akibat tidak mengubah apa pun.
Kalau lognya kosong padahal jelas ada yang gagal, permintaannya tidak pernah sampai ke lapisan itu. Bergeserlah satu lapisan ke luar: tidak ada galat PHP berarti Nginx menolaknya; tidak ada catatan Nginx berarti permintaannya tidak pernah tiba.