Product SiteDocumentation Site

9.5. syslog Kejadian Sistem

9.5.1. Prinsip dan Mekanisme

Starting with Debian Bookworm, the rsyslog package is no longer installed by default, which in the past provided the default logging functionality. Instead, the log is provided by systemd's journal, which can be accessed by the journalctl(5) command.
There are situations, where it is necessary or desired to install rsyslog, though, e.g. to send all log messages to a central server. After installation, the rsyslogd daemon is responsible for collecting service messages coming from applications and the kernel, then dispatching them into log files (usually stored in the /var/log/ directory). It obeys the /etc/rsyslog.conf configuration file.
Setiap pesan log terkait dengan suatu subsistem aplikasi (disebut 'fasilitas' dalam dokumentasi):
  • auth dan authpriv: untuk otentikasi;
  • cron: berasal dari layanan penjadwalan tugas, cron dan atd;
  • daemon: mempengaruhi daemon tanpa klasifikasi khusus apapun (DNS, NTP, dll);
  • ftp: menyangkut server FTP;
  • kern: pesan yang datang dari kernel;
  • lpr: berasal dari subsistem pencetakan;
  • mail: berasal dari subsistem surel;
  • news: pesan subsistem Usenet (terutama dari NNTP — Network News Transfer Protocol — server yang mengelola newsgroup);
  • syslog: pesan-pesan dari server syslogd itu sendiri;
  • user: pesan-pesan pengguna (generik);
  • uucp: pesan dari server UUCP (Unix to Unix Copy Program, protokol tua yang terutama digunakan untuk mendistribusikan pesan surel);
  • local0 sampai local7: disediakan untuk penggunaan lokal.
Setiap pesan ini juga dikaitkan dengan tingkat prioritas. Berikut adalah daftar yang terurut turun:
  • emerg: "Tolong!" Ada keadaan darurat, sistem ini mungkin tidak dapat digunakan.
  • alert: buru-buru, penundaan bisa berbahaya, tindakan harus diambil segera;
  • crit: kondisi kritis;
  • err: kesalahan;
  • warn: peringatan (potensi kesalahan);
  • notice: kondisi normal, tapi pesan tersebut penting;
  • info: pesan informatif;
  • debug: pesan pengawakutuan (debug).

9.5.2. Berkas Konfigurasi

Sintaks berkas /etc/rsyslog.conf dirinci dalam halaman manual rsyslog.conf(5), tetapi ada juga dokumentasi HTML yang tersedia di paket rsyslog-doc (/usr/share/doc/rsyslog-doc/html/index.html). Prinsip keseluruhan adalah untuk menulis pasangan "pemilih" dan "tindakan". Pemilih mendefinisikan semua pesan yang relevan, dan tindakan yang menjelaskan bagaimana menangani mereka.

9.5.2.1. Sintaks dari Pemilih

Pemilih adalah sebuah daftar pasangan yang dipisah titik koma subsistem.prioritas (contoh: auth.notice;mail.info). Bintang dapat mewakili semua subsistem atau semua prioritas (contoh: *.alert atau mail.*). Beberapa subsistem dapat dikelompokkan, dengan memisahkan mereka dengan tanda koma (contoh: auth,mail.info). Prioritas yang ditunjukkan juga mencakup pesan prioritas yang sama atau lebih tinggi; dengan demikian auth.alert menunjukkan subsistem pesan auth dengan prioritas alert atau emerg. Diawali dengan tanda seru (!), ini menunjukkan sebaliknya, dengan kata lain hanya prioritas yang lebih rendah; auth.!notice, dengan demikian, menunjukkan pesan yang dikeluarkan dari auth, dengan prioritas info atau debug. Diawali dengan tanda sama dengan (=), sesuai dengan hanya prioritas ditunjukkan (oauth.=notice pesan dari auth ini hanya berkenaan dengan prioritas notice).
Setiap elemen dalam daftar pada pemilih menimpa unsur-unsur sebelumnya. Dengan demikian dimungkinkan untuk membatasi satu set atau untuk mengecualikan unsur-unsur tertentu dari itu. Sebagai contoh, kern.info;kern.!err berarti pesan dari kernel dengan prioritas antara info dan warn. Prioritas none menunjukkan kumpulan kosong (tidak ada prioritas), dan dapat dipakai untuk mengecualikan subsistem dari serangkaian pesan. Dengan demikian, *. crit;kern.none menunjukkan semua pesan prioritas yang sama dengan atau lebih tinggi dari crit yang bukan berasal dari kernel.

9.5.2.2. Sintaks Tindakan

Berbagai tindakan yang mungkin adalah:
  • menambahkan pesan ke berkas (contoh: /var/log/messages);
  • mengirim pesan ke server syslog remote (contoh: @log.falcot.com);
  • mengirim pesan ke pipa bernama yang ada (contoh: |/dev/xconsole);
  • mengirim pesan ke satu atau lebih pengguna, jika mereka login (contoh: root, rhertzog);
  • mengirim pesan ke semua pengguna yang login (contoh: *);
  • menulis pesan dalam konsol teks (contoh: /dev/tty8).