Daemon log sistem bertanggung jawab untuk mencatat pesan sistem yang dihasilkan oleh aplikasi atau kernel. Daemon log sistem juga mendukung pencatatan jarak jauh. Pesan dibedakan berdasarkan fasilitas dan prioritas. Pada prinsipnya, log yang ditangani oleh syslog tersedia di direktori /var/log/ pada sistem Linux :
# ls /var/log acpid cron.1 maillog.3 rpmpkgs.3 spooler.3 anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4 anaconda.syslog cron.3 messages sa squid anaconda.xlog cron.4 messages.1 samba tallylog audit cups messages.2 scrollkeeper.log vbox boot.log dmesg messages.3 secure wtmp boot.log.1 faillog messages.4 secure.1 Xorg.0.log boot.log.2 gdm oracle-validated secure.2 Xorg.0.log.old boot.log.3 httpd pm secure.3 YaST2 boot.log.4 lastlog ppp secure.4 yum.log btmp mail prelink setroubleshoot conman maillog rpmpkgs spooler conman.old maillog.1 rpmpkgs.1 spooler.1 cron maillog.2 rpmpkgs.2 spooler.2
di mana beberapa log dibuang di bawah subdirektori seperti cups, samba, httpd. Di antara log di bawah /var/log /var/log/messages adalah yang paling umum karena log sistem kernel / inti disimpan di sana. Modul kernel umumnya juga dibuang di sana. Jadi, untuk diagnosis masalah / pemantauan /var/log/messages adalah file log utama untuk diperiksa.
Daemon/layanan log sistem dan file konfigurasinya berbeda tergantung pada versi Linux yang digunakan yaitu:
RHEL 5: syslogd - /etc/syslog.conf RHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog adalah daemon logging baru yang memulai RHEL6 untuk bersaing dengan daemon syslog-ng lama. Beberapa manfaat yang diberikan daemon rsyslog dibandingkan syslog-ng adalah :
1. Jaringan yang Andal
– Rsyslog menggunakan TCP bukan UDP yang lebih dapat diandalkan. TCP menggunakan kemampuan pengakuan dan transmisi ulang.
– dengan daemon Rsyslog Anda dapat menentukan beberapa host/file tujuan untuk pengiriman pesan jika rsyslogd tidak dapat mengirimkan pesan ke tujuan tertentu.
2. Presisi
– dimungkinkan untuk memfilter pesan pada bagian mana pun dari pesan log daripada prioritas pesan dan fasilitas asli.
– mendukung cap waktu yang tepat untuk mencatat pesan yang daemon syslog.
3. Fitur lainnya
– Enkripsi TLS
– kemampuan untuk masuk ke database SQL.
rsyslog.conf
File konfigurasi – /etc/rsyslog.conf untuk rsyslogd daemon digunakan untuk menangani semua pesan. File konfigurasi pada dasarnya menyediakan pernyataan aturan yang pada gilirannya menyediakan 2 hal :
1. Pemilih– pesan apa yang akan dicocokkan.
– pemilih terdiri dari fasilitas dan prioritas yang dipisahkan oleh titik (.)(mis. mail.info)
2. tindakan
– apa yang harus dilakukan dengan pesan yang cocok
– biasanya tujuan untuk mencatat pesan (file di mesin lokal atau host jarak jauh)
Pemilih dan tindakan
Selector terdiri dari 2 hal yaitu fasilitas dan prioritas. Mereka menentukan pesan mana yang cocok. Bidang tindakan menentukan tindakan apa yang akan diterapkan ke pesan yang cocok. Contoh :
kern.debug /var/log/kernlog
– Pesan dengan fasilitas kernel dan prioritas debug dicatat ke dalam file /var/log/kernlog.
– Pernyataan prioritas bersifat hierarkis dalam pemilih. Rsyslog cocok dengan semua pesan dengan prioritas tertentu dan lebih tinggi. Jadi semua pesan dari kernel dengan prioritas debug dan lebih tinggi dicatat. Debug menjadi prioritas terendah semua pesan dengan fasilitas kern dicocokkan.
– Cara lain untuk melakukannya adalah dengan menggunakan tanda bintang (*). Misalnya :
kern.* /var/log/kernlog
– beberapa selektor dapat ditentukan pada satu baris yang dipisahkan oleh titik koma. Ini berguna ketika tindakan yang sama perlu diterapkan ke beberapa pesan.
– ketika file terdaftar di bidang tindakan, pesan yang cocok ditulis ke dalam file.
– Mungkin ada perangkat lain seperti FIFO , terminal dll untuk menulis pesan.
– Jika nama pengguna terdaftar di bidang tindakan, pesan yang cocok akan dicetak ke pengguna semua terminal jika mereka masuk.
– (*) di bidang tindakan menentukan
Fasilitas
Fasilitas digunakan untuk menentukan jenis program atau aplikasi yang menghasilkan pesan. Sehingga memungkinkan daemon syslog untuk menangani sumber yang berbeda secara berbeda. Tabel di bawah ini mencantumkan fasilitas standar dan deskripsinya :
Fasilitas | Deskripsi |
---|---|
auth/authpriv | pesan keamanan/otorisasi (pribadi) |
cron | daemon jam (pesan crond dan atd) |
daemon | pesan dari daemon sistem tanpa fasilitas terpisah |
kern | pesan kernel |
lokal0 – lokal7 | dipesan untuk penggunaan lokal |
lpr | subsistem printer baris |
surat | pesan dari daemon email |
berita | Subsistem berita USENET |
syslog | pesan yang dibuat secara internal oleh daemon log sistem |
pengguna | pesan tingkat pengguna umum |
uucp | Subsistem UUCP |
Prioritas
Prioritas pesan menandakan pentingnya pesan itu. Tabel di bawah ini mencantumkan prioritas standar dan artinya :
Prioritas | Deskripsi |
---|---|
muncul | sistem tidak dapat digunakan |
peringatan | tindakan harus segera diambil |
kritik | kondisi kritis |
salah | kondisi kesalahan |
peringatan | kondisi peringatan |
pemberitahuan | normal tapi sangat penting |
info | pesan informasi |
debug | men-debug pesan |
Rotasi Log
File log tumbuh secara teratur dari waktu ke waktu dan karenanya perlu dipangkas secara teratur. Linux menyediakan utilitas untuk menyediakan fungsionalitas ini tanpa campur tangan pengguna. logrotate program dapat digunakan untuk mengotomatisasi rotasi file log. Konfigurasi dasar logrotate dilakukan di file konfigurasi /etc/logrotate.conf . Dalam file konfigurasi kita dapat mengatur opsi seperti – seberapa sering log harus diputar dan berapa banyak log lama yang harus disimpan.
# cat /etc/logrotate.conf weekly rotate 4 create include /etc/logrotate.d /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
Sesuai dengan file konfigurasi logrotate di atas, log dirotasi setiap minggu (mengganti nama log yang ada menjadi nama file.urutan nomor):
minsize 1M – logrotate menjalankan dan memangkas file pesan jika ukuran file sama dengan atau lebih besar dari 1 MB.
rotate 4 – simpan 4 file terbaru sambil berputar.
buat – buat file baru sambil memutar dengan izin dan kepemilikan yang ditentukan.
sertakan – sertakan file yang disebutkan di sini untuk pengaturan rotasi log khusus daemon.
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– Daemon logrotate terutama membaca semua konfigurasi dari file /etc/logrotate.conf dan kemudian menyertakan file konfigurasi khusus daemon dari /etc/logrotate.d/ direktori.
– Daemon logrotate bersama dengan rotasi dan penghapusan log lama, memungkinkan kompresi file log.
– Daemon berjalan setiap hari dari /etc/cron.daily/logrotate.
Logwatch
– Sistem RHEL juga dikirimkan dengan paket logwatch.
– Logwatch digunakan untuk menganalisis log untuk mengidentifikasi pesan yang menarik.
– Logwatch dapat dikonfigurasi untuk menganalisis file log dari layanan populer dan mengirimkan hasilnya kepada administrator email.
– Ini dapat dikonfigurasi setiap jam atau setiap malam untuk aktivitas mencurigakan apa pun. Secara default dalam sistem RHEL, ini dijalankan setiap malam dan laporan dikirimkan ke pengguna root.