15 Tools CLI untuk Monitoring Layanan Server Linux Ubuntu dan Debian
Mengelola server Linux tidak selalu membutuhkan dashboard berbasis web. Justru dalam banyak kondisi, seorang system administrator perlu bekerja langsung dari terminal menggunakan Command Line Interface atau CLI.
Ketika server Ubuntu atau Debian mengalami masalah, kemampuan membaca kondisi sistem dari terminal menjadi sangat penting. CPU tiba-tiba tinggi, RAM hampir habis, disk penuh, koneksi jaringan meningkat, service berhenti, atau proses tertentu menggunakan resource secara berlebihan dapat diperiksa tanpa harus memasang aplikasi monitoring yang kompleks.
Bagi siswa TKJ/TJKT, administrator jaringan, sysadmin, DevOps engineer, maupun pengelola VPS, memahami tools CLI untuk monitoring server merupakan keterampilan dasar yang sangat berguna.
Bayangkan server sebagai sebuah kendaraan. CPU dapat dianalogikan sebagai tenaga mesin, RAM sebagai ruang kerja sementara, storage sebagai bagasi, jaringan sebagai jalan yang digunakan kendaraan, sedangkan service adalah berbagai fungsi yang sedang berjalan.
Jika kendaraan terasa berat, kita tidak langsung mengganti mesinnya. Kita mencari tahu terlebih dahulu bagian mana yang bermasalah.
Begitu pula dengan server.
Sebelum melakukan restart, mengubah konfigurasi, atau melakukan tindakan yang berisiko, biasakan melakukan diagnosis menggunakan tools monitoring.
Dalam artikel ini kita akan membahas berbagai tools CLI yang dapat digunakan untuk memantau server Linux berbasis Ubuntu dan Debian.
Mengapa Monitoring Server dari CLI Penting?
Monitoring melalui CLI memiliki beberapa kelebihan.
Pertama, hampir semua server Linux menyediakan terminal. Kita tidak perlu memasang GUI yang menghabiskan resource.
Kedua, CLI sangat cocok digunakan melalui SSH. Administrator dapat memantau server dari komputer lain tanpa harus berada di depan mesin server.
Ketiga, output CLI mudah dikombinasikan dengan command lain menggunakan pipe.
Contohnya:
ps aux | grep nginx
atau:
ss -tulpn | grep :80
Kemampuan menggabungkan berbagai command inilah yang membuat CLI sangat powerful.
Beberapa informasi yang biasanya perlu dipantau antara lain:
- CPU usage
- Memory usage
- Disk usage
- Disk I/O
- Load average
- Network traffic
- Network connection
- Running process
- System uptime
- Service status
- Port yang sedang listen
- Log sistem
- Error aplikasi
- Resource setiap proses
1. top — Monitoring Resource Secara Real-Time
top merupakan salah satu tools monitoring paling dasar dan hampir selalu tersedia pada Linux.
Jalankan:
top
Anda akan melihat informasi seperti:
- uptime
- load average
- jumlah proses
- CPU usage
- memory usage
- swap
- daftar proses
- PID
- user
- CPU setiap proses
- memory setiap proses
Contoh tampilan konseptual:
top - 15:20:10 up 12 days, 4:31, 2 users
Tasks: 210 total, 2 running, 208 sleeping
%Cpu(s): 12.5 us, 3.2 sy, 0.0 ni, 83.8 id
MiB Mem : 15980 total, 3200 free, 8200 used
Untuk keluar:
q
Kapan menggunakan top?
Gunakan top ketika ingin mengetahui apakah server sedang mengalami tekanan resource.
Misalnya aplikasi tiba-tiba lambat. Jalankan:
top
Kemudian perhatikan proses yang menggunakan CPU atau RAM paling besar.
2. htop — Versi Interaktif dari top
Jika ingin tampilan yang lebih nyaman, gunakan htop.
Instalasi:
sudo apt update
sudo apt install htop
Jalankan:
htop
htop memberikan tampilan interaktif dengan informasi CPU, RAM, swap, load average, dan proses.
Anda dapat melakukan navigasi menggunakan keyboard.
Misalnya:
F3 = Search
F4 = Filter
F5 = Tree
F6 = Sort
F9 = Kill
Fitur tree sangat berguna untuk memahami hubungan parent-child antarproses.
Contohnya aplikasi:
systemd
└─ nginx
├─ nginx worker
├─ nginx worker
└─ nginx worker
Ini jauh lebih mudah dibaca dibandingkan output proses yang panjang.
3. free — Monitoring RAM dan Swap
Untuk memeriksa penggunaan memory:
free -h
Contoh:
total used free
Mem: 15Gi 8.2Gi 1.1Gi
Swap: 2Gi 200Mi 1.8Gi
Gunakan opsi -h agar ukuran lebih mudah dibaca manusia.
Jangan hanya melihat angka free.
Linux menggunakan RAM untuk cache sehingga RAM yang terlihat “used” belum tentu berarti server kehabisan memory.
Yang perlu diperhatikan adalah kondisi memory yang tersedia dan penggunaan swap.
Untuk monitoring berkala:
free -h -s 2
Perintah tersebut memperbarui informasi setiap dua detik.
4. df — Monitoring Kapasitas Disk
Salah satu penyebab server bermasalah yang sangat sering terjadi adalah filesystem penuh.
Gunakan:
df -h
Contoh:
Filesystem Size Used Avail Use%
/dev/vda2 80G 72G 4.5G 95%
Jika Use% mendekati 100%, server berpotensi mengalami berbagai masalah.
Contohnya:
- database gagal menulis
- aplikasi gagal membuat file
- log tidak dapat ditulis
- service mengalami error
- Docker gagal membuat container
- update package gagal
Gunakan:
df -hT
untuk melihat tipe filesystem.
5. du — Mencari Folder yang Menghabiskan Disk
df memberi tahu bahwa disk penuh.
Tetapi pertanyaan berikutnya adalah:
“File atau folder apa yang membuat disk penuh?”
Gunakan:
sudo du -sh /var/*
Untuk mencari folder terbesar:
sudo du -h /var | sort -h | tail -20
Misalnya ditemukan:
20G /var/log
35G /var/lib/docker
50G /var/lib
Anda kemudian dapat melakukan investigasi lebih lanjut.
Jangan langsung menghapus file besar.
Cari tahu terlebih dahulu apakah file tersebut merupakan:
- database
- log
- backup
- cache
- Docker volume
- file aplikasi
- temporary file
6. ps — Melihat Proses yang Berjalan
ps digunakan untuk melihat proses Linux.
Perintah populer:
ps aux
Untuk mencari proses tertentu:
ps aux | grep nginx
Untuk melihat proses berdasarkan penggunaan CPU:
ps aux --sort=-%cpu | head
Untuk memory:
ps aux --sort=-%mem | head
Ini sangat berguna ketika top menunjukkan CPU tinggi dan Anda ingin memperoleh daftar proses teratas dengan cepat.
7. pidstat — Monitoring Resource per Proses
pidstat merupakan bagian dari paket sysstat.
Instal:
sudo apt install sysstat
Kemudian:
pidstat
Untuk memonitor CPU setiap dua detik:
pidstat 2
Untuk monitoring memory:
pidstat -r 2
Untuk aktivitas I/O:
pidstat -d 2
Tool ini berguna ketika ingin mengetahui proses mana yang secara aktif mengonsumsi resource.
8. uptime — Melihat Uptime dan Load Average
Perintah sederhana:
uptime
Contoh:
15:30:12 up 12 days, 4:45, 2 users, load average: 1.25, 1.10, 0.85
Load average menunjukkan beban sistem dalam interval waktu tertentu.
Biasanya ditampilkan untuk:
1 minute
5 minutes
15 minutes
Interpretasi load harus mempertimbangkan jumlah CPU atau core.
Misalnya server memiliki 4 CPU core.
Load:
1.0
tidak berarti CPU otomatis 100%.
Load harus dibaca bersama informasi jumlah CPU dan kondisi proses.
Untuk melihat jumlah CPU:
nproc
9. vmstat — Melihat Kondisi Sistem Secara Ringkas
vmstat memberikan gambaran mengenai proses, memory, paging, block I/O, dan CPU.
Gunakan:
vmstat
Monitoring setiap dua detik:
vmstat 2
Tool ini berguna untuk melihat apakah server mengalami tekanan:
- CPU
- memory
- swap
- I/O
Jika ingin melakukan troubleshooting performa server secara lebih serius, vmstat merupakan salah satu command yang layak dikuasai.
10. iostat — Monitoring Disk I/O
Server lambat tidak selalu disebabkan oleh CPU.
Bisa saja masalahnya berasal dari storage.
Gunakan:
iostat
Jika command belum tersedia:
sudo apt install sysstat
Monitoring:
iostat -xz 2
Parameter tersebut memberikan informasi lebih detail mengenai perangkat storage.
Perhatikan terutama:
- utilization
- IOPS
- throughput
- latency
- queue
Misalnya CPU server hanya 20%, tetapi aplikasi tetap lambat.
Bisa jadi bottleneck berada pada disk I/O.
11. ss — Monitoring Port dan Koneksi Network
ss merupakan tool penting untuk troubleshooting jaringan Linux.
Melihat port yang sedang listen:
ss -tulpn
Contohnya:
tcp LISTEN 0 511 0.0.0.0:80
tcp LISTEN 0 511 0.0.0.0:443
tcp LISTEN 0 128 0.0.0.0:22
Artinya server memiliki service yang listen pada port:
22 → SSH
80 → HTTP
443 → HTTPS
Untuk melihat koneksi TCP:
ss -tan
Untuk melihat koneksi berdasarkan port:
ss -tan | grep :443
Ini sangat berguna ketika melakukan troubleshooting web server.
12. ip — Memeriksa Interface dan Network
Pada Linux modern, ip menggantikan banyak fungsi command networking lama.
Melihat interface:
ip addr
atau:
ip a
Melihat routing:
ip route
Melihat status interface:
ip link
Contoh:
ip route
Output:
default via 192.168.1.1 dev ens18
192.168.1.0/24 dev ens18 proto kernel scope link
Informasi ini sangat penting ketika server tidak dapat mengakses jaringan atau internet.
13. ping — Menguji Konektivitas
Untuk menguji koneksi:
ping 8.8.8.8
Jika ingin menguji DNS:
ping google.com
Ada perbedaan penting.
Jika:
ping 8.8.8.8
berhasil tetapi:
ping google.com
gagal, kemungkinan masalah berada pada resolusi DNS.
Namun ping bukan satu-satunya indikator konektivitas.
Firewall dapat memblokir ICMP sementara service TCP tetap dapat diakses.
14. curl — Menguji Service HTTP/HTTPS
Untuk server web, curl merupakan tools yang sangat penting.
Contoh:
curl -I http://localhost
Untuk HTTPS:
curl -I https://example.com
Untuk melihat proses request secara detail:
curl -v https://example.com
Anda dapat memeriksa:
- HTTP status code
- response header
- redirect
- TLS handshake
- koneksi
- response server
Misalnya:
HTTP/2 200
berarti server memberikan response sukses.
Sedangkan:
HTTP/1.1 502 Bad Gateway
mengindikasikan masalah yang perlu ditelusuri antara proxy dan backend.
15. systemctl — Monitoring Service Linux
Untuk server Ubuntu dan Debian yang menggunakan systemd, systemctl merupakan command wajib.
Melihat status service:
systemctl status nginx
Contoh:
Active: active (running)
Melihat service yang gagal:
systemctl --failed
Melihat apakah service aktif:
systemctl is-active nginx
Melihat service yang enabled:
systemctl is-enabled nginx
Restart service:
sudo systemctl restart nginx
Namun jangan menjadikan restart sebagai solusi pertama.
Lebih baik cari penyebab masalah terlebih dahulu.
16. journalctl — Membaca Log Service
Jika service gagal, lanjutkan investigasi menggunakan journalctl.
Contoh:
journalctl -u nginx
Melihat log terbaru:
journalctl -u nginx -n 50
Monitoring log secara realtime:
journalctl -u nginx -f
Untuk melihat log sejak boot terakhir:
journalctl -b
Untuk melihat error:
journalctl -p err
Kombinasi:
systemctl status nginx
journalctl -u nginx -n 50
merupakan pola troubleshooting yang sangat berguna.
Materi Praktis: Workflow Monitoring Server
Monitoring server sebaiknya tidak dilakukan secara acak.
Gunakan alur diagnosis.
Misalnya pengguna melaporkan:
“Website terasa sangat lambat.”
Jangan langsung:
reboot
Lakukan pemeriksaan bertahap.
Langkah 1 — Periksa uptime dan load
uptime
Langkah 2 — Periksa CPU dan proses
top
atau:
ps aux --sort=-%cpu | head
Langkah 3 — Periksa memory
free -h
Langkah 4 — Periksa storage
df -h
Langkah 5 — Periksa disk I/O
iostat -xz 2
Langkah 6 — Periksa service
systemctl status nginx
Langkah 7 — Periksa port
ss -tulpn
Langkah 8 — Tes HTTP
curl -I http://localhost
Langkah 9 — Periksa log
journalctl -u nginx -n 100
Dengan workflow tersebut, diagnosis menjadi lebih sistematis.

Studi Kasus: Server Web Ubuntu Lambat
Misalnya sebuah server Ubuntu menjalankan:
Nginx
PHP-FPM
MariaDB
Pengguna melaporkan website lambat.
Pertama:
uptime
Misalnya:
load average: 8.50, 7.20, 6.10
Server memiliki 8 CPU core.
Load tersebut perlu diperiksa lebih lanjut.
Kemudian:
top
Ternyata PHP-FPM menggunakan CPU sangat tinggi.
Selanjutnya:
ps aux --sort=-%cpu | head
Kemudian periksa service:
systemctl status php8.3-fpm
Periksa log:
journalctl -u php8.3-fpm -n 100
Dari sini administrator dapat menemukan sumber masalah sebelum mengambil tindakan.
Inilah perbedaan antara troubleshooting dengan diagnosis dan troubleshooting dengan “coba restart dulu”.
Monitoring Semua Resource Secara Cepat
Untuk pemeriksaan awal, kombinasi command berikut sangat berguna:
uptime
free -h
df -h
ss -tulpn
systemctl --failed
Kemudian:
top
Jika membutuhkan informasi lebih detail:
vmstat 2
iostat -xz 2
Monitoring Log Secara Real-Time
Untuk server production, log sangat penting.
Misalnya Nginx:
tail -f /var/log/nginx/access.log
Error log:
tail -f /var/log/nginx/error.log
Apache:
tail -f /var/log/apache2/error.log
Untuk systemd:
journalctl -f
Untuk service tertentu:
journalctl -u docker -f
Ini sangat berguna ketika sedang melakukan pengujian dan ingin melihat event secara langsung.
Menggabungkan CLI Tools dengan Pipe
Salah satu kekuatan Linux adalah kemampuan menggabungkan command.
Contoh mencari proses yang menggunakan CPU terbesar:
ps aux --sort=-%cpu | head -10
Mencari service yang gagal:
systemctl --failed
Mencari port 80:
ss -tulpn | grep :80
Mencari error pada log:
journalctl -u nginx | grep -i error
Mencari filesystem yang hampir penuh:
df -h | awk '$5+0 >= 80'
Inilah alasan mengapa kemampuan CLI sangat penting bagi sysadmin.
Anda tidak hanya belajar command.
Anda belajar mengolah informasi.
Best Practice Monitoring Server Linux
Beberapa praktik yang sebaiknya dibiasakan:
1. Jangan langsung reboot
Reboot dapat menghilangkan sebagian konteks masalah.
Cari penyebab terlebih dahulu.
2. Gunakan beberapa indikator
CPU tinggi belum tentu menjadi penyebab utama.
Periksa juga:
- RAM
- swap
- disk
- I/O
- network
- process
- service
- log
3. Dokumentasikan hasil troubleshooting
Catat command dan hasil penting.
Contoh:
09:10 CPU normal
09:15 load meningkat
09:17 PHP-FPM CPU 90%
09:20 ditemukan request tertentu
Catatan seperti ini sangat berguna untuk analisis berulang.
4. Jangan menghapus log secara sembarangan
Jika disk penuh karena log, cari tahu mengapa log tumbuh terlalu cepat.
Pertimbangkan log rotation dan retention.
5. Gunakan monitoring terpusat untuk production
CLI sangat bagus untuk diagnosis.
Namun untuk lingkungan production yang besar, pertimbangkan sistem monitoring seperti:
- Prometheus
- Grafana
- Zabbix
- Icinga
- Netdata
- VictoriaMetrics
CLI dan monitoring platform bukan kompetitor.
CLI digunakan untuk diagnosis langsung, sedangkan monitoring platform digunakan untuk observability, histori, alerting, dan analisis tren.
Kesalahan yang Sering Terjadi
Hanya Melihat CPU
CPU 20% tidak otomatis berarti server sehat.
Server dapat mengalami:
- disk penuh
- I/O tinggi
- memory pressure
- network congestion
- service error
Menganggap RAM Used = RAM Bermasalah
Linux menggunakan memory untuk cache.
Gunakan:
free -h
dan perhatikan available memory serta swap.
Langsung Membunuh Process
Command seperti:
kill -9
sebaiknya bukan tindakan pertama.
Cari tahu mengapa proses tersebut bermasalah.
Langsung Restart Service
Restart mungkin membuat service kembali normal sementara, tetapi penyebab utama dapat tetap ada.
Mengabaikan Log
Log sering kali memberikan petunjuk paling penting mengenai kegagalan service.
Tidak Memeriksa Disk
Disk penuh merupakan masalah yang sangat umum pada server.
Biasakan:
df -h
sebagai bagian dari pemeriksaan awal.
Tips Profesional untuk Sysadmin
Gunakan pendekatan “Observe → Identify → Verify → Act”.
Observe:
uptime
top
free -h
df -h
Identify:
ps
ss
systemctl
Verify:
curl
journalctl
iostat
vmstat
Act:
systemctl restart ...
atau tindakan perbaikan lain setelah penyebab diketahui.
Pendekatan ini membantu mengurangi tindakan spekulatif.
Untuk siswa TKJ/TJKT, jangan hanya menghafalkan command.
Pahami pertanyaan yang dijawab oleh setiap command.
top → Apa yang menggunakan resource?
free → Bagaimana kondisi memory?
df → Apakah disk penuh?
du → Apa yang memenuhi disk?
ss → Port dan koneksi apa yang aktif?
ps → Proses apa yang berjalan?
systemctl → Bagaimana kondisi service?
journalctl→ Mengapa service bermasalah?
curl → Apakah aplikasi HTTP merespons?
iostat → Apakah storage menjadi bottleneck?
Jika pola berpikir ini sudah terbentuk, troubleshooting Linux menjadi jauh lebih terstruktur.
Kesimpulan
Monitoring server Linux melalui CLI merupakan keterampilan fundamental bagi seorang system administrator.
Ubuntu dan Debian menyediakan banyak tools bawaan yang dapat digunakan untuk mengetahui kondisi server tanpa harus mengandalkan dashboard grafis.
Beberapa command paling penting yang perlu dikuasai adalah:
top
htop
free
df
du
ps
pidstat
uptime
vmstat
iostat
ss
ip
ping
curl
systemctl
journalctl
Masing-masing memiliki fungsi berbeda.
Kombinasikan tools tersebut untuk mendapatkan gambaran lengkap mengenai kondisi server.
Yang paling penting, jangan hanya menghafal sintaks.
Belajarlah membaca gejala.
Ketika server lambat, tanyakan:
“Apakah CPU?”
“Apakah memory?”
“Apakah disk?”
“Apakah I/O?”
“Apakah network?”
“Apakah service?”
“Apakah aplikasi?”
“Apakah log menunjukkan error?”
Itulah pola pikir yang membedakan penggunaan Linux biasa dengan kemampuan troubleshooting seorang sysadmin.
FAQ
Pertanyaan: Apa saja tools CLI untuk monitoring server Linux?
Jawaban: Beberapa tools penting antara lain top, htop, free, df, du, ps, vmstat, iostat, ss, systemctl, journalctl, dan curl.
Pertanyaan: Apa command untuk melihat penggunaan CPU Linux?
Jawaban: Gunakan top, htop, atau ps aux --sort=-%cpu | head.
Pertanyaan: Bagaimana cara mengecek RAM server Linux?
Jawaban: Gunakan free -h. Perhatikan available memory dan penggunaan swap, bukan hanya angka used.
Pertanyaan: Bagaimana cara mengetahui apakah disk server penuh?
Jawaban: Gunakan df -h. Untuk mencari folder yang paling banyak menggunakan ruang, gunakan du.
Pertanyaan: Bagaimana cara melihat service yang gagal di Ubuntu atau Debian?
Jawaban: Gunakan systemctl --failed, kemudian periksa service tertentu dengan systemctl status nama-service.
Pertanyaan: Bagaimana cara melihat log service Linux?
Jawaban: Gunakan journalctl -u nama-service. Untuk mengikuti log secara realtime, gunakan opsi -f.
Pertanyaan: Apa command untuk melihat port yang sedang terbuka?
Jawaban: Gunakan ss -tulpn untuk melihat port yang sedang listen beserta proses terkait.
Pertanyaan: Apakah CLI cukup untuk monitoring server production?
Jawaban: CLI sangat efektif untuk diagnosis dan troubleshooting. Untuk monitoring production jangka panjang, gunakan platform seperti Prometheus, Grafana, Zabbix, Icinga, atau solusi observability lainnya.
Coba praktikkan command seperti top, free, df, ss, systemctl, dan journalctl langsung pada Ubuntu atau Debian.
Sudah terbiasa menggunakan command Linux untuk troubleshooting server?
Jangan berhenti pada hafalan command. Latih kemampuan membaca kondisi server dan mencari akar masalah secara sistematis.
Bagikan artikel ini kepada teman, siswa TKJ/TJKT, atau rekan sysadmin yang sedang belajar Linux.
Jika Anda memiliki command CLI favorit untuk monitoring server, tuliskan di kolom komentar. Bisa jadi command tersebut menjadi bahan pembahasan pada artikel berikutnya.
Ikuti terus konten seputar Linux, server administration, networking, MikroTik, cloud computing, DevOps, cybersecurity, dan teknologi infrastruktur IT lainnya.
Dukung kami dengan Subscribe & Join Membership channel YouTube | Walid Umar
Akses video pembelajaran eksklusif, materi persiapan UKK (Uji Kompetensi Siswa) dan Penyelesaian Soal LKS ITNSA