Syslog adalah protokol standar IETF RFC 5424 untuk pencatatan (logging) dan pengumpulan log komputer yang populer di sistem berbasis Unix, termasuk server, perangkat jaringan, dan perangkat IoT. Pesan log yang dihasilkan oleh perangkat mencatat berbagai peristiwa yang terjadi pada sistem operasi atau aplikasi. Tujuan utama dari pesan log ini adalah memberikan informasi kepada administrator tentang peristiwa penting, status kesehatan sistem, serta kejadian normal atau abnormal yang dapat berguna untuk pemecahan masalah atau investigasi keamanan.
Bagaimana cara kerja syslog?
Ketika perangkat yang bersangkutan menjalankan daemon syslog, pesan-pesan log akan dihasilkan berdasarkan parameter yang telah ditentukan oleh pengembang aplikasi. Ada beberapa cara untuk melihat pesan-pesan ini. Cara pertama adalah dengan memantau pesan secara langsung di konsol perangkat yang menghasilkan log. Cara kedua adalah dengan melihat file log lokal yang berisi informasi log historis.
Meskipun file log lokal memungkinkan akses cepat ke pesan log terdahulu, perlu diketahui bahwa banyak sistem memiliki batasan jumlah log yang dapat disimpan. Ketika batas tersebut tercapai, log lama akan ditimpa dengan log terbaru. Akibatnya, file log lokal hanya menyimpan log terbaru saja.
Namun, sering kali administrator memerlukan log dari periode yang lebih lama. Oleh karena itu, metode ketiga yang umum digunakan adalah mengirim semua log melalui jaringan ke server pusat untuk pengumpulan log.
Penyampaian pesan syslog biasanya dilakukan melalui UDP port 514 atau TCP port 6514. Metode TCP memiliki keunggulan tambahan karena mendukung protokol Transport Layer Security (TLS) untuk menjaga privasi pesan log. Setelah dikumpulkan, administrator dapat menggunakan penampil syslog untuk melihat, mengurutkan, dan bahkan membuat peringatan berdasarkan pesan log yang masuk.
Komponen pesan syslog
Setiap log event berisi timestamp bersama dengan pesan log itu sendiri serta alamat IP atau nama domain asal untuk keperluan identifikasi. Peristiwa log ini kemudian dikategorikan ke dalam salah satu dari delapan tingkat keparahan (severity level). Tingkatan ini ditentukan berdasarkan tingkat kepentingan suatu peristiwa menurut pengembang sistem operasi atau aplikasi yang digunakan. Setiap kategori memiliki nilai numerik dan nama tingkat keparahan. Semakin rendah nilainya, semakin kritis peristiwanya. Skala ini berkisar dari 0 hingga 7, dimulai dari emergency hingga debug. Berikut urutan tingkat keparahan dari yang paling kritis hingga yang paling ringan:
- 0 – Emergency: Sistem tidak dapat digunakan
- 1 – Alert: Masalah yang harus segera ditangani
- 2 – Critical: Kesalahan serius yang perlu diperbaiki
- 3 – Error: Kesalahan yang tidak kritis tetapi perlu diperhatikan
- 4 – Warning: Peringatan yang mungkin memerlukan tindakan
- 5 – Notice: Informasi penting namun bukan kesalahan
- 6 – Informational: Informasi sistem biasa
- 7 – Debug: Pesan untuk keperluan debugging
Selain tingkat keparahan, setiap log event juga memiliki kode fasilitas yang menentukan dari bagian mana dalam aplikasi pesan tersebut berasal. Seperti tingkat keparahan, kode fasilitas juga didefinisikan menggunakan nilai numerik dan nama tertentu. Kode fasilitas ini mencakup 24 kategori yang berbeda untuk membantu administrator memahami sumber peristiwa log dengan lebih mudah.