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
).