Unix / Linux - System Logging
Hai there, bakal bakal ahli Unix/Linux! Hari ini, kita akan melihat dunia yang menarik tentang sistem logging. Jangan khawatir jika anda baru dalam bidang ini - saya akan menjadi pandu anda dalam perjalanan ini, seperti yang saya lakukan untuk banyak murid sepanjang tahun. Mari kita mulakan!
Apa Itu System Logging?
Sebelum kita masuk ke dalam hal-hal teknis, mari kita faham apa itu system logging. Bayangkan anda adalah seorang detektif yang cuba membongkar suatu misteri dalam komputer anda. Log sistem adalah seperti buku catatan andalan anda, merekodkan segala yang berlaku dalam sistem anda. Menarik, kan?
Mengapa Ia Penting?
System logging penting untuk:
- Memperbaiki masalah
- Memantau kesihatan sistem
- Mendeteksi pencerobohan keselamatan
- Mematuhi peraturan
Sekarang kita tahu mengapa ia penting, mari kita jelajah komponen-komponen system logging.
Syslog Facilities
Syslog facilities adalah seperti departemen yang berbeza di syarikat besar. Setiap departemen mengendalikan jenis maklumat yang khusus. Berikut adalah jadual bagi beberapa facility syslog biasa:
Facility | Description |
---|---|
auth | Acara pengesahan dan keselamatan |
cron | Daemon Cron (tugasan yang dijadualkan) |
daemon | Berbagai-bagai daemon sistem |
kern | Pesanan kernel |
Sistem mel | |
user | Pesanan aras pengguna |
Sebagai contoh, jika anda melihat entri log dengan "mail" sebagai facility, anda tahu ia berkaitan dengan sistem mel anda. Sangat berguna, kan?
Syslog Priorities
Buat log bukan semua dicipta sama. Beberapa log lebih penting daripada yang lain. Itulah di mana prioriti syslog memainkan peranan. Bayangkan mereka sebagai tahap kecemasan di hospital.
Berikut adalah jadual prioriti syslog, dari yang paling teruk ke yang paling kurang teruk:
Priority | Keyword | Description |
---|---|---|
0 | emerg | Sistem tak dapat digunakan |
1 | alert | Tindakan mestilah diambil segera |
2 | crit | Kondisi kritis |
3 | err | Kondisi kesilapan |
4 | warning | Kondisi amaran |
5 | notice | Kondisi biasa tetapi penting |
6 | info | Pesanan maklumat |
7 | debug | Pesanan aras debug |
Sebagai contoh, jika sistem anda menghadapi "crit" (kritis) peristiwa, ia masa untuk memakai jubah superhero anda dan menyelamatkan hari!
Fail /etc/syslog.conf
Sekarang, mari kita bicarakan otak di belakang system logging: fail /etc/syslog.conf. Fail ini adalah seperti pengarah drama, memberitahu setiap pelakon (log) di mana untuk pergi dan apa yang harus dilakukan.
Berikut adalah contoh yang mungkin anda temui dalam fail ini:
mail.* /var/log/mail
*.err /var/log/errors
kern.* /var/log/kernel
mari kitauraikan ini:
-
mail.*
bermaksud "semua log facility mel" -
*.err
bermaksud "semua log kesilapan daripada mana-mana facility" -
kern.*
bermaksud "semua log facility kernel"
Bahagian selepas ruang memberitahu di mana log ini sepatutnya disimpan. Menarik, kan?
Logging Actions
Tindakan logging menentukan apa yang terjadi kepada log. Berikut adalah beberapa tindakan biasa:
-
File logging: Logs ditulis ke fail Contoh:
mail.* /var/log/mail
-
Named pipes: Logs dihantar ke named pipe Contoh:
mail.* |/usr/bin/mypipe
-
Console/terminal: Logs dipaparkan di konsol Contoh:
*.emerg *
-
Remote machine: Logs dihantar ke mesin lain Contoh:
*.* @192.168.1.100
Perintah logger
Perintah logger
adalah seperti pengguna pribadi anda untuk sistem syslog. Anda boleh menggunainya untuk membuat entri log sendiri. mari kita lihat bagaimana:
logger "Hello, syslog!"
Ini akan membuat entri log dengan mesej "Hello, syslog!". Anda boleh memeriksa itu di /var/log/messages atau di mana-mana sistem anda menyimpan log pengguna.
Anda juga boleh menentukan prioriti:
logger -p user.err "Oops, sesuatu salah!"
Ini membuat log aras kesilapan dalam facility pengguna.
Log Rotation
Bayangkan jika kami tidak pernah membersihkan lemari pakaian kami - mereka akan menjadi sangat penuh, kan? Hal yang sama berlaku untuk fail log. Itulah di mana log rotation memainkan peranan. Ia seperti pembersihan musim bunga untuk log anda.
Log rotation biasanya:
- Menamakan semula fail log sekarang
- Membuat fail log kosong baru
- Mengompres fail log lama
- Menghapus fail log yang sangat lama
Berikut adalah contoh konfigurasi log rotation (/etc/logrotate.d/myapp):
/var/log/myapp.log {
mingguan
putar 4
kompres
missingok
notifempty
}
Konfigurasi ini:
- Memutar log mingguan
- Menyimpan 4 versi lama
- Mengompres log lama
- Tidak mengeluh jika log hilang
- Tidak memutar log kosong
Lokasi Log Penting
Akhirnya, mari kita lihat di mana anda boleh menemui beberapa log yang penting. Ia seperti peta harta karun untuk maklumat sistem!
Fail Log | Description |
---|---|
/var/log/messages | Pesanan sistem umum |
/var/log/auth.log | Log pengesahan |
/var/log/kern.log | Log kernel |
/var/log/cron.log | Log tugasan cron |
/var/log/maillog | Log pelayan mel |
/var/log/apache2/error.log | Log kesilapan Apache |
/var/log/mysql/error.log | Log kesilapan MySQL |
Ingat, lokasi ini mungkin berbeza bergantung kepada distribusi Linux anda.
Danitu, rakan-rakan! Anda baru saja menyelesaikan perjalanan kilat ke dunia system logging Unix/Linux. Dari memahami apa itu logging dan mengapa ia penting, ke menjelajah komponen-komponen seperti facility, prioriti, dan log rotation, anda sekarang dilengkapi dengan pengetahuan untuk memulakan pengembaraan system logging anda.
Ingat, cara terbaik untuk belajar adalah dengan melakukan. Jadi jangan takut untuk mengesan log sistem anda, mencuba perintah logger
, dan mungkin bahkan menetapkan rules logging tersendiri. Semoga anda senang logging, dan sistem anda sentiasa berjalan lancar!
Credits: Image by storyset