📑 Log Management di Linux (journalctl, /var/log)

Log Management adalah proses untuk mengumpulkan, menyimpan, dan menganalisis log pada sistem Linux. Log berfungsi untuk memantau aktivitas sistem, mendiagnosis masalah, dan meningkatkan keamanan.

Sumber log utama di Linux:

  • journalctl (systemd journal)
  • /var/log/ (file log tradisional)

🔹 journalctl

Penjelasan

journalctl adalah perintah untuk membaca log yang dikumpulkan oleh systemd journal. Log ini mencakup informasi kernel, service, dan aplikasi yang berjalan di sistem berbasis systemd.

Contoh Operasional

# Menampilkan semua log
journalctl

# Menampilkan log terbaru
journalctl -r

# Menampilkan log sejak boot terakhir
journalctl -b

# Menampilkan log untuk service tertentu
journalctl -u nginx.service

# Menampilkan log real-time (seperti tail -f)
journalctl -f

# Menampilkan log dengan rentang waktu
journalctl --since "2025-09-01 10:00:00" --until "2025-09-01 12:00:00"

# Menampilkan log error saja
journalctl -p err

Tips & Trik

  • Gunakan journalctl -xe untuk debugging error yang baru terjadi.
  • Kombinasikan dengan grep untuk mencari kata tertentu:
    journalctl -u ssh.service | grep "Failed"

🔹 /var/log Directory

Penjelasan

Direktori /var/log/ menyimpan log dalam bentuk file teks yang bisa dibaca langsung menggunakan editor (nano, vim) atau perintah CLI (cat, less, tail).

Log Umum di /var/log

  • /var/log/syslog → log umum sistem (Debian/Ubuntu)
  • /var/log/messages → log umum sistem (RHEL/CentOS)
  • /var/log/auth.log → log autentikasi (login, sudo, ssh)
  • /var/log/kern.log → log kernel
  • /var/log/nginx/access.log → log akses web server Nginx
  • /var/log/nginx/error.log → log error web server Nginx
  • /var/log/httpd/ → log Apache (di CentOS/RHEL)

Contoh Operasional

# Menampilkan isi log terbaru
tail -n 100 /var/log/syslog

# Melihat log secara live
tail -f /var/log/auth.log

# Cari kata tertentu dalam log
grep "Failed password" /var/log/auth.log

# Cari log dengan case-insensitive
grep -i "error" /var/log/syslog

🔍 Tips & Trik Operasional

  1. Filter dengan grep

    grep "keyword" /var/log/syslog
  2. Cari dengan lebih detail (menggunakan awk/sed)

    awk '/ssh/ {print}' /var/log/auth.log
  3. Gunakan less untuk navigasi log besar

    less /var/log/syslog
    # tekan / lalu ketik keyword untuk mencari
  4. Gabungkan journalctl dengan grep

    journalctl -u ssh.service | grep "Accepted"

⚙️ Kesimpulan

  • Gunakan journalctl untuk sistem yang menggunakan systemd, terutama untuk service logs.
  • Gunakan /var/log untuk akses langsung file log tradisional.
  • Gunakan kombinasi grep, awk, tail, less untuk mempercepat pencarian log.

Dengan pengelolaan log yang baik, troubleshooting akan lebih cepat dan efisien.