Unix / Linux - Pencatatan Sistem
Dalam bab ini, kita akan membahas secara rinci tentang logging sistem di Unix.
Sistem Unix memiliki sistem pencatatan yang sangat fleksibel dan kuat, yang memungkinkan Anda merekam hampir semua hal yang dapat Anda bayangkan dan kemudian memanipulasi log untuk mengambil informasi yang Anda perlukan.
Banyak versi Unix menyediakan fasilitas pencatatan untuk keperluan umum yang disebut syslog. Program individu yang membutuhkan informasi yang dicatat, mengirim informasi ke syslog.
Unix syslog adalah fasilitas logging sistem seragam yang dapat dikonfigurasi host. Sistem menggunakan proses pencatatan sistem terpusat yang menjalankan program/etc/syslogd atau /etc/syslog.
Pengoperasian logger sistem cukup mudah. Program mengirim entri log mereka ke syslogd , yang mencari file konfigurasi/etc/syslogd.conf atau /etc/syslog dan, ketika kecocokan ditemukan, tulis pesan log ke file log yang diinginkan.
Ada empat istilah syslog dasar yang harus Anda pahami -
Sr.No. | Istilah & Deskripsi |
---|---|
1 | Facility Pengenal yang digunakan untuk mendeskripsikan aplikasi atau proses yang mengirimkan pesan log. Misalnya, mail, kernel, dan ftp. |
2 | Priority Indikator pentingnya pesan. Level didefinisikan dalam syslog sebagai pedoman, dari informasi debug hingga kejadian kritis. |
3 | Selector Kombinasi dari satu atau lebih fasilitas dan level. Ketika acara masuk cocok dengan selektor, tindakan dilakukan. |
4 | Action Apa yang terjadi pada pesan masuk yang cocok dengan pemilih - Tindakan dapat menulis pesan ke file log, menggemakan pesan ke konsol atau perangkat lain, menulis pesan ke pengguna yang masuk, atau mengirim pesan bersama ke server syslog lain. |
Fasilitas Syslog
Sekarang kita akan mengerti tentang fasilitas syslog. Berikut fasilitas yang tersedia untuk selector. Tidak semua fasilitas ada di semua versi Unix.
Fasilitas | Deskripsi |
---|---|
1 | auth Aktivitas terkait dengan meminta nama dan kata sandi (getty, su, login) |
2 | authpriv Sama seperti auth tetapi masuk ke file yang hanya bisa dibaca oleh pengguna yang dipilih |
3 | console Digunakan untuk menangkap pesan yang umumnya diarahkan ke konsol sistem |
4 | cron Pesan dari penjadwal sistem cron |
5 | daemon Daemon sistem penampung-semua |
6 | ftp Pesan-pesan yang berhubungan dengan daemon ftp |
7 | kern Pesan kernel |
8 | local0.local7 Fasilitas lokal ditentukan per situs |
9 | lpr Pesan dari sistem pencetakan garis |
10 | Pesan yang berkaitan dengan sistem email |
11 | mark Pseudo-event digunakan untuk menghasilkan cap waktu di file log |
12 | news Pesan yang berkaitan dengan protokol berita jaringan (nntp) |
13 | ntp Pesan yang berkaitan dengan protokol waktu jaringan |
14 | user Proses pengguna biasa |
15 | uucp Subsistem UUCP |
Prioritas Syslog
Prioritas syslog dirangkum dalam tabel berikut -
Sr.No. | Prioritas & Deskripsi |
---|---|
1 | emerg Kondisi darurat, seperti sistem akan segera crash, biasanya disiarkan ke semua pengguna |
2 | alert Kondisi yang harus segera diperbaiki, seperti database sistem yang rusak |
3 | crit Kondisi kritis, seperti kesalahan perangkat keras |
4 | err Kesalahan biasa |
5 | Warning Peringatan |
6 | notice Kondisi itu bukan kesalahan, tetapi mungkin harus ditangani dengan cara khusus |
7 | info Pesan informasional |
8 | debug Pesan yang digunakan saat men-debug program |
9 | none Tingkat semu digunakan untuk menentukan untuk tidak mencatat pesan |
Kombinasi fasilitas dan level memungkinkan Anda untuk memahami tentang apa yang dicatat dan ke mana informasi itu pergi.
Karena setiap program mengirimkan pesannya dengan patuh ke logger sistem, logger membuat keputusan tentang apa yang harus dilacak dan apa yang harus dibuang berdasarkan level yang ditentukan di pemilih.
Saat Anda menentukan level, sistem akan melacak semua yang ada di level itu dan yang lebih tinggi.
File /etc/syslog.conf
Itu /etc/syslog.confkontrol file tempat pesan dicatat. Sebuah tipikalsyslog.conf File mungkin terlihat seperti ini -
*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice /var/log/messages
lpr.info /var/log/lpr.log
mail.* /var/log/mail.log
ftp.* /var/log/ftp.log
auth.* @prep.ai.mit.edu
auth.* root,amrood
netinfo.err /var/log/netinfo.log
install.* /var/log/install.log
*.emerg *
*.alert |program_name
mark.* /dev/console
Setiap baris file berisi dua bagian -
SEBUAH message selectoryang menentukan jenis pesan yang akan dicatat. Misalnya, semua pesan kesalahan atau semua pesan debugging dari kernel.
Sebuah action fieldyang mengatakan apa yang harus dilakukan dengan pesan tersebut. Misalnya, masukkan ke dalam file atau kirim pesan ke terminal pengguna.
Berikut adalah poin penting untuk konfigurasi di atas -
Pemilih pesan memiliki dua bagian: a facility dan a priority. Misalnya, kern.debug memilih semua pesan debug (prioritas) yang dibuat oleh kernel (fasilitas).
Pemilih pesan kern.debug memilih semua prioritas yang lebih besar dari debug.
Tanda bintang di tempat fasilitas atau prioritas menunjukkan "semua". Sebagai contoh,*.debug berarti semua pesan debug, sementara kern.* berarti semua pesan yang dibuat oleh kernel.
Anda juga dapat menggunakan koma untuk menentukan beberapa fasilitas. Dua atau lebih penyeleksi dapat dikelompokkan bersama menggunakan titik koma.
Tindakan Logging
Bidang tindakan menentukan satu dari lima tindakan -
Log pesan ke file atau perangkat. Sebagai contoh,/var/log/lpr.log atau /dev/console.
Kirim pesan ke pengguna. Anda dapat menentukan beberapa nama pengguna dengan memisahkannya dengan koma; misalnya, root, amrood.
Kirim pesan ke semua pengguna. Dalam kasus ini, bidang tindakan terdiri dari tanda bintang; sebagai contoh, *.
Menyalurkan pesan ke program. Dalam kasus ini, program ditentukan setelah simbol pipa Unix (|).
Kirim pesan ke syslog di host lain. Dalam kasus ini, bidang tindakan terdiri dari nama host, diawali dengan tanda at; misalnya, @ tutorialspoint.com.
Perintah logger
Unix menyediakan loggerperintah, yang merupakan perintah yang sangat berguna untuk menangani logging sistem. Itulogger perintah mengirim pesan logging ke daemon syslogd, dan akibatnya memicu logging sistem.
Ini berarti kita dapat memeriksa dari baris perintah kapan saja syslogddaemon dan konfigurasinya. Perintah logger menyediakan metode untuk menambahkan entri satu baris ke file log sistem dari baris perintah.
Format perintahnya adalah -
logger [-i] [-f file] [-p priority] [-t tag] [message]...
Berikut detail parameternya -
Sr.No. | Opsi & Deskripsi |
---|---|
1 | -f filename Menggunakan konten nama file sebagai pesan untuk log. |
2 | -i Log ID proses dari proses logger dengan setiap baris. |
3 | -p priority Memasukkan pesan dengan prioritas yang ditentukan (entri pemilih yang ditentukan); prioritas pesan dapat ditentukan secara numerik, atau sebagai pasangan fasilitas.prioritas. Prioritas default adalah user.notice. |
4 | -t tag Menandai setiap baris ditambahkan ke log dengan tag tertentu. |
5 | message Argumen string yang isinya digabungkan dalam urutan yang ditentukan, dipisahkan oleh spasi. |
Anda dapat menggunakan Bantuan Manpage untuk memeriksa sintaks lengkap untuk perintah ini.
Rotasi Log
File log memiliki kecenderungan untuk tumbuh sangat cepat dan menghabiskan banyak ruang disk. Untuk mengaktifkan rotasi log, sebagian besar distribusi menggunakan alat sepertinewsyslog atau logrotate.
Alat-alat ini harus dipanggil pada interval waktu yang sering menggunakan cron daemon. Periksa halaman manual untuk newsyslog atau logrotate untuk lebih jelasnya.
Lokasi Log Penting
Semua aplikasi sistem membuat file log mereka di /var/logdan subdirektorinya. Berikut adalah beberapa aplikasi penting dan direktori log yang sesuai -
Aplikasi | Direktori |
---|---|
httpd | / var / log / httpd |
samba | / var / log / samba |
cron | / var / log / |
surat | / var / log / |
mysql.dll | / var / log / |