Cara Baca Log Sistem Ubuntu: /var/log & journalctl Lengkap

🧾 Pengenalan: Apa Itu Sistem Log Dalam Ubuntu?

Kalau kau nak tahu apa yang berlaku dalam sistem Ubuntu kau – tak kira sama ada masalah sambungan, crash, atau proses boot – semua maklumat tu direkodkan dalam sistem log.

Sistem log ialah satu bentuk catatan automatik yang direkod oleh sistem operasi, service, dan perisian. Ia sangat penting untuk:

  • 🛠️ Troubleshooting – cari punca masalah
  • 🔍 Audit keselamatan – jejak aktiviti pengguna
  • 📈 Pemantauan prestasi – tahu bila proses berat berlaku
---

📂 Struktur & Kandungan Folder /var/log

Dalam Ubuntu, semua log tradisional disimpan dalam satu folder utama:

/var/log

📌 Semak isi folder log

ls /var/log

alternatives.log
auth.log
boot.log
dmesg
dpkg.log
kern.log
syslog
wtmp
apt/
journal/

Jom kita tengok log penting satu per satu:

---

🔐 auth.log – Log berkaitan keselamatan & login

sudo cat /var/log/auth.log

Jul 29 09:33:42 ubuntu sshd[1123]: Accepted password for kerol from 192.168.1.10 port 45572 ssh2
Jul 29 09:33:45 ubuntu sshd[1123]: pam_unix(sshd:session): session opened for user kerol by (uid=0)

Log ni tunjuk bila ada login SSH, login gagal, sudo digunakan dan lain-lain berkaitan keselamatan.

---

💾 dpkg.log – Sejarah pemasangan & buang perisian

cat /var/log/dpkg.log

2025-07-29 08:14:23 install nano:amd64  5.8-1.1build1
2025-07-29 08:15:02 remove gedit:amd64 40.1-1

Kalau kau tertanya-tanya bila kau install sesuatu, log ini bagi jawapan.

---

📦 apt/history.log – Log penggunaan APT

cat /var/log/apt/history.log

Start-Date: 2025-07-29  08:00:00
Commandline: apt install htop
Install: htop:amd64 (3.2.1-1)
End-Date: 2025-07-29  08:00:03

Sangat berguna untuk audit command apt atau troubleshoot package yang gagal.

---

⚙️ syslog – Log umum sistem & servis

Ini log paling penting kalau kau nak tahu error sistem atau warning dari pelbagai service.

sudo tail -n 20 /var/log/syslog

Jul 29 10:01:24 ubuntu NetworkManager[833]:   [1690627284.1234] device (wlp2s0): state change: ...
Jul 29 10:01:25 ubuntu systemd[1]: Starting Daily apt download activities...
---

🧠 dmesg – Log kernel & device semasa boot

dmesg | less

[    0.000000] Linux version 5.15.0-91-generic ...
[    1.234567] usb 1-1: new high-speed USB device number 2 using xhci_hcd

Sesuai untuk debug masalah hardware, seperti USB, disk, dan network card.

---

📅 wtmp / lastlog – Log login pengguna

last

kerol    pts/0        192.168.1.10     Tue Jul 29 09:33   still logged in
---

Itu semua log yang terdapat dalam /var/log. Sekarang kita tengok macam mana nak baca log-log ni dengan lebih efisien.

🔍 Cara Baca Log dengan Lebih Teratur

Log biasanya panjang berjela. Nak semak dengan mata kasar memang leceh. Tapi nasib baik Linux ada banyak command yang boleh bantu tapis dan scroll log dengan mudah.

---

📖 Guna less untuk Scroll Perlahan

less membolehkan kau scroll log atas bawah dengan kekunci. Contohnya:

sudo less /var/log/syslog

Kekunci penting:

  • Arrow Up / Down – scroll baris demi baris
  • Space – scroll 1 halaman ke bawah
  • q – keluar dari less
---

🧵 Guna tail untuk Baca Baris Terakhir

sudo tail /var/log/syslog

Jul 29 10:10:24 ubuntu systemd[1]: Starting Network Manager...
Jul 29 10:10:25 ubuntu systemd[1]: Finished Network Manager.

Kalau nak lebih banyak baris:

sudo tail -n 50 /var/log/syslog
---

📡 Pantau Log Secara Live Guna tail -f

Command ini akan tunjuk baris baru log secara langsung bila ia muncul. Sesuai masa troubleshooting.

sudo tail -f /var/log/auth.log

Setiap kali login berlaku, akan terus muncul kat situ.

---

🔍 Guna grep untuk Tapis Keyword

Kalau log panjang sangat, guna grep untuk cari keyword tertentu.

sudo grep error /var/log/syslog

Jul 29 10:02:00 ubuntu kernel: [    1.123456] Error loading module ...
Jul 29 10:03:21 ubuntu gdm3: GDM service failed to start

Contoh: nak cari log berkaitan SSH:

sudo grep sshd /var/log/auth.log
---

⏱️ Guna watch untuk Pantau Command Secara Auto

watch akan jalankan semula command setiap 2 saat dan tunjuk perubahan secara live.

watch tail /var/log/syslog

Kalau nak ubah selang masa:

watch -n 5 tail -n 10 /var/log/syslog

Ini akan tunjuk 10 baris terakhir dan update setiap 5 saat.

---

📦 Gabung tail + grep: Pantau log spesifik secara real-time

tail -f /var/log/syslog | grep usb

Kalau kau cucuk USB, hanya log berkaitan USB je akan muncul secara live.

---

Sekarang kau dah tahu teknik paling berguna untuk navigate dan tapis log dengan berkesan – dari scroll biasa sampai live monitoring.

📘 Apa Itu journalctl?

journalctl adalah command line tool untuk baca log yang disimpan oleh systemd-journald. Ia adalah sistem log moden – cepat, efisien dan boleh ditapis ikut masa, servis, atau PID.

Log dalam journalctl biasanya disimpan di:

/var/log/journal/

Jangan hairan kalau auth.log atau syslog tiada dalam systemd-only system – sebab semua dah dalam journal.

---

📜 Baca Semua Log dalam Journal

journalctl

Jul 29 10:30:21 ubuntu kernel: [    0.123456] Linux version 5.15 ...
Jul 29 10:30:24 ubuntu systemd[1]: Started Network Manager.
Jul 29 10:30:25 ubuntu gdm3: Starting GNOME Display Manager
---

⏳ Tapis Berdasarkan Masa

Log hari ini sahaja:

journalctl --since=today

Log dari semalam:

journalctl --since=yesterday

Log dari jam tertentu:

journalctl --since "2025-07-28 14:00" --until "2025-07-28 16:00"
---

🔌 Tapis Berdasarkan Servis

Contoh: nak tengok log dari SSH sahaja:

journalctl -u ssh

Contoh: tengok log Network Manager:

journalctl -u NetworkManager
---

🧠 Tapis Berdasarkan PID

Kalau kau tahu nombor proses (PID), kau boleh tapis log yang datang dari proses tu sahaja.

journalctl _PID=1234
---

📺 Live View: Ikut Perubahan Log

Macam tail -f, tapi untuk log journalctl:

journalctl -f

Kau akan nampak log baru muncul secara live.

---

🔒 Log Tanpa Akses Root

Secara default, log journal perlukan sudo kalau nak tengok semua. Tapi user biasa boleh akses log milik sendiri sahaja.

---

💾 Simpan Log ke Fail

journalctl -u ssh > ssh-log.txt

Berguna kalau nak simpan log tertentu untuk rujukan, share atau lampiran laporan.

---

🧹 Kosongkan Journal Log Bila Terlalu Besar

Kadang-kadang log journal boleh makan ruang storage.

sudo journalctl --vacuum-size=100M

Ini akan padam log yang lebih lama sehingga saiz tinggal 100MB sahaja.

---

✅ Kelebihan journalctl Berbanding Log Tradisional

  • 🧠 Boleh tapis ikut masa, servis, PID
  • ⚡ Lebih laju bila search
  • 📦 Format binari lebih jimat ruang
  • 🔐 Lebih selamat – tak boleh diubah tanpa root

Kalau kau serius nak troubleshoot Ubuntu, journalctl ialah alat wajib tahu.

Post a Comment

Terbaru Lebih lama