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!

Unix / Linux - System Logging

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:

  1. Memperbaiki masalah
  2. Memantau kesihatan sistem
  3. Mendeteksi pencerobohan keselamatan
  4. 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
mail 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:

  1. File logging: Logs ditulis ke fail Contoh: mail.* /var/log/mail

  2. Named pipes: Logs dihantar ke named pipe Contoh: mail.* |/usr/bin/mypipe

  3. Console/terminal: Logs dipaparkan di konsol Contoh: *.emerg *

  4. 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:

  1. Menamakan semula fail log sekarang
  2. Membuat fail log kosong baru
  3. Mengompres fail log lama
  4. 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