Press ESC to close

Melacak Service Gagal di Systemd

WhatsAppTelegramFacebookXThreadsCopy Link

Pernah mengalami sebuah service di Linux tiba-tiba berhenti dan Anda tidak tahu penyebabnya? Atau mungkin Anda sedang mencoba menjalankan service baru, tetapi statusnya langsung berubah menjadi failed tanpa penjelasan yang jelas? Situasi ini umum terjadi, terutama bagi pengguna pemula yang belum familiar dengan cara kerja systemd sebagai sistem inisialisasi dan manajemen service di berbagai distribusi Linux modern.

Kabar baiknya, Anda tidak perlu lagi menebak-nebak. Artikel ini akan menjadi panduan lengkap untuk membantu Anda melacak service gagal di systemd, menemukan penyebabnya, dan akhirnya memperbaikinya. Semuanya disajikan secara sederhana, langkah demi langkah, sehingga Anda bisa mengikuti dengan mudah meskipun baru belajar Linux.

Setelah membaca artikel ini, Anda akan memahami:

  • Cara memeriksa status service yang gagal.
  • Cara membaca log systemd dengan journalctl.
  • Perintah dasar untuk menganalisis kegagalan service.
  • Tips untuk mencegah service mudah “jatuh” lagi di kemudian hari.

Mengapa Service Bisa Gagal di Systemd?

Sebelum masuk ke tutorial, penting untuk memahami bahwa sebuah service bisa gagal karena berbagai alasan:

  • File konfigurasi salah.
  • Port sudah digunakan aplikasi lain.
  • Hak akses (permission) tidak sesuai.
  • Dependency service tidak berjalan.
  • Script startup bermasalah.

Untuk mengetahui penyebab yang tepat, kita perlu melacaknya menggunakan fitur bawaan systemd.


Langkah-Langkah Melacak Service Gagal di Systemd

1. Mengecek Status Service dengan systemctl

Perintah pertama yang perlu Anda gunakan saat service bermasalah adalah:

systemctl status nama-service

Misalnya:

systemctl status nginx

Di sini Anda akan melihat:

  • Status (active, inactive, failed)
  • PID proses
  • Pesan error singkat
  • Log ringkas dari journalctl

Informasi ini sering menjadi petunjuk awal sebelum analisis lebih dalam.


2. Melihat Log Detail Service dengan journalctl

Jika status tidak memberikan cukup informasi, gunakan journalctl untuk melihat log lengkap:

journalctl -u nama-service -xe

Contoh:

journalctl -u sshd -xe

Keterangan:

  • -u → memilih unit (service)
  • -x → memberikan penjelasan tambahan
  • -e → langsung menuju log terbaru

Log inilah yang paling sering menunjukkan penyebab service gagal, seperti permission denied, port error, atau konfigurasi invalid.


3. Memeriksa Riwayat Service Gagal (Failed Units)

Systemd menyimpan daftar service yang gagal dengan perintah:

systemctl --failed

Perintah ini sangat berguna untuk server yang berjalan lama dan Anda ingin melihat service mana yang sering mengalami restart atau kegagalan.


4. Menganalisis Crash Service dengan Restart Counter

Untuk melihat berapa kali sebuah service gagal:

systemctl status nama-service | grep "fail"

Atau:

journalctl -u nama-service | grep -i "failed"

Jika angka “failed” tinggi, kemungkinan ada loop kesalahan pada startup.


5. Menguji File Konfigurasi (Jika Service Menggunakannya)

Beberapa service menyediakan perintah khusus untuk mengecek konfigurasi. Misalnya:

Nginx:

nginx -t

Apache:

apachectl configtest

SSH:

sshd -t

Jika file konfigurasi salah, service pasti gagal saat dijalankan.


6. Mengecek Dependency Service

Beberapa service tidak bisa berjalan tanpa service lain. Untuk melihat dependency:

systemctl list-dependencies nama-service

Jika salah satu dependency bermasalah, Anda akan tahu dari sini.


7. Mengaktifkan Logging Lebih Detail (Opsional)

Jika service terus gagal dan log masih terlalu minim, aktifkan debug mode:

systemctl edit nama-service

Tambahkan:

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

Lalu reload systemd:

systemctl daemon-reload

Cara ini membantu untuk kasus yang lebih kompleks.


Sekarang Anda sudah mempelajari berbagai teknik praktis untuk melacak service gagal di systemd—mulai dari mengecek status, membaca log lengkap, menguji konfigurasi, hingga memeriksa dependency. Dengan pemahaman ini, Anda bisa menemukan akar masalah service yang bermasalah dan memperbaikinya dengan lebih cepat dan efisien.

Jika Anda ingin meningkatkan kemampuan Linux Anda lebih jauh, baca juga: “Menggunakan for, while, dan until loop di Bash untuk mempelajari otomasi script sederhana.

WhatsAppTelegramFacebookXThreadsCopy Link