Langsung ke konten
Linux

15 Tools CLI untuk Monitoring Layanan Server Linux Ubuntu dan Debian

September 25, 2026 · 13 menit baca · Walid Umar

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

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Dilindungi Oleh
Shield Security