Bandwidth Monitoring Menggunakan vnStat pada Linux OS

Bandwidth Monitoring Menggunakan vnStat pada Linux OS

vnStat

vnStat adalah adalah sebuah program berbasis console atau terminal yang berfungsi untuk memantau atau memonitor network traffic. Karena berbasis console dan bekerja pada level kernel, vnStat bekerja dengan sangat ringan dan resource yang minimal. vnStat dikembangkan oleh seorang programmer yang bernama Teemu Toivola.

Instalasi vnStat

Instalasi vnStat pada Ubuntu atau Debian based OS:

sudo apt-get install vnstat

Instalasi vnStat pada CentOS:

yum install vnstat

Bandwidth Monitoring Menggunakan vnStat pada Linux OS

Setting Config File

Setelah proses instalasi selesai, vnStat akan langsung bekerja secara otomatis dengan setting default dan memberikan limit 100MBit/sec. Sekarang kita akan merubah setting vnStat agar sesuai dengan preferensi kita.

nano /etc/vnstat.conf

Hasilnya :

/etc/vnstat.conf
# vnStat 1.11 config file
##

# default interface
Interface "wlan1"

# location of the database directory
DatabaseDir "/var/lib/vnstat"

# locale (LC_ALL) ("-" = use system locale)
Locale "-"

# on which day should months change
MonthRotate 1

# date output formats for -d, -m, -t and -w
# see 'man date' for control codes
DayFormat    "%x"
MonthFormat  "%b '%y"
TopFormat    "%x"

# characters used for visuals
RXCharacter       "%"
TXCharacter       ":"
RXHourCharacter   "r"
TXHourCharacter   "t"

# how units are prefixed when traffic is shown
# 0 = IEC standard prefixes (KiB/MiB/GiB/TiB)
# 1 = old style binary prefixes (KB/MB/GB/TB)
UnitMode 0

# output style
# 0 = minimal & narrow, 1 = bar column visible
# 2 = same as 1 except rate in summary and weekly
# 3 = rate column visible

# used rate unit (0 = bytes, 1 = bits)
RateUnit 1

# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
# (unless interface specific limit is given)
MaxBandwidth 0

# interface specific limits
#  example 8Mbit limit for eth0 (remove # to activate):
#MaxBWeth0 8

# how many seconds should sampling for -tr take by default
Sampletime 5

# default query mode
# 0 = normal, 1 = days, 2 = months, 3 = top10
# 4 = dumpdb, 5 = short, 6 = weeks, 7 = hours
QueryMode 0

# filesystem disk space check (1 = enabled, 0 = disabled)
CheckDiskSpace 1

# database file locking (1 = enabled, 0 = disabled)
UseFileLocking 1

# how much the boot time can variate between updates (seconds)
BootVariation 15

# log days without traffic to daily list (1 = enabled, 0 = disabled)
TrafficlessDays 1


# vnstatd
##

# how often (in seconds) interface data is updated
UpdateInterval 30

# how often (in seconds) interface status changes are checked
PollInterval 5

# how often (in minutes) data is saved to file
SaveInterval 5

# how often (in minutes) data is saved when all interface are offline
OfflineSaveInterval 30

# force data save when interface status changes (1 = enabled, 0 = disabled)
SaveOnStatusChange 1

# enable / disable logging (0 = disabled, 1 = logfile, 2 = syslog)
UseLogging 2

# file used for logging if UseLogging is set to 1
LogFile "/var/log/vnstat.log"

# file used as daemon pid / lock file
PidFile "/run/vnstat/vnstat.pid"

# vnstati
##

# title timestamp format
HeaderFormat "%x %H:%M"

# show hours with rate (1 = enabled, 0 = disabled)
HourlyRate 1

# show rate in summary (1 = enabled, 0 = disabled)
SummaryRate 1

# layout of summary (1 = with monthly, 0 = without monthly)
SummaryLayout 1

# transparent background (1 = enabled, 0 = disabled)
TransparentBg 0

# image colors
CBackground     "FFFFFF"
CEdge           "AEAEAE"
CHeader         "606060"
CHeaderTitle    "FFFFFF"
CHeaderDate     "FFFFFF"
CText           "000000"
CLine           "B0B0B0"
CLineL          "-"
CRx             "92CF00"
CTx             "606060"
CRxD            "-"
CTxD            "-"

Penjelasan dalam file .conf ini sendiri sudah cukup jelas, dalam menjabarkan fungsi-fungsinya. Namun, ada beberapa hal yang mungkin kita ingin perhatikan :

1. # output style

# output style
# 0 = minimal & narrow, 1 = bar column visible
# 2 = same as 1 except rate in summary and weekly
# 3 = rate column visible
OutputStyle 3

Pilihan dalam parameter ini akan memberikan kita layout yang berbeda ketika kita melihat hasil statistik dari vnStat. Pilihan ini bersifat personal dan untuk hasil yang cocok bisa dicoba dari ketiga pilihan yang ada

2. # used rate unit

# used rate unit (0 = bytes, 1 = bits)
RateUnit 1

Unit rate yang bisa dipilih. Ingat bahwa 1 byte = 8 bits.

3. # maximum bandwidth

# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
# (unless interface specific limit is given)
MaxBandwidth 0

Parameter yang berguna, jika kita ingin menghemat kuota bandwith yang kita miliki. Secara default vnStat memberikan value 100 pada parameter ini. Jika kita tidak menginginkan vnStat untuk men-shaping bandwidth kita, maka bisa diisikan dengan angka 0.

Bandwidth Monitoring

Secara personal hanya 2 perintah yang sering saya gunakan, untuk memantau bandwidth menggunakan vnstat.

1. Bandwidth Summary

vnstat

Jika kita ingin mengetahui summary dari bandwidth yang kita gunakan, kita bisa menggunakan perintah “vnstat”. Perintah diberikan tanpa tambahan.

Bandwidth Monitoring Menggunakan vnStat pada Linux OS

2. Live Monitoring

vnstat -l 0

Dengan menggunakan perintah diatas kita bisa mengetahui secara real time, berapa bit/sec dan packet/sec yang sedang kita gunakan.

Bandwidth Monitoring Menggunakan vnStat pada Linux OS

Selain dua perintah diatas ada beberapa perintah lagi yang bisa kita gunakan, berikut adalah daftar lengkap dari perintah vnStat yang bisa kita gunakan.

Simple Command
-q
-h
-d
-m
-w
-t
-s
-u
-i
-?
-v
-tr
-ru
-l
Command
–query
–hours
–days
–months
–weeks
–top10
–short
–update
–iface
–help
–version
–traffic
–rateunit
–live
Remarks
query database
show hours
show days
show months
show weeks
show top10
use short output
update database
select interface
short help
show version
calculate traffic
swap configured rate
real time transfer rate

~ Bandwidth Monitoring Menggunakan vnStat pada Linux OS

Leave a Reply