Logging #

Log adalah mata dan telinga kita di server. Tanpa sistem logging yang dikonfigurasi dengan baik, aktivitas debugging dan pemecahan masalah (troubleshooting) pada lingkungan produksi akan terasa sangat sulit, layaknya mencari jarum di tumpukan jerami.

Nginx menghasilkan dua jenis log utama secara bawaan:

  1. Access Log: Mencatat setiap permintaan (request) HTTP yang masuk dan diproses oleh server.
  2. Error Log: Mencatat masalah, kegagalan, dan peringatan operasional dari internal server.

Di seksi ini, kita akan mempelajari cara mengonfigurasi kedua jenis log tersebut, merancang format log kustom (seperti format JSON untuk integrasi log aggregator modern), mengimplementasikan distributed tracing dengan request ID, serta mengelola file log menggunakan utilitas rotasi log agar tidak memenuhi ruang penyimpanan disk kita.

Peta Belajar Logging Nginx #

Berikut adalah alur pembelajaran yang akan kita lalui untuk menguasai sistem logging Nginx:

flowchart TD
    Start("Mulai Belajar Logging") --> AccessLog["01. Access Log<br/>(Pencatatan Request & Buffer)"]
    Start --> ErrorLog["02. Error Log<br/>(Pencatatan Kegagalan & Severity)"]
    AccessLog --> CustomFormat["03. Format Log Kustom<br/>(Performa, JSON & Request ID)"]
    ErrorLog --> CustomFormat
    CustomFormat --> LogRotation["04. Rotasi Log<br/>(Logrotate, USR1 & Disk Space)"]
    LogRotation --> End("Siap Implementasi Produksi")

    classDef default fill:#f9f9f9,stroke:#d1d5db,stroke-width:1px,color:#111827;
    classDef nodeStyle fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1e3a8a;
    class AccessLog,ErrorLog,CustomFormat,LogRotation nodeStyle;

Daftar Artikel Logging #

Untuk mempermudah navigasi, berikut adalah tabel ikhtisar materi yang dibahas di seksi ini:

ArtikelDeskripsi UtamaTopik Penting
Access LogMemahami pencatatan aktivitas HTTP request masuk.Direktif access_log, format combined default, penonaktifan log untuk aset statis/healthcheck, dan buffering log.
Error LogMemahami pencatatan masalah dan kegagalan internal.Direktif error_log, 8 tingkatan severity, pembedahan anatomi log error, troubleshooting kode error umum, dan fitur debug connection per-IP.
Format Log KustomMerancang struktur log di luar format standar.Direktif log_format, visualisasi performa upstream, format JSON (escape=json), request ID tracing, dan pencatatan header aplikasi.
Rotasi LogMengelola penyimpanan log jangka panjang secara otomatis.Pembebasan file descriptor, signal USR1 (nginx -s reopen), konfigurasi /etc/logrotate.d/nginx, opsi delaycompress, dan pengujian manual.
About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact