Tulesan Biasa

Kesuksesan adalah kemampuan anda mengatasi kegagalan tanpa kehilangan semangat untuk mencapai kesuksesan

Kamis, 30 September 2010

Memonitor Pemakaian Bandwidth

Ketika menggunakan koneksi internet yang dibatasi besarnya pemakaian per waktu tentu membuat kita suka bertanya-tanya berapa besar pemakaian yang sudah digunakan? Apalagi kalau kita menggunakan koneksi dengan GSM atau CDMA yang terkenal mahal per KB-nya, bisa tekor kalau sering kelebihan kuota :D

Setelah sibuk berkeliling dengan om Google akhirnya mendapat informasi yang tepat dari situsnya forum opensuse. Dari situ saya coba adaptasi dengan kebutuhan saya. Berikut langkah-langkahnya.

* Tentu kita memerlukan NetworkManager untuk koneksinya, versi 0.8.x adalah NM yang
paling OK untuk koneksi menggunakan GSM atau CDMA. Untuk mengoleksi data pemakaian
digunakan vnstat, aplikasi command line kecil yang sangat bermanfaat ;-)
* Kita mulai konfigurasi, yang pertama kita perlu edit adalah file /etc/cron.d
/vnstat, file ini digunakan untuk mengatur seberapa sering kita akan mengupdate
data koneksi. Punya saya seperti ini:

MAILTO=root
# to enable interface monitoring via vnstat remove comment on next line
*/2 * * * * vnstat /usr/sbin/vnstat.cron

“*/2″ berarti kita akan mengupdate data setiap 2 menit. vnstat kemudian memakai
/usr/sbin/vnstat.cron, yang isinya

#!/bin/bash
# this script (/usr/sbin/vnstat.cron) reads /etc/sysconfig/vnstat
# to start /usr/bin/vnstat.
# example for /etc/sysconfig/vnstat:
# VNSTAT_OPTIONS="-u -i eth0"
# see also: vnstat(1)

VNSTAT_CONF=/etc/sysconfig/vnstat

if [ ! -f ]; then
exit 0
fi

. $VNSTAT_CONF

/usr/bin/vnstat $VNSTAT_OPTIONS

Hmm…, file ini membaca /etc/sysconfig/vnstat, yg isinya

# see also: vnstat(1)
#
# starting with vnstat-1.6 vnstat can also be
# configured via /etc/vnstat.conf
#
# the following sets vnstat up to monitor ppp0
VNSTAT_OPTIONS="-u -i ppp0"

Perhatikan “ppp0″, itu interface yang dibuat NetwokManager ketika koneksi internet
terhubung. Sesuaikan dengan interface dari distro anda. Oh ya, file-file setingan
tersebut berdasarkan konfigurasi di Fedora, untuk distro lain bisa jadi berbeda,
sesuaikan saja ;-)
* Kemudian bagaimana menghubungkannya dengan NetworkManager? Pada prinsipnya kita
hanya ingin menghitung manakali koneksi terjadi dan tidak perlu menghitung
manakala tidak ada koneksi. Tetapi vnstat dijalankan dengan cron job dan data akan
tidak akurat kalau koneksi tidak ada (ppp0 tidak ada). Ternyata vnstat ada option
–disable dan –enable untuk menghindari penghitungan pada interface yang tidak ada.
Nah, kita buat file script untuk menjalan vnstat dengan option tersebut dan taruh
di /etc/NetworkManager/dispatcher.d/. File-file yang ada di folder tersebut akan
dijalan ketika NM membuat atau memutus koneksi. File script saya adalah:

#!/bin/sh

case "$2" in
up)
/usr/bin/vnstat --enable -i ppp0
;;
down)
/usr/bin/vnstat -r --disable -i ppp0
;;
*)
exit 0
;;
esac

Ketika “up” (koneksi terhubung) vnstat dipanggil dengan option –enable yang akan
membuat perhitungan untuk ppp0 dibuka. Ketika “down” vnstat dipanggil dengan
option –disable yang membuat perhitungan untuk ppp0 ditutup/diabaikan.

Selesai sudah dan ketika berinternet ria dengan GSM/CDMA kita bisa cek jumlah pemakain kita dengan mengetikkan “vnstat” dari terminal. Option untuk menampilkan data-nya banyak, silahkan baca dari “man vnstat” ;-)

Label:

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda