Halo pembaca tech mania! Balik lagi bareng aku di Layar Kosong. Kita sudah bahas cara jaga Disk biar gak penuh dan RAM biar gak amnesia. Tapi ada satu pintu masuk yang sering banget luput dari perhatian kita: Network Interface.
Bayangin server kamu itu kayak sebuah toko. Disk itu gudangnya, RAM itu meja kasirnya, dan Network itu adalah pintu masuknya. Kalau pintunya tiba-tiba diserbu ribuan orang tidak jelas (DDoS) atau ada karyawan kamu yang diem-diem ngangkutin barang lewat pintu belakang (data leak), kamu perlu tahu secepat mungkin! Hasil dapat berbeda tergantung perangkat, versi paket, dan konfigurasi sistem. Jangan nunggu sampai tagihan ISP atau penyedia Cloud kamu meledak di akhir bulan.

Apa Itu Monitoring Trafik Jaringan? ("What")
Monitoring trafik jaringan adalah proses mengamati jumlah data yang masuk (Incoming/RX) dan keluar (Outgoing/TX) dari server melalui antarmuka jaringan (seperti eth0 atau ens3). Dalam Linux, semua data ini tercatat dengan rapi di dalam sistem file /proc/net/dev atau bisa diakses lewat statistik kernel.
Masalahnya, angka-angka itu cuma kumpulan digit yang terus bertambah. Kita butuh cara untuk menghitung kecepatan per detik (Mbps/Kbps) agar kita bisa tahu apakah pemakaian saat ini masih wajar atau sudah gila.
Kenapa Ini Penting sangat? ("Why")
- Analisis Bottleneck: Kenapa web kamu lemot? Mungkin karena jalur datanya sudah penuh sesak.
- Audit Keamanan: Menemukan adanya aktivitas pengiriman data besar-besaran yang mencurigakan ke luar server.
- Deteksi Dini DDoS: Lonjakan trafik masuk yang tidak wajar biasanya pertanda kamu lagi diserang.
- Kontrol Biaya: Banyak VPS yang membatasi kuota bulanan. Script ini bisa jadi "alarm" sebelum kamu kena biaya tambahan.
Siapa yang Harus Memantau? ("Who")
Bagi siapa pun yang menjalankan server web, server database, atau bahkan VPN pribadi, monitoring ini adalah fardu ain (wajib). Terutama kalau kamu admin yang tinggal di daerah dengan infrastruktur jaringan yang "unik" kayak kita di Kalimantan, efisiensi bandwidth itu segalanya!
Bagaimana Caranya? Script Net-Watch.sh ("How")
Gue sudah racik script Bash yang simpel tapi cerdas. Script ini akan menghitung selisih data yang lewat dalam interval waktu tertentu untuk mendapatkan kecepatan real-time. Copy-paste script sakti ini:
#!/bin/bash
# --- KONFIGURASI ---
INTERFACE="eth0" # Ganti dengan nama interface kamu (cek pake 'ip a')
THRESHOLD_MBPS=50 # Notifikasi kalau trafik > 50 Mbps
INTERVAL=2 # Jeda waktu hitung (detik)
HOSTNAME=$(hostname)
# --- FUNGSI AMBIL DATA ---
get_bytes() {
cat /sys/class/net/$INTERFACE/statistics/rx_bytes
cat /sys/class/net/$INTERFACE/statistics/tx_bytes
}
# --- PROSES MONITORING ---
DATA1=($(get_bytes))
sleep $INTERVAL
DATA2=($(get_bytes))
RX_DIFF=$(( (DATA2[0] - DATA1[0]) / INTERVAL ))
TX_DIFF=$(( (DATA2[1] - DATA1[1]) / INTERVAL ))
# Konversi ke Mbps (Megabits per second)
RX_MBPS=$(( RX_DIFF * 8 / 1024 / 1024 ))
TX_MBPS=$(( TX_DIFF * 8 / 1024 / 1024 ))
echo "Download: $RX_MBPS Mbps | Upload: $TX_MBPS Mbps"
# --- LOGIKA PERINGATAN ---
if [ "$RX_MBPS" -gt "$THRESHOLD_MBPS" ] || [ "$TX_MBPS" -gt "$THRESHOLD_MBPS" ]; then
MSG="🚨 TRAFIK TINGGI! di $HOSTNAME. In: $RX_MBPS Mbps, Out: $TX_MBPS Mbps."
echo "$MSG"
# OPSIONAL: Kirim Telegram
# TOKEN="BOT_TOKEN_LO"
# CHAT_ID="CHAT_ID_LO"
# curl -s -X POST https://api.telegram.org/bot$TOKEN/sendMessage -d chat_id=$CHAT_ID -d text="$MSG"
fiCara Instalasi di Server:
- Cek nama interface kamu dengan perintah
ip a(biasanyaeth0,ens3, atauenp0s3). - Buat filenya:
nano net-monitor.sh. - Paste script di atas dan sesuaikan bagian
INTERFACE. - Beri izin eksekusi:
chmod +x net-monitor.sh. - Jalankan secara berkala via Cron Job (tiap 1 atau 5 menit) atau biarkan berjalan dalam loop jika ingin monitoring intensif.
Dimana dan Kapan perlu Waspada? Hasil dapat berbeda tergantung perangkat, versi paket, dan konfigurasi sistem. ("Where" dan "When")
Pasang script ini di server-server yang terpapar langsung ke internet (Public Facing). Waktu salah satu yang krusial adalah saat kamu baru saja merilis fitur baru atau saat ada event besar yang mengundang banyak trafik. Hasil dapat berbeda tergantung perangkat, versi paket, dan konfigurasi sistem. Monitor jaringan di waktu-waktu sibuk bakal kasih kamu data yang sangat berharga untuk scaling server ke depannya.
Kesimpulan: Penjaga Pintu yang Tak Pernah Tidur
Dengan tambahan monitor jaringan ini, sekarang server kamu punya mata dan telinga yang lengkap. Disk, RAM, dan Jaringan semuanya sudah terpantau. Jadi, kalau ada masalah, kamu bakal jadi orang pertama yang tahu, bukan user kamu yang komplain duluan.
Muncul Error "Syntax error: "(" unexpected"?
Itu tandanya kamu jalanin script-nya pake sh. Karena script ini pake fitur spesifik Bash, pastiin kamu jalaninnya pake perintah:
bash nama-script.sh atau kasih izin eksekusi chmod +x lalu jalankan dengan ./nama-script.sh.