Friday, September 18, 2015

Network Monitoring dengan MRTG

Network Monitoring dengan MRTG


Sumber 
by Toto Harjendro 140808
Based on CentOS 5

MRTG, atau Multi Router Traffic Graph adalah suatu program yang digunakan untuk mengumpulkan informasi-informasi SNMP dari beberapa router, diolah datanya menjadi log-log dan ditampilkan dalam bentuk grafik. Gambar grafik tersebut disajikan di dalam halaman web dan dapat diakses dari browser apapun. Dikarenakan MRTG berbasis SNMP, pada dasarnya anda dapat menampilkan grafik untuk segala perangkat dan service yang di-support oleh SNMP. Tetapi apabila SNMP anda tidak berfungsi maka grafik juga tidak bisa ditampilkan oleh MRTG.
MRTG akan membuat grafik secara berkala per hari, per minggu, per bulan dan per tahun, sehingga anda dapat mendapat gambaran atas jaringan anda. Tetapi MRTG hanya mengumpulkan data dan mengolah grafik, bukan untuk memberikan peringatan.
MRTG juga bergantung terhadap web server, karena grafik ditampilkan dalam suatu website. Anda bisa gunakan webserver apa saja yang anda kehendaki.

Install MRTG

Untuk menginstall MRTG anda membutuhkan beberapa paket :
  • net-snmp
  • net-snmp-utils
  • mrtg
  • httpd
Untuk menginstallnya pada Fedora/CentOS anda gunakan perintah :
# yum install net-snmp-utils net-snmp mrtg httpd

SNMP

Simple Network Management Protocol adalah suatu program untuk mempermudah anda dalam memonitor dan mengatur perangkat-perangkat jaringan, seperti router, switch, server, printer dan lain-lain. Informasi yang dapat di monitor pun bermacam-macam dari hal-hal biasa seperti memonitor traffic di suatu perangkat sampai yang tidak biasa seperti temperatur udara di dalam router.
Versi dari SNMP terdiri dari v1, v2 dan v3. Dimana pada versi 3 sudah memberikan pengamanan yang lebih dibanding dua versi di bawahnya. Tetapi karena versi 1 dan 2 SNMP masih umum digunakan, saya batasi di ke 2 versi ini saja.

Konfigurasi SNMP

  • Pertama kali anda nyalakan service dari snmpd, caranya :
    # /etc/init.d/snmpd restart
    # chkconfig snmpd on
  • Kemudian anda test dengan menggunakan program snmpwalk. Caranya :
    # snmpwalk -v 2c -c public localhost system
    Keterangan :
    • -v 2c ==> Adalah versi SNMP yang digunakan. Dalam hal ini SNMP versi 2c.
    • -c public ==> Adalah "community string" yang dijadikan password dari SNMP yaitu public.
    • localhost ==> Adalah device yang ingin ditampilkan informasinya.
    • system ==> Adalah shortcut dari semua OID dibawah dari hirarki dari 1.3.6.1.2.1.1. Atau anda bisa tuliskan :
      # snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.1.
      Maka menghasilkan hasil yang sama.

    Contoh hasil tampilan yang benar adalah :
    SNMPv2-MIB::sysDescr.0 = STRING: Linux lp3t0106 2.6.18-8.el5 #1 SMP Thu Mar 15 19:57:35 EDT 2007 i686
    SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
    DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (499593) 1:23:15.93
    SNMPv2-MIB::sysContact.0 = STRING: Root (configure /etc/snmp/snmp.local.conf)
    [ ... ]
  • Kemudian untuk mempermudah anda ganti saja file konfigurasi-nya dengan yang baru. Tetapi jangan sampai selain user root dapat membaca file tersebut.
    # cd /etc/snmp
    # mv snmpd.conf snmpd.conf-old
    # chmod 0600 snmpd.conf
    # vi /etc/snmp/snmpd.conf
    Anda isi dengan :
    ##/etc/snmp/snmpd.conf
    # com2sec adalah pengaturan "security name" yang digunakan untuk
    # terhubung dengan dengan server anda. Dimana "source" berisi IP 
    # address user yang boleh menggunakan snmp anda, dan "community"
    # adalah password yang digunakan untuk terhubung dengan server 
    # anda.
    #
    ## sec.name       source              community
    ##  =======       ======              =========
    com2sec local             localhost            123456
    com2sec lan               192.168.1.0/24       123456
    #
    # group digunakan untuk memetakan security name dengan nama 
    # groupnya. 
    #
    ##        group.name          sec.model    sec.name
    ##       =================   =========     ========
    group     ROGroup_1               v1        local
    group     ROGroup_1               v1        lan
    group     ROGroup_1               v2c       local
    group     ROGroup_1               v2c       lan
    #
    # view digunakan untuk mengatur komponen MIB yang boleh ditampilkan.
    # Dalam hal ini semua informasi dapat ditampilkan.
    #
    ##     MIB.view.name    incl/excl MIB.subtree mask
    ##    ==============   ========= =========== ====
    view  all-mibs         included      .1      80
    #
    # access digunakan untuk mengatur dibagian mana dari hirarki MIB
    # boleh diakses oleh suatu user. 
    #
    ##       MIB
    ##       group.name   context sec.model sec.level prefix read       write notif
    ##       ========== ======= ========= ========= ====== ====       ===== =====
    access   ROGroup_1    ""      v1        noauth     exact all-mibs none   none
    access   ROGroup_1    ""      v2c       noauth     exact all-mibs none   none
    
  • Kemudian anda cek kembali apakah sudah berubah konfigurasi snmp-nya dengan merestart service snmp dan lakukan percobaan akses snmp.
    # /etc/init.d/snmpd restart
    # snmpwalk -v 2c -c 123456 localhost system

Konfigurasi HTTPD/Apache

  • Untuk menggunakan httpd anda cukup menyalakan service httpd/apache.
    # /etc/init.d/httpd restart
    # chkconfig httpd on
  • Anda tidak perlu melakukan perubahan apapun di apache anda. Tetapi yang perlu diperhatikan adalah DocumentRoot dari dokumen-dokumen html anda. Karena di bawah direktori itulah file MRTG akan ditempatkan. Secara default DocumentRoot Apache berada pada /var/www/html.

Konfigurasi Standard MRTG

  • Pertama kali anda harus membuat file kofigurasi dari MRTG, dimana akan dibuat supaya MRTG memonitor semua perangkat jaringan di komputer anda. caranya :
    # cfgmaker --output=/etc/mrtg/mrtg.cfg --global "workdir: /var/www/html/bandwidth" \
          -ifref=ip --global 'options[_]: growright,bits' 123456@localhost

    Keterangan :
    • --output=/etc/mrtg/mrtg.cfg ==> adalah file konfigurasi yang akan dibuat.
    • --global: /var/www/html/bandwidth ==> adalah lokasi direktori tempat grafik dari mrtg akan disajikan.
    • -ifref=ip ==> MRTG akan mengecek traffic berdasarkan IP address dari setiap device.
    • --global 'options[_]: growright,bits' ==> berarti grafik ditampilkan dari sebelah kanan dan traffic akan diukur berdasarkan bit.
    • 123456@localhost ==> adalah community string atau "password" dari snmp server dan lokasi snmp server.
  • Kemudian anda jalankan mrtg anda secara manual, untuk memulai membentuk grafiknya.
    # mrtg /etc/mrtg/mrtg.cfg
    Tetapi cara ini sering gagal, disebabkan variabel LANG dalam format UTF-8 tidak disupport MRTG, untuk merubahnya anda gunakan :
    # env LANG=C /usr/bin/mrtg /etc/mrtg.cfg
  • Setelah itu anda bentuk file index supaya halaman web dapat diakses.
    # mkdir /var/www/html/bandwidth
    # chmod 755 /var/www/html/bandwidth
    # indexmaker --output=/var/www/html/bandwidth/index.html /etc/mrtg/mrtg.cfg
  • Pembuatan grafik traffic jaringan dilakukan secara periodik, untuk itu diperlukan penjadwalan agar grafik akan selalu terbentuk dalam jangka waktu tertentu. Secara default penjadwalan sudah dilakukan oleh Fedora dan CentOS selama 5 menit sekali yang diatur pada file /etc/cron.d/mrtg. Anda bisa cek dengan cara :
    # cat /etc/cron.d/mrtg
    Apabila file konfigurasi tidak ada bisa buat penjadwalan sendiri
    # crontab -e 
    Diisi dengan :
    */5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
  • Sekarang MRTG anda sudah berjalan anda bisa lihat pada browser pada alamat "http://localhost/bandiwidth".

No comments: