Instalasi MRTG (Multi RouterTraffic Grapher)



MRTG (Multi Router Traffic Grapher) merupakan sebuah tool untuk memonitor trafik yang
terjadi di dalam sebuah jaringan. Walaupun saat ini sudah banyak tool monitoring yang baru seperti cacti, dan sebagainya, MRTG masih tetap menjadi pilihan seorang system atau network administrator untuk melihat jaringannya. MRTG yang dibuat oleh Tobi Oetiker ditulis dengan menggunakan bahasa Perl dan menggunakan SNMP untuk membaca traffic counters dan bahasa C yang cepat untuk membuat log trafik data dan membuat grafik yang indah yang mewakili trafik jaringan



Tidak saja memonitor trafik jaringan, MRTG mampu memonitor hal2 lain di dalam sebuah server seperti Memory, System Load, dan lain sebagainya. Di dalam artikel ini akan dijelaskan tentang bagaimana cara menginstal MRTG di Centos 5.2.

Untuk menginstalasi MRTG, maka ceklah di server apakah sudah ada paket berikut ini:
a. snmp
rpm -qa | grep snmp b. zlib
rpm -qa | grep zlib c. gd
rpm -qa | grep gd d. libpng
rpm -qa | grep libpng
Jika memang di server kita belum ada paket-paket di atas, maka jika kita server kita terhubung dengan internet bisa menggunakan perintah:
# yum -y install snmp snmp-net zlib gd libpng Namun,
jika server kita tidak terhubung dengan internet, maka kita harus menginstal satu persatu paket-paket tersebut dimana untuk paket snmp bisa di download di sini, paket libpng bisa di download di sini, paket zlib bisa di download di sini, dan paket gd bisa di download di sini. Dan cara untuk menginstal masing-masing paket tersebut bisa di baca di paket-paket tersebut (Biasanya ada di bagian INSTALL, Readme, atau yang sejenis dengan itu). Di tutorial ini, penulis menggunakan paket2 tersebut bawaan dari Centos 5.2. Jika paket-paket tersebut sudah tersinstal dengan baik di dalam sistem, maka kita bisa menginstal aplikasi MRTG. Ceklah di sistem apakah MRTG sudah terinstal dengan cara:

# rpm -qa | grep mrtg Jika belum,maka jika server kita terhubung dengan internet dapat menggunakan perintah:
# yum -y install mrtg Tapi jika sistem kita tidak terhubung ke internet, maka paket MRTG dapat di download di sini. Untuk menginstalasinya dalam sistem, maka silahkan lihat di bagian mrtg-unix-guide.txt pada folder doc. Di tutorial ini penulis menggunakan MRTG bawaan Centos 5.2 yaitu MRTG versi 2.14.5-2 dan penulis menggunakan IP 192.168.1.2 untuk server MRTG.

III. Konfigurasi SNMP
MRTG membutuhkan paket-paket SNMP untuk membaca traffic counters dalam jaringan Maka dari itu, kita harus mengkonfigurasi SNMP terlebih dahulu jika paket-paket SNMP sudah

terinstal dalam sistem. Berikut adalah langkah-langkahnya:
a. Backup file
# cd /etc/snmp
# cp snmpd.conf snmpd.conf.ori

b. Buka file snmp
# vi snmpd.conf c. Konfigurasi File

1. Temukan Skrip berikut:
{com2sec notConfigUser default public} Rubah jadi [{com2sec local localhost public}
com2sec mynetwork 192.168.0.0/24 public ]

2. Temukan Skrip berikut:
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
Rubah Menjadi
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork

3. Temukan Skrip berikut:
view systemview included system Rubah Menjadi:
view all included .1 80 4.
4. Temukan Skrip Berikut:
access notConfigGroup "" any noauth exact systemview none none Rubah Menjadi
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none d. Nyalakan Service SNMP
Agar SNMP tetap menyala ketika reboot, ketikkan perintah berikut:
# service snmpd start
Mengetes Service SNMP
# chkconfig snmpd on e.
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex



IV. Konfigurasi MRTG
Setelah SNMP sudah dikonfigurasi, maka sekarang kita akan mengkonfigurasi MRTG.

a. Membuat Dokumen Root
Dokumen Root dipergunakan untuk menyimpan grafik mrtg.
# mkdir -p /var/www/html/mymrtg

b. Memberikan Perintah cfgmaker
cfgmaker digunakan untuk membuat file konfigurasi mrtg.
# cfgmaker --global 'WorkDir: /var/www/html/mymrtg' --output /etc/mrtg/mymrtg.cfg
public@localhost

c. Membuat halaman index
# indexmaker --output=/var/www/html/mymrtg/index.html /etc/mrtg/mymrtg.cfg

d. Mengkopy seluruh gambar PNG
# cp -av /var/www/mrtg/*.png /var/www/html/mymrtg/

e. Menjalankan Perintah MRTG
# mrtg /etc/mrtg/mymrtg.cfg Maka akan terlihat adanya error. Kita bisa menghiraukan error ini karena error ini hanya terkait dalam masalah bahasa dan tidak mempunyai pengaruh di dalam aplikasi MRTG, namun jika kita ingin menghilangkan error tersebut maka ketikkan perintah berikut:
# env LANG=C /usr/bin/mrtg /etc/mrtg/mymrtg.cfg beberapa kali sampai error tersebut
hilang. Untuk lengkapnya, silahkan lihat gambar di bawah ini:



f. Nyalakan webserver
# service httpd start

g. Tes Di Browser
Buka browser, lalu ketikkan:
http://alamat_IP/mymrtg dalam hal ini:
http://192.168.1.2/mymrtg maka akan terlihat gambar seperti berikut:



Agar mrtg bisa berfungsi optimal untuk memonitor jaringan, maka kita harus menjadwalkan mrtg dengan menggunakan crontab.

a. Masuk ke crontab
# crontab -e b. Menambahkan penjadwalan di cron
Di sini, kita mensetting agar setiap 5 menit sekali mrtg memonitor jaringan

4*/5 * * * * /usr/bin/mrtg /etc/mrtg/mymrtg.cfg --logging /var/log/mrtg.log c. Melihat hasil crontab
# crontab -l



Jika kita menggunakan iptables dalam sistem kita dan juga kita ingin agar mrtg jalan dalam sistem tersebut, maka kita harus melakukan langkah sebagai berikut:

a. Mengijinkan request SNMP dari sistem kita
SERVER="xxx.xxx.xxx.xxx"
iptables -A OUTPUT -p udp -s $SERVER --sport 1024:65535 -d 0/0 --dport 161:162 -m state
--state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --sport 161:162 -d $SERVER --dport 1024:65535 -m state
--state ESTABLISHED -j ACCEPT

b. Mengijinkan SNMP clien masuk ke sistem kita
SERVER="xxx.xxx.xxx.xxx"
iptables -A INPUT -p udp -s 0/0 --sport 1024:65535 -d $SERVER --dport 161:162 -m state
--state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -s $SERVER --sport 161:162 -d 0/0 --dport 1024:65535 -m state
--state ESTABLISHED -j ACCEPT

VII. Melindungi MRTG dengan Password
Tentunya kita tidak ingin mrtg kita diketahui oleh orang-orang yang tidak berkepentingan, bukan? Maka dari itu, kita harus membuat password untuk MRTG kita dengan mengikuti langkah-langkah berikut ini:

a. Membuat file .htaccess # vi /var/www/html/mymrtg/.htaccess
b. Masukkan skrip
berikut ke dalam file .htaccess
AuthName "MRTG Graphs/Html restricted access"
AuthType Basic
AuthUserFile /var/members/.htpasswd
require user mrtgadmin

c. Membuat File AuthUserFile # mkdir -p /var/members/
# touch /var/members/.htaccess

d. Membuat user dan password
# htpasswd -c /var/members/.htpasswd mrtgadmin Dan masukkan password yang
diinginkan.

e. Konfigurasi File httpd
Buka file httpd dengan cara:
# vi /etc/httpd/conf/httpd.conf Lalu cari skrip seperti dibawah ini:





Jika kita ingin memonitor server lain dengan mrtg, maka kita cukup menginstal paket snmp di server tersebut. Misalnya kita ingin memonitor server yang mempunyai IP 192.168.1.3 maka pastikan paket snmp sudah terinstal di dalam server tersebut. Setelah itu, settinglah file snmp.conf dengan cara yang sama dengan di atas. Lalu nyalakan snmp tersebut dengan cara

# service snmpd start Kemudian, lihatlah di server 192.168.1.2 apakah snmp bisa diakses di server tersebut dengan cara:
# snmpwalk -v 1 -c public 192.168.1.3 IP-MIB::ipAdEntIfIndex



Setelah itu, maka langkah-langkah untuk membuat grafik MRTG untuk server 192.168.1.3
seperti di atas, tetapi harap diperhatikan tentang penempatan foldernya jangan sampai
menimpa grafik mrtg localhost (192.168.1.2). Secara singkatnya, langkah-langkahnya sebagai berikut:

a. Membuat Dokumen Root
# mkdir -p /var/www/html/mymrtg/server

b. Memberikan Perintah cfgmaker
# cfgmaker --global 'WorkDir: /var/www/html/mymrtg/server' --output /etc/mrtg/servermymrtg.cf
g public@192.168.1.3
c. Membuat halaman index
# indexmaker --output=/var/www/html/mymrtg/server/index.html /etc/mrtg/servermymrtg.cfg
d. Mengkopy seluruh gambar PNG
# cp -av /var/www/mrtg/*.png /var/www/html/mymrtg/server

e. Menjalankan Perintah MRTG
# mrtg /etc/mrtg/servermymrtg.cfg

f. Tes Di Browser
Buka browser, lalu ketikkan:
http://alamat_IP/mymrtg/server dalam hal ini:
http://192.168.1.2/mymrtg/server maka akan terlihat gambar seperti berikut:





Dalam pendahuluan disebutkan bahwa MRTG tidak hanya bisa memonitor jaringan tapi juga
bisa mengetahui kondisi CPU seperti memory atau Load Processor. Berikut adalah
langkah-langkahnya untuk melihat kondisi CPU di server 192.168.1.2

a. Masukkan Script I
Masukkan skrip berikut di /etc/mrtg/mymrtg.cfg
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt, /usr/share/snmp/mibs/TCP-MIB.txt
Sebaiknya skrip tersebut diletakkan di posisi atas di bawah tulisan:
### Global Config Options

b. Masukkan Script II
Masih di file yang sama, masukkan skrip berikut di bagian paling bawah dari file mymrtg.cfg
### CPU Load###
YLegend[Cpu]: Percentage (%)
LegendI[Cpu]: Used :
LegendO[Cpu]:
Unscaled[Cpu]: ymwd
ShortLegend[Cpu]: %
Options[Cpu]: growright, nolegend, nopercent
#Target[Cpu]: 100 - ssCpuIdle.0&ssCpuIdle.0:public@localhost
Target[Cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@localhost +
ssCpuRawSystem.0&ssCpuRawSystem.0:public@localhost +
ssCpuRawNice.0&ssCpuRawNice.0:public@localhost
MaxBytes[Cpu]: 100
Title[Cpu]: CPU Load Analysis -- System
PageTop[Cpu]: CPU Load Analysis -- System //




//
System :System (edit /etc/snmp/snmpd.conf)
Maintainer : Root
<root@pontangpanting.com> (configure /etc/snmp/snmpd.conf)
Description: ssCpuRawUser.0 + ssCpuRawSystem.0 +
ssCpuRawNice.0
Max CPU : 100 %

### Physical Available Memory ###
YLegend[Mem]: Mega Bytes
LegendI[Mem]: Free :
LegendO[Mem]:
Unscaled[Mem]: ymwd
Factor[Mem]: 1024
YTicsFactor[Mem]: 1024
ShortLegend[Mem]: Bytes
kilo[Mem]: 1024
Options[Mem]: growright, nolegend, gauge
Target[Mem]: memAvailReal.0&memAvailReal.0:public@localhost:
MaxBytes[Mem]: 1026152
Title[Mem]: Physical Memory Available Analysis -- Stargate
PageTop[Mem]: Physical Memory Available Analysis -- System //



//
System : System (edit /etc/snmp/snmpd.conf)
Maintainer : Root <root@pontangpanting.com> (configure

/etc/snmp/snmpd.conf)
Description:enterprises.ucdavis.memory.memAvailReal.0
Max Mem :1024.0 MBytes


Untuk bagian System dan Maintainer di bagian Memory dan CPU Load silahkan diisi sesuai selera. Kemudian untuk memori, contoh diatas menggunakan nilai 1024. Jika kita hanya mempunyai memori dibawah atau di atas nilai tersebut silahkan diisi sesuai dengan memori yang ada. Kemudian untuk skrip tersebut jangan sampai terpisah bagian-bagiannya. Jadi untuk skrip pada bagian tersebut harus dalam satu
baris. Misalnya pada bagian Maintainer, skrip di atas terlihat bagian

root@pontangpanting.com

berada di bawah dan ini tidak boleh. Seharusnya root@pontangpanting.com harus berada pada baris yang sama dengan baris Maintainer
agar MRTG tidak salah dalam membaca file ini. Setelah itu untuk bagian yang diawali dengan dan diakhiri dengan
, posisinya harus agak lebih ke dalam sehingga menyerupai pembuatan table dalam PHP dan juga tidak boleh terpisah bagian-bagiannya. Dan juga hapus tanda // pada bagian dan
.

Kita juga bisa tidak menggunakan
...

, karena perintah php tersebut hanya menunjukkan informasi tentang sistem saja dan tidak berpengaruh apa-apa dengan sistem jika perintah tersebut tidak ada.

c. Restart mrtg
/usr/bin/mrtg /etc/mrtg/mymrtg.cfg d. Restart indexmaker
indexmaker --output=/var/www/html/mymrtg/index.html /etc/mrtg/mymrtg.cfg Kemudian
bukalah browser untuk melihat hasilnya. Tunggulah beberapa saat maka akan tampak sebagai berikut:



Jika kita ingin mempercepat gambar yang ingin ditampilkan ketikkan perintah berikut:

# env LANG=C /usr/bin/mrtg /etc/mrtg/mymrtg.cfg --logging /var/log/mrtg.log sampai
pernyataan error tidak ada lagi. Untuk melihat server 192.168.1.3, maka dengan cara yang sama yaitu memasukkan skrip-skrip yang diatas ke file servermymrtg.cfg yang ada di folder /etc/mrtg kemudian mengganti kata localhost menjadi 192.168.1.3. Setelah itu mengikuti langkah-langkah yang sama dengan yang di atas yaitu merestart mrtg dan merestart indexmaker tapi harus diingat penempatan foldernya.

2. Merubah Pergerakan Grafik
Secara Default, grafik yang ditampilkan akan bergerak dari kiri ke kanan. Namun kalau kita ingin menampilkan arah sebaliknya maka bisa ditambahkan skrip options di letakkan di file mymrtg.cfg di folder /etc/mrtg di bagian grafik yang akan dirubah baik itu grafik interface atau yang lainnya. Misalnya skrip dibawah ini untuk interface: Options[xxx]: bits, growright xxx dirubah menjadi localhost_2 atau dengan statemen yang sama dengan yang lain

3. Mengeksplor MRTG
Jika kita ingin mengeksplor kemampuan MRTG yang lain, silahkan buka browser lalu ketikkan:
http://alamat_IP/mrtg Jika kita memasang MRTG di IP 192.168.0.253 maka ketikkan:
http://192.168.0.253/mrtg maka akan tampak sebagai berikut:



2 komentar: