Konfigurasi Logging Nginx di CentOS VPS

Logging informasi pada server akan membantu Anda memecahkan masalah dan menilai situasi yang muncul. Pada artikel ini, kita akan membahas tentang konfigurasi logging Nginx di VPS dengan operasi sistem Linux CentOS, misalnya cara disable error_log dan access_log. Cara ini juga bisa anda terapkan jika anda menggunakan Nginx pada distribusi Linux yang lain dengan cara yang sama.

Sebelum kita mulai hendaknya kita tahu dimana file konfigurasi nginx. File konfigurasi Nginx bisa anda jumpai di:

/etc/nginx/nginx.conf

atau di

/etc/nginx/conf.d/default.conf

atau jika anda sebelumnya melakukan setting nginx server block, file konfig berada di tiap file *.conf di:

/etc/nginx/default.d/*.conf

atau jika anda sebelumnya melakukan setting nginx server block, file konfig berada di tiap file *.conf di:

/etc/nginx/sites-available/*.conf

Anda bisa membuka file tersebut dengan teks editor nano dan melihat baris-baris untuk konfigurasi logging Nginx server.

nano /etc/nginx/nginx.conf

Error_log Directive

Nginx menggunakan beberapa arahan yang berbeda untuk mengontrol sistem logging, yang termasuk dalam modul inti disebut error_log.

Sintak Error_log

Di Apache ini dikenal dengan ErrorLog directive, “error_log” direktif digunakan untuk menghandle pesan kesalahan umum di server.  Contoh sintak error log direktif sebagai berikut:

error_log /var/log/nginx/error.log crit;

error_log adalah nama file yang akan digunakan untuk merekam aktivitas logging di server.
crit adalah level logging yang ingin direkam dala file error.log.

Level Logging

Pada error_log direktif dapat dikonfigurasi sesuai dengan kebutuhan dengan tingkat/level log seperti berikut ini:

emerg : Situasi darurat di mana sistem ini dalam keadaan tidak dapat digunakan.
alert : Situasi berat di mana tindakan yang diperlukan segera.
crit : Masalah penting yang perlu diatasi.
error : Sebuah kesalahan telah terjadi, sesuatu tidak berhasil/gagal diproses.
warn : Sesuatu yang luar biasa terjadi, tapi tidak perlu perhatian yang sangat serius.
notice :Sesuatu yang normal, namun perlu dicatat telah terjadi.
Info : Sebuah pesan informasi yang mungkin bagus untuk tahu.
debug : Informasi debugging yang dapat berguna untuk menentukan di mana masalah terjadi.

List level diatas telah diurutkan sesuai level dengan prioritas tertinggi.

Dengan mengkonfigurasikan error_log dan memberi level spesifik, maka informasi yang direkam hanya yang sesuai dengan level itu saja, misalnya:

error_log /var/log/nginx/error.log crit;

Maka yang terekam dalam file error.log hanya informasi critical atau masalah kritis pada server dan harus segera diatasi. Kebalikannya jika anda tidak mengkonfigurasikan error_log dengan level spesifik maka semua informasi pesan general error di server akan direkam.

Cara Disable error_log Nginx

Ukuran file error_log semakin lama akan akan semakin besar dan ini tidak baik karena akan memberi beban disk space. Ini adalah solusi cara untuk disable error_log Nginx secara permanen yaitu dengan konfig seperti berikut:

error_log  /dev/null;

Ini tidak disarankan, sebaiknya jangan didisable tapi diberi level seperti contoh diatas, agar kita tahu jika terjadi kesalahan-kesalahan pada server kita. Namun Anda bisa menghapus file error.log secara berkala atau mendownloadnya terlebih dahulu untuk sekedar arsip sebelum dihapus

Sementara error_log adalah modul inti, berikutnya adalah HttpLogModule Logging Directive.

HttpLogModule Logging Directive

access_log direktif adalah bagian dari HttpLogModule, semua informasi aktivitas  user diwebsite akan terekam disini, misalnya: User-A melihat halaman kontak anda dengan url: http://idnetter.com/kontak aktivitas ini akan dicatat oleh access_log, bersamaan dengan itu, jika ada link di halaman kontak tersebut tidak valid maka juga akan terekam di access_log, misalnya: link CSS, image dan JS.

Masalahnya jika saja ada 1000 user sedang mengunjungi halaman kontak tersebut maka tidak diragukan file size access_log akan cepat membengkak. Solusinya adalah dengan melakukan rotasi file log – Log Rotation baik secara manual maupun otomatis yang akan kita bahas selanjutnya.

Banyak pengembang website tidak membutuhkan access_log, untuk itu anda bisa langsung mendisable access_log dengan konfigurasi seperti dibawah ini.

Cara Disable access_log Nginx

Jika anda tidak ingin system mencatat access log, Berikut cara disable access_log:

access_log off;

Atau dengan cara yang sama seperti modul inti pada error_log, access_log output akan dikirim ke /dev/null, dengan cara ini maka access log akan didisable permanen.

access_log /dev/null;

Selamat mencoba.

 

Referensi: Digital Ocean

 

Add a comment