Monitoring Aktifitas Network dengan Menggunakan MRTG dan SNMP
Last Updated on Tuesday, 20 December 2005 14:22 Written by boby gilbert Saturday, 10 December 2005 14:30
Ketika jaringan komputer besar dan aktifitasnya juga besar, maka sangat diperlukan suatu manajemen jaringan. Untuk itu diperlukan SNMP (Simple Network Management Protocol), yaitu sebuah protokol standar yang didesain untuk membantu administrator dalam memonitor dan mengatur jaringan komputernya secara sistematis dari dalam satu kontrol saja.
Karena yang dibahas disini adalah memonitor traffic jaringan komputer, maka penulis akan membahas bagaimana memonitor traffic jaringan komputer dengan menggunakan SNMP dan MRTG
Untuk mengetahui besar paket yang lewat/traffic suatu jaringan bisa menggunakan berbagai macam tools yang ada, baik itu yang berupa software saja ataupun yang sudah terintegrasi dengan hardware. Semua itu ada yang gratis ada yang komersil. Pada pembahasan kita kali ini, penulis akan membahas bagaimana menganalisa traffic jaringan komputer pada router dengan menggunakan MRTG (Multi Router Traffic Grapher), tentunya tools ini hanya akan bisa berjalan jika anda memiliki router, karena yang akan dilihat adalah berapa besar paket yang lewat baik itu yang keluar ataupun paket yang masuk. Pada prinsipnya untuk analisa traffic ini tidak harus dari router itu sendiri tapi juga dapat melihatnya di dalam jaringan komputer itu sendiri dengan menggunakan tools seperti LAN Analyzer dsb.
Dalam tulisan ini saya mengasumsikan mesin router linux telah terinstal apache, php4, dan snmp. Ip pada gateway : 10.0.0.254, Ip Client : 10.0.0.23
Instalasi
Pertama-tama kita jalankan dulu daemon snmpd dan pastikan anda telah login sebagai root
bnux:~#/etc/init.d/snmpd start
Membuat file snmpd.conf
bnux:~#snmpconf
The following installed configuration files were found:
1: /etc/snmp/snmpd.conf
2: /etc/snmp/snmptrapd.conf
Would ....
Valid answer examples: "all", "none","3","1,2,5"
Read in which (default = all):
I can ..............
1: snmpd.conf
2: snmp.conf
3: snmptrapd.conf
Other options: quit
Select File: 1
The configuration information whice
1: Trap Destinations
2: System Information Setup
3: Access Control Setup
Other options: finished
Select section: 3
Description:
This section ....
Select from:
1: a SNMPv3 read-write user
2: a SNMPv3 read-only user
3: a SNMPv1/SNMPv2c read-only access community name
4: a SNMPv1/SNMPv2c read-write access community name
Other options: finished, list
Select section: 3
Configuring: rocommunity
Description:
a SNMPv1/SNMPv2c read-only access community name
arguments: community [default|hostname|network/bits] [oid]
The community name to add read-only access for: public
The hostname or network address to accept this community name from [RETURN for all]: 10.0.0.0/24
The OID that this community should be restricted to [RETURN for no-restriction]:
Finished Output: rocommunity public 10.0.0.0/24
Setelah ini anda telah berhasil membuat sebuah file yang bernama snmpd.conf, dan anda bisa keluar dari tool ini. Moved file snmpd.conf yang telah anda buat ke /usr/share/snmp/
bnux:~# mv snmpd.conf /usr/share/snmp/
Instalasi Mrtg
Mrtg dapat dipergunakan untuk memonitoring aktifitas dari komputer misalnya statistik harddisk, cpu, memory, network, dll. Mrtg diimplementasikan kedalam halaman web atau html yang akan menghasilkan statistik dari aktifitas network, cpu, memory, dll dan secara periodik Mrtg akan men-generate grafik entri yang dimonitor
Untuk instalasi MRTG kita memerlukan beberapa file, selain Mrtg, sebagai dependency dari Mrtg, seperti file zlib, libpng, gd, dan mrtg. Biasanya saya menaruh file-file instalasi di /usr/local/src (optional).
ZLIB
bnux:~# cd /usr/local/src
bnux:/usr/local/src# wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
bnux:/usr/local/src# tar -zxvf zlib-1.1.4.tar.gz
bnux:/usr/local/src# cd zlib-1.1.4
bnux:/usr/local/src/zlib-1.1.4# ./configure
bnux:/usr/local/src/zlib-1.1.4# make
bnux:/usr/local/src/zlib-1.1.4# make install
LIBPNG
bnux:/usr/local/src# wget \
--http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.18.tar.gz
bnux:/usr/local/src# tar -zxvf libpng-1.0.18.tar.gz
bnux:/usr/local/src# cd libpng-1.0.18
bnux:/usr/local/src/libpng-1.0.18 #make -f scripts/ makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
bnux:/usr/local/src/libpng-1.0.18 # cd ..
I.3. GD
bnux:/usr/local/src#wgethttp://www.boutell.com/gd/http/gd-2.0.11.tar.gz
bnux:/usr/local/src#tar-zxvfgd-2.0.11.tar.gz
bnux:/usr/local/src#cdgd-2.0.11
bnux:/usr/local/src/gd-2.0.11#env CPPFLAGS="-I../zlib -I../libpng" LDFLAGS="-L../zlib -L../libpng"./configure\
--disable-shared\
--without-freetype--without-jpeg
bnux:/usr/local/src/gd-2.0.11#make
bnux:/usr/local/src/gd-2.0.11#cp.libs/* .
bnux:/usr/local/src/gd-2.0.11# cd ..
I.4. MRTG
bnux:/usr/local/src# wget \
--http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.10.15.tar.gz
bnux:/usr/local/src# tar xzf mrtg-2.10.15.tar.gz
bnux:/usr/local/src# cd mrtg-2.10.15
bnux:/usr/local/src/mrtg-2.10.15# ./configure
bnux:/usr/local/src/mrtg-2.10.15# make
bnux:/usr/local/src/mrtg-2.10.15# make install
Setelah kita menginstal file-file yang dibutuhkan, kita akan membuat file konfigurasi dari Mrtg yaitu mrtg.cfg.
bnux:~#mkdir /srv/www/htdocs/mrtg/
bnux:~#cd /srv/www/htdocs/mrtg/
bnux:/srv/www/htdocs/mrtg#cfgmaker This e-mail address is being protected from spambots. You need JavaScript enabled to view it
bnux:/srv/www/htdocs/mrtg#vi mrtg.cfg
Isi dari file mrtg.cfg adalah sebagai berikut:
WorkDir: /srv/www/htdocs/mrtg
Language: Indonesia
###IN###
Target[bnux-in]: 1.3.6.1.2.1.2.2.1.10.3&1.3.6.1.2.1.2.2.1.14.3: This e-mail address is being protected from spambots. You need JavaScript enabled to view it :
Options[bnux-in]: bits,growright
SetEnv[bnux-in]: MRTG_INT_IP="10.0.0.23" MRTG_INT_DESCR="eth0"
MaxBytes[bnux-in]: 2400
AbsMax[bnux-in]: 24000
Title[bnux-in]: Traffic In Analysis for 10.0.0.23 -- bnux
PageTop[bnux-in]: <H1>Traffic In Analysis for bnux -- bnux</H1>
<TABLE>
<TR><TD>System:</TD> <TD>bnux in <I>i</I>NterNUX</TD></TR>
<TR><TD>Maintainer:</TD> <TD>MRTG Admin</TD></TR>
<TR><TD>Description:</TD><TD>eth0 </TD></TR>
<TR><TD>Ip:</TD><TD>10.0.0.23 (bnux.internux.net.id)</TD></TR> </TABLE>
###OUT###
Target[bnux-out]: 1.3.6.1.2.1.2.2.1.20.3&1.3.6.1.2.1.2.2.1.16.3: This e-mail address is being protected from spambots. You need JavaScript enabled to view it :
Options[bnux-out]: bits,growright
SetEnv[bnux-out]: MRTG_INT_IP="10.0.0.23" MRTG_INT_DESCR="eth0"
MaxBytes[bnux-out]: 800
AbsMax[bnux-out]: 24000
Title[bnux-out]: Traffic Out Analysis for 10.0.0.23 -- bnux
PageTop[bnux-out]: <H1>Traffic Out Analysis for 10.0.0.23 -- bnux</H1>
<TABLE>
<TR><TD>System:</TD><TD>bnux in <I>i</I>NterNUX</TD></TR>
<TR><TD>Maintainer:</TD> <TD>MRTG Admin</TD></TR>
<TR><TD>Description:</TD><TD>eth0 </TD></TR>
<TR><TD>Ip:</TD><TD>10.0.0.23 (bnux.internux.net.id)</TD></TR> </TABLE>
###TOTAL###
Target[bnux]: /10.0.0.23: This e-mail address is being protected from spambots. You need JavaScript enabled to view it : + -/10.0.0.23: This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Options[bnux]: bits,growright
SetEnv[bnux]: MRTG_INT_IP="10.0.0.23" MRTG_INT_DESCR="eth0"
MaxBytes[bnux]: 4000
AbsMax[bnux]: 24000
LegendI[bnux]: Total:
LegendO[bnux]:
Title[bnux]: Total Traffic Analysis for 10.0.0.23 -- bnux
PageTop[bnux]: <H1>Total Traffic Analysis for 10.0.0.23 -- bnux </H1>
<TABLE>
<TR><TD>System:</TD><TD>bnux in <I>i</I>NterNUX</TD></TR>
<TR><TD>Maintainer:</TD> <TD>MRTG Admin</TD></TR>
<TR><TD>Description:</TD><TD>eth0 </TD></TR>
<TR><TD>Max Speed:</TD> <TD>32.0 Kbits/s</TD></TR>
<TR><TD>Ip:</TD><TD>10.0.0.23</TD></TR> </TABLE>
Ket:
* MaxByte adalah jumlah bandwidth atau lebarnya jalur paket yang diterima suatu host.
* Konfigurasinya:
MaxByte[total]: jumlah-bandwidth/8 x 1000
MaxByte[in] : 2/3 x MaxByte[total]
MaxByte[out] : 1/3 x MaxByte[total]
*â€ÂÂÂÂTarget[bnux-in]:1.3.6.1.2.1.2.2.1.10.3&1.3.6.1.2.1.2.2.1.14.3: This e-mail address is being protected from spambots. You need JavaScript enabled to view it †adalah OID suatu host. Cara untuk mengetahui OID tersebut adalah:
bnux:~# snmpwalk -v1 -On -c public 10.0.0.23 interface
Langkah berikutnya adalah mengeksekusi file mrtg.cfg yang telah kita buat tadi:
bnux:~#mrtg /srv/www/htdocs/mrtg/mrtg.cfg
Pada saat pengeksekusian file mrtg.cfg akan kita dapatkan beberapa pesan error. Teruskan pengeksekusian tersebut sampai pesan error tersebut sampai pesan error tersebut tidak muncul lagi (biasanya sampai 3 kali).
Kemudian kita akan membuat Crontab, untuk me-load file mrtg.cfg setiap 5 menit.
bnux:~#crontab -e
*/5 * * * * /usr/bin/mrtg /srv/www/htdocs/mrtg/mrtg.cfg
Membuat file index.html sebagai output yang ditampilkan di browser:
bnux:~#cd /srv/www/htdocs/mrtg/
bnux:/srv/www/htdocs/mrtg#indexmaker --title=â€ÂÂÂÂKompiku†--output=index.html mrtg.cfg
Restart deamon apache
bnux:~#/etc/init.d/apache2 restart
Cek daemon RunAsDaemon
bnux:~#netstat -pln | grep perl
udp 10368 0 0.0.0.0:32769 0.0.0.0:* 744/perl
Bila terdapat udp seperti nampak di atas, mrtg anda berjalan!!
Kemudian lihat hasilnya pada browser anda
http://localhost/mrtg
Selamat Mencoba!!!!!
Note: Thanks lho Boby! Tulisan yang sangat menarik dan berguna.
-
tulisan yg menarik, btw ada gak manual file pdf nya? emmm atau noleh gak dateng ke rumah nya mas boby belajar2 ni
, ada no tlp gak mas?
-
Ada contoh config file buat monitoring system ga ?? saya coba bikin config filenya tapi pas dijalanin ada errornya ... ato file mib-nya harus didefinisiin letaknya dimana .. thx... btw good article you have
-
Maaf saya masih newbie, saya mau tanya gimana script untuk menjumlahkan dua bandwidth dengan interface yang berbeda di MRTG? terima kasih balasannya akan sangat berarti bagi saya

-
mas minta bantuan donk.
saya mengalami kesulitan setelah nyampek langkah yang ke 1.4 MRTG wak tu cfgmaker public@xxx.xxx.xxx.xxx ko keluar pesan seperti ini:
Can't locate MRTG_lib.pm in @INC (@INC contains: /usr/bin/../lib/mrtg2 /usr/bin /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_pe...


