
Daftar Isi
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-serviceMisalnya:
systemctl status nginxDi 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 -xeContoh:
journalctl -u sshd -xeKeterangan:
-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 --failedPerintah 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 -tApache:
apachectl configtestSSH:
sshd -tJika 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-serviceJika 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-serviceTambahkan:
[Service]
Environment=SYSTEMD_LOG_LEVEL=debugLalu reload systemd:
systemctl daemon-reloadCara 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.
