Tingkat Keparahan Log Nginx: Panduan Level Error & Debugging

Tingkat keparahan log Nginx (error log levels) adalah hierarki kepentingan yang menentukan jenis pesan apa saja yang akan dicatat oleh server web Nginx ke dalam file log kesalahan. Berdasarkan dokumentasi resmi Nginx, level log ini diatur menggunakan direktif error_log di dalam berkas konfigurasi nginx.conf. Urutan tingkat keparahan dimulai dari yang paling detail (paling rendah) hingga yang paling kritis (paling tinggi), yaitu: debug, info, notice, warn, error, crit, alert, dan emerg.

Memahami setiap level keparahan ini sangat krusial bagi administrator sistem dan pengembang web guna mendiagnosis masalah koneksi, kesalahan konfigurasi, hingga serangan keamanan secara akurat tanpa membuat ukuran file log membengkak akibat informasi yang tidak diperlukan.

Hierarki Tingkat Keparahan Log Nginx

Setiap level log mencakup pesan dari level tersebut hingga level yang berada di atasnya dalam piramida keparahan. Sebagai contoh, jika Anda menetapkan level warn, Nginx akan mencatat pesan dengan level warn, error, crit, alert, dan emerg, tetapi mengabaikan notice, info, dan debug.

Level Log Tingkat Keparahan Deskripsi & Contoh Kasus
debug Sangat Rendah Informasi pelacakan tingkat lanjut yang sangat rinci. Digunakan untuk men-debug masalah kompleks pada modul Nginx. Menghasilkan ukuran log yang sangat besar.
info Rendah Informasi umum mengenai proses normal server, misalnya koneksi yang diterima atau proses worker yang dimulai ulang.
notice Normal / Catatan Pemberitahuan tentang kejadian penting yang bukan merupakan kesalahan, tetapi layak mendapat perhatian khusus.
warn Peringatan Peringatan dini tentang potensi masalah yang belum mengganggu layanan secara langsung, misalnya direktif konfigurasi yang sudah kedaluwarsa (deprecated).
error Tinggi (Default) Kesalahan penanganan permintaan (request). Contohnya file tidak ditemukan (404), akses ditolak (403), atau kegagalan koneksi ke hulu (upstream backend seperti PHP-FPM).
crit Kritis Masalah serius yang membutuhkan tindakan segera, seperti sumber daya sistem kritis yang hampir habis (misalnya kehabisan deskriptor file).
alert Sangat Kritis Situasi darurat di mana tindakan segera wajib diambil. Contohnya kegagalan sistem file atau masalah perangkat keras mendasar.
emerg Darurat Tertinggi Kondisi darurat total di mana sistem server tidak dapat berfungsi atau mengalami kelumpuhan total (panic state).

Cara Mengonfigurasi Level Log pada Nginx

Pengaturan log kesalahan dikonfigurasikan melalui direktif error_log yang dapat diletakkan di dalam blok konteks main (global), http, server, atau location di dalam file nginx.conf.

# Sintaks umum direktif error_log
error_log /var/log/nginx/error.log warn;

# Contoh implementasi di dalam blok http
http {
    include       mime.types;
    default_type  application/octet-stream;

    # Mencatat hanya level error dan yang lebih tinggi ke file khusus
    error_log  /var/log/nginx/error.log  error;

    server {
        listen 80;
        server_name example.com;

        # Mengaktifkan level debug khusus untuk server block tertentu
        error_log /var/log/nginx/example_debug.log debug;

        location / {
            root /usr/share/nginx/html;
            index index.html index.htm;
        }
    }
}

Langkah-langkah Teknis Mengubah dan Menerapkan Konfigurasi Log

  1. Buka terminal server Anda dan akses file konfigurasi Nginx menggunakan teks editor seperti nano atau vim dengan hak akses sudo:
    sudo nano /etc/nginx/nginx.conf
  2. Cari baris yang memuat direktif error_log. Jika belum ada, Anda dapat menambahkannya di dalam blok http { ... }.
  3. Ubah tingkat keparahan sesuai kebutuhan (misalnya dari crit menjadi warn atau error).
  4. Simpan file konfigurasi dan keluar dari teks editor.
  5. Uji validitas sintaks konfigurasi Nginx untuk menghindari kesalahan ketik:
    sudo nginx -t
  6. Jika hasil pengujian menunjukkan pesan syntax is ok dan test is successful, muat ulang layanan Nginx untuk menerapkan perubahan:
    sudo systemctl reload nginx

Tips Troubleshooting Lapangan

Dalam memelihara server produksi, disarankan untuk tidak menggunakan level debug secara terus-menerus karena dapat memenuhi ruang penyimpanan (disk space) dalam waktu singkat dan menurunkan performa I/O diska. Gunakan level default error untuk operasional sehari-hari. Jika Anda sedang melakukan investigasi bug atau analisis koneksi proxy, aktifkan level debug hanya pada blok server atau lokasi (location) tertentu dalam kurun waktu yang singkat.