Halo sobat Layar Kosong! Kita sudah belajar banyak hal: cara diagnosa disk penuh, cara monitoring RAM agar gak OOM, dan cara awasin trafik jaringan biar gak kecolongan. Tapi jujur aja, sebagai sysadmin yang punya jadwal padat (atau mungkin lagi pengen santai ngopi di pinggir Pantai Kemala), kita butuh sesuatu yang lebih ringkas.

Kenapa harus ngetik tiga perintah berbeda kalau bisa satu kali tekan enter? Nah, di artikel kali ini, aku bakal kasih "Master Key" atau kunci utama: sebuah script dashboard gabungan yang bakal kasih kamu ringkasan kesehatan server kamu dalam satu tampilan bersih. Informasi ini bersifat edukatif dan tidak menggantikan saran tenaga kesehatan. tidak perlu lagi bolak-balik terminal!

Master Dashboard Linux Terminal Preview

Mengapa Butuh Dashboard Terpusat? ("Why")

Bekerja reaktif itu melelahkan. Dashboard ini dirancang agar kamu bisa bekerja secara proaktif. Dengan melihat Disk, RAM, dan Jaringan dalam satu frame, kamu bisa melihat korelasi masalah. Misalnya, kalau RAM naik dibarengi dengan trafik jaringan yang melonjak, mungkin server kamu sedang mengalami lonjakan akses tidak wajar atau lonjakan pengunjung asli. Kalau disk penuh tapi trafik jaringan sepi, mungkin ada log file yang bocor. Gabungan data ini memberikan konteks, bukan sekadar angka.

Prinsip 5W+1H Master Monitoring:

  • What: Dashboard Bash yang menggabungkan penggunaan storage, ketersediaan memori, dan kecepatan bandwidth.
  • Who: Ditujukan untuk sysadmin, DevOps, atau pemilik server VPS yang ingin kemudahan akses informasi.
  • Where: Bisa dijalankan di distribusi Linux apa saja (Ubuntu, Debian, CentOS) asalkan punya akses Bash.
  • When: Gunakan setiap kali kamu login SSH atau jadikan sebagai notifikasi rutin.
  • Why: Untuk efisiensi waktu dan deteksi masalah lintas komponen secara simultan.
  • How: Menggunakan teknik pengambilan data kernel /proc dan utilitas standar Linux.

Script Master Dashboard "Server-Status.sh" ("How")

Aku sudah perbaiki script ini agar lebih "bandel" (robust) dan gak bakal kena error syntax shell standar. Pastikan kamu menyimpannya dengan ekstensi .sh dan dijalankan menggunakan bash.

#!/bin/bash
# ======================================================
# MASTER DASHBOARD MONITOR
# Deskripsi: Gabungan Monitor Disk, RAM, dan Jaringan
# Penulis: Fakhrul Rijal (Layar Kosong)
# ======================================================
# --- KONFIGURASI ---
INTERFACE="eth0" # Ganti dengan interface kamu (cek: ip a)
DISK_PART="/"
THRESHOLD=80
# Warna untuk estetika terminal
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
clear
echo -e "${BLUE}======================================================${NC}"
echo -e "${BLUE} SERVER MASTER DASHBOARD - $(hostname) ${NC}"
echo -e "${BLUE}======================================================${NC}"
echo -e "Waktu: $(date)"
echo ""
# 1. MONITOR DISK
DISK_USAGE=$(df -h "$DISK_PART" | awk 'NR==2 {print $5}' | sed 's/%//')
echo -e "${YELLOW}[1] STORAGE STATUS${NC}"
if [ "$DISK_USAGE" -gt "$THRESHOLD" ]; then
 echo -e "Status: ${RED}KRITIS ($DISK_USAGE% used on $DISK_PART)${NC}"
else
 echo -e "Status: ${GREEN}AMAN ($DISK_USAGE% used on $DISK_PART)${NC}"
fi
echo ""
# 2. MONITOR RAM
TOTAL_RAM=$(free | grep Mem | awk '{print $2}')
AVAIL_RAM=$(free | grep Mem | awk '{print $7}')
PCT_AVAIL=$(( 100 * AVAIL_RAM / TOTAL_RAM ))
echo -e "${YELLOW}[2] MEMORY STATUS${NC}"
if [ "$PCT_AVAIL" -lt 15 ]; then
 echo -e "Status: ${RED}KRITIS ($PCT_AVAIL% Available)${NC}"
else
 echo -e "Status: ${GREEN}SEHAT ($PCT_AVAIL% Available)${NC}"
fi
echo ""
# 3. MONITOR JARINGAN (Ambil sampel 1 detik)
DATA1=($(cat /sys/class/net/$INTERFACE/statistics/rx_bytes /sys/class/net/$INTERFACE/statistics/tx_bytes))
sleep 1
DATA2=($(cat /sys/class/net/$INTERFACE/statistics/rx_bytes /sys/class/net/$INTERFACE/statistics/tx_bytes))
RX_MBPS=$(( (DATA2[0] - DATA1[0]) * 8 / 1024 / 1024 ))
TX_MBPS=$(( (DATA2[1] - DATA1[1]) * 8 / 1024 / 1024 ))
echo -e "${YELLOW}[3] NETWORK TRAFFIC (Interface: $INTERFACE)${NC}"
echo -e "Download: ${BLUE}$RX_MBPS Mbps${NC} | Upload: ${BLUE}$TX_MBPS Mbps${NC}"
echo -e "${BLUE}======================================================${NC}"

Langkah Eksekusi ("Where" dan "When")

Jangan sampai kena error syntax lagi ya, sob! Ikuti prosedur ini biar lancar jaya:

  1. Buat File: nano server-status.sh
  2. Tempel Kode: Paste kode di atas, lalu ganti INTERFACE sesuai hasil perintah ip a di server lo.
  3. Izin Eksekusi: chmod +x server-status.sh
  4. Jalankan: Gunakan perintah bash server-status.sh atau ./server-status.sh.

Kalau kamu mau dashboard ini muncul setiap kali kamu login ke server, kamu bisa tambahkan perintah eksekusi script ini di baris paling bawah file ~/.bashrc lo. Begitu login, "BAM!", status server langsung tampil!

Kesimpulan: Satu Dashboard, Berjuta Ketenangan

Monitoring itu gak harus rumit. Dengan Master Dashboard ini, kamu sudah punya sistem monitoring level pro yang efisien dan hemat sumber daya. tidak perlu install software monitoring berat yang malah makan RAM. Cukup script Bash ringan, dan kamu sudah jadi penguasa server sejati.

Punya ide buat nambahin fitur monitoring suhu CPU atau status database MySQL di dalam dashboard ini? Tulis di kolom komentar di bawah ya! Mari kita kembangkan script ini bareng-bareng biar makin praktis. Tetap semangat ngulik, salam dari Balikpapan! ☕️🔥