İlginizi Çekebilir
  1. Ana Sayfa
  2. Network
  3. MRTG – Multi Router Traffic Grapher Kurulumu

MRTG – Multi Router Traffic Grapher Kurulumu

2

Bu makalemizde network trafiğini izlemeye olanak sağlayan araçlardan bir tanesi olan MRTG kurulumunu ele alacağız.

MRTG, internet trafiğini anlık olarak izlemeye olanak sağlayan bir sistemdir. Trafiği grafiklere döküyor oluşu ve bu grafikleri de html ortamında bizlere sunması ile oldukça pratik bir sistemdir. MRTG Windows ve Unix tabanlı işletim sistemlerinde çalışabilmektedir. Kurulumlar iki işletim sistemi için farklı ilerlemektedir. Biz bu makalemizde MRTG Ubuntu üzerindeki kurulumunu inceliyor olacağız.

Resim-1

MRTG ile ilgili incelemeler yaptığınızda karşınıza CACTI gibi sistemler de çıkması muhtemeldir. CACTI ile de MRTG trafiklerinin izlenebilmesi mümkündür. CACTI farklı bir sistemdir, MRTG farklı bir sistemdir. Ancak ikisinin de temelde amaçları aynıdır ve kullanıcılarına aynı çıktıları vereceklerdir. CACTI web ara yüzü oluşu ile kullanıcılara kurulum ve yönetilebilirlik açısından kolaylıklar sağlayabilmektedir. Buradan hareketle MRTG’nin bir marka veya tekil sistem değil terminoloji olduğunu çıkarım yapabiliriz. Üreticilerin ve açık kaynak kod geliştiricilerinin katkılarıyla çeşitli isimlerde temel MRTG işlevini yerine getiren sistemler piyasada mevcuttur.

Sitemizde Üzerinde MRTG kurulumunu anlatan bir makalemiz daha yer almaktadır. Buradan ilgili makaleye de ulaşabilirsiniz. Bu makalemizde Ubuntu üzerinde MRTG kurulumunu anlatacağımızdan sistemlerinizde güncel bir Ubuntu Desktop veya server sürümünün kurulu olduğunu varsayıyorum.

Makalemizde ayrıca MRTG kurulumu sonrasında trafiğin RRD dosyalarına dönüştürülmesi işlemine de değinilecektir.

Öncelikle Ubuntu güncelleme işlemini gerçekleştirelim.

$ sudo apt -y

$ sudo apt upgrade -y

Daha sonra MRTG kurulumunu gerçekleştirelim.

$ sudo apt-get install mrtg

Ubuntu üzerinde bize tüm kurulum boyunca lazım olacak olan dizinleri oluşturmamız gerekmektedir. Bunu için öncelikle aşağıdaki komutlar ile gerekli olan dizinleri oluşturalım.

Bant genişliğinin tutulacağı config dosyaları için:

  • mkdir /etc/mrtgconf

RRD grafikleri için config dosyaları için:

  • mkdir /etc/mrtgconf/mrtgorrd

Cihaz sayılarının yer alacağı genel klasör için:

  • mkdir /var/www/html/mrtg

Çizdirilen grafikleri görüntüleyebileceğimiz klasör için:

  • mkdir /var/www/html/mrtg/omurga_adiniz

Web yayını için omurga adı ile rrd’yi işaret edecek olan klasör:

  • mkdir /var/www/html/mrtg/mrtgorrd/omurga_adiniz_rrd

Sisteme dahil edeceğiniz tüm cihaz sayılarını .rrd uzantısıyla görüntüleyebilmek için gerekli olan klasör:

  • mkdir /var/www/html/rrd

Dizinleri oluşturduktan sonra artık adım adım MRTG kurulumuna geçeceğiz. Ancak trafiği temin edeceğimiz cihaz ile iletişim kuracağımızdan bu cihazın SNMP ile haberleşmeye izninin olması gerekecektir. Ayrıca V2 ile çalışıyor olması da tüm kurulum boyunca hata almamanızı sağlayacaktır. Trafiği verecek olan cihazı Backbone şeklinde bir omurga cihaz olarak düşünebilirsiniz. MRTG ile network ucunuzdaki tüm trafiği anlık olarak alabileceğiniz en sorunsuz cihaz hangisi ise o cihazı belirlemeniz gerekmektedir. Router veya Backbone olarak düşündüğümüz sistemde kurulumumuza devam edelim.

  • Ubuntu işletim sisteminde terminal üzerinde root kullanıcısına geçilir.

$ sudo su

  • Öncelikle aşağıdaki ile MRTG HAT grafiğini oluşturulması işlemlerine başlayabiliriz.

$ cfgmaker –snmp-options=::::2 –show-op-down –zero-speed=1000000000 –global “Options[_]:growright,bits” –global “WorkDir:/var/www/html/mrtg/omurga_adiniz/” backbone_community@backboneIP >/etc/mrtgconf/mrtg.omurga_adiniz

  • Daha sonra indexmaker işleminde dizin yok hatası almamak için aşağıdaki düzeltme yapılır.

$ vi /etc/mrtgconf/mrtg.omurga_adiniz

#WorkDir:/var/www/mrtg

EnableIPv6:yes

Options[_]:growright,bits

WorkDir:/var/www/html/mrtg/omurga_adiniz

Hatırlatma:

vi bir editördür. Düzenleme yapabilmek için “i” ile modu aktif edilir. ESC ile komut moduna geçilebilir ve kaydedip çıkmak için “:wq” yazıp enter demek yeterli olacaktır.

  • indexmaker komutu ile kendimize uygun bir html dosyası oluşturacağız.

$ indexmaker –title “MSHOWTO ANA OMURGA GRAFİĞİ” /etc/mrtgconf/mrtg.omurga_adiniz –output /var/www/html/mrtg/omurga_adiniz/index.html

$ env LANG=C mrtg /etc/mrtgconf/mrtg.omurga_adiniz

  • kök dizinde iken crontab –e enter yapıyoruz.

$ crontab –e

Açılan kısımda;

*/5**** env LANG=C mrtg /etc/mrtgconf/mrtg.omurga_adiniz

Buraya kadar MRTG’yi işletim sistemize kurduk ve gerekli dizinleri oluşturarak temel bağımlılıkları halletmiş olduk. Şimdi elde edilen trafiği RRD uzantılı grafiklere dönüştürme işlemine geçebiliriz.

RRD tool kullanımı için gerekli paketleri kuruyoruz.

$ apt-get install rrdtool

$ apt-get install librrds-perl

$ cd /etc/mrtgconf dizinine geliyoruz.

  • cp mrtg.omurga_adiniz ./mrtgorrd/omurga_adiniz.rrd
  • cd /etc/mrtgconf/mrtgorrd
  • vi omurga_adiniz.rrd (editörü açıyoruz ve aşağıdaki satırları ilave ediyoruz)

LogFormat:rrdtool

WorkDir:/var/www/html/mrtg/mrtgorrd/omurga_adiniz_rrd

  • indexmaker –title “MSHOWTO ANA OMURGA MRTG GRAFİĞİ” /etc/mrtgconf/mrtgorrd/omurga_adiniz.rrd –output /var/www/html/mrtg/mrtgorrd/omurga_adiniz_rrd/index.html
  • env LANG=C mrtg /etc/mrtgconf/mrtgorrd/omurga_adiniz.rrd
  • Kök dizinde iken crontab -e enter yapıyoruz ve aşağıdaki satırı ekliyoruz.

*/5**** env LANG=C mrtg /etc/mrtgconf/mrtgorrd/omurga_adiniz.rrd

 

Bu aşamadan sonra MRTG kurulumu ve RRD dosyalarına dönüştürme işlemi tamamlanmış oluyor. Şimdi RRD dosyalarını nasıl kullanacağımızı görmek kaldı. Aşağıdaki örnekleştirilmiş link ile MRTG trafiğini .RRD uzantılı dosyalar şeklinde görüntülememiz mümkün olacaktır.

http://UBUNTU_SUNUCU_IP/mrtg/mrtgorrd/omurga_adiniz_rrd/BACKBONE_IP-xgigabitethernet25.rrd

Yukarıdaki linkte öncelikle Ubuntunun kurulu olduğu sunucunun IP adresi hemen ardından MRTG’nin çalıştığı web dizini gelmektedir. Burada önemli olan kurulumlar tamamlandıktan sonra sistemin omurga_adiniz_rrd klasörü içerisinde omurga cihazınızdan çektiği trafiklerden hangisinin doğru olduğu tespit etmektir. Bu da zaman grafiklerden görülecektir. Yani omurga cihazınızdaki portlardan hangisi sizin ucunuz ise ona ait rrd dosyasını kullanmalısınız.

Şimdide aktif cihaz sayılarının grafiklerini oluşturalım.

  • $ /usr/bin/rrdtool create /var/www/html/rrd/omurga_adiniz.rrd –step 300 –start 0 DS:cihaz_sayisi:GAUGE:600:1:100000 RRA:AVERAGE:0.5:1:600 RRA:AVERAGE:0.5:6:700 RRA:AVERAGE:0.5:24:775 RRA:AVERAGE:0.5:288:797 RRA:MAX:0.5:1:600 RRA:MAX:0.5:6:700 RRA:MAX:0.5:24:775
  • /usr/bin/rrdtool update /var/www/html/rrd/omurga_adiniz.rrd N:’snmpwalk -v 2c -c Backbone_Community_Name Backbone_IP 1.3.6.1.4.1.2011.5.25.41.1.7.1.1 | wc -l’ > /dev/null 2>&1
  • Kök dizinde iken crontab -e enter dedikten sonra aşağıdaki satırı ekliyoruz.

*/5**** /usr/bin/rrdtool update /var/www/html/rrd/omurga_adiniz.rrd N:’snmpwalk -v 2c -c BackboneCommunityName BackBoneIP 1.3.6.1.4.1.492.1.2.2.1.5 | wc -l’> /dev/null 2&1

Bu grafiklerin rrd linklerinin elde edilmesi için ise aşağıdaki örnek link yapısı kullanılacaktır.

http://UbuntuSunucuIP/rrd/omurga_adiniz.rrd

Resim-2

EKSTRALAR

  • Günlük Grafikler

Rrdtool graph /var/www/rrd/omurga_adiniz/omurga.png -a PNG -h 150 -s -129600 -X 1 -v “OMURGA”\

“DEF:cihaz_sayisi=/var/www/rrd/omurga_adi.rrd:cihaz_sayisi:AVERAGE”\

‘CDEF:Hosts=cihaz_sayisi’\

‘AREA:cihaz_sayisi#00FF00:Kullanici\j’

‘GPRINT:Hosts:LAST:Anlik Kullanici Sayisi\:%1f’\

‘GPRINT:Hosts:AVERAGE:Ortalama Kullanici Sayisi\:%3.01f\j’\

‘GPRINT:Hosts:MAX:Maksimum Kullanici Sayisi\:%3.01f\j’

  • Saatlik Grafikler

rrdtool graph /var/www/rrd/omurga_saatlik_grafik/saatlik.png -a PNG -w 785 -h 120 \

–slope-mode \

–start “end-1 hours” \

–font DEFAULT:7: \

–title “smtp traffic (Saatlik Trafik )” \

–watermark “date” \

–vertical-label “Cihaz sayisi” \

–right-axis-label “” \

–right-axis 1:0 \

–alt-y-grid –rigid \

“DEF:cihaz_sayisi=/var/www/rrd/omurga_adiniz.rrd:cihaz_sayisi:AVERAGE” \

‘CDEF:Hosts=cihaz_sayisi’ \

‘AREA:cihaz_sayisi#0000FF:Kullanici\j’ \

‘GPRINT:Hosts:LAST:Anlik Kullanici Sayisi\:%3.0lf\j’ \

‘GPRINT:Hosts:AVERAGE:Ortalama Kullanici Sayisi\:%3.0lf\j’ \

‘GPRINT:Hosts:MAX:Maksimum Kullanici Sayisi\:%3.0lf\j’

 

  • Haftalık Grafikler

rrdtool graph /var/www/rrd/omurga_haftalik_grafik/haftalik.png -a PNG -w 785 -h 120 \

–slope-mode \

–start “end-1 weeks”   \

–font DEFAULT:7: \

–title “smtp traffic (Haftalik Trafik )” \

–watermark “date” \

–vertical-label “Cihaz sayisi” \

–right-axis-label “” \

–right-axis 1:0 \

–alt-y-grid –rigid \

“DEF:cihaz_sayisi=/var/www/rrd/omurga_adiniz.rrd:cihaz_sayisi:AVERAGE” \

‘CDEF:Hosts=cihaz_sayisi’ \

‘AREA:cihaz_sayisi#FF0000:Kullanici\j’ \

‘GPRINT:Hosts:LAST:Anlik Kullanici Sayisi\:%3.0lf\j’ \

‘GPRINT:Hosts:AVERAGE:Ortalama Kullanici Sayisi\:%3.0lf\j’ \

‘GPRINT:Hosts:MAX:Maksimum Kullanici Sayisi\:%3.0lf\j’

Kurulum ile ilgili genel notlar:

  • Komutların içerisinde geçen “omurga_adiniz” sizin belirlemeniz gereken bir isimlendirmedir. Bunu “mshowto_omurga” gibi yapabilirsiniz. İlk baştaki dizin oluşturma işleminde ne isim verildiyse tüm komutlarda aynısı kullanılmalıdır.
  • BackBone Comunity Name olarak geçen kısım ise trafiği hangi cihazdan çekiyorsanız o cihazın snmp bağlantısındaki adıdır diyebiliriz.
  • Etkileşimleri görüntülemek için snmpwalk –v 2c –c BackBoneCommunityName BackBoneIP 10.2.1.1.1.3.6.1.4.1 yazdıktan sonra listelenen etkileşimlerden birini seçebilirsiniz.
  • Versiyon çok önemli bir ayrıntıdır. Bağlantı kurulan cihazın versiyonu v2 olduğu sürece sorun yaşamazsınız ancak versiyon kaynaklı bir sorun yaşamanız durumunda aşağıdaki komutu kullanabilirsiniz.

$ cfgmaker –snmp-options=::::2 –show-op-down –zero-speed=1000000000 –global “routers.cgi*Icon: firewall3-sm.gif” –global “routers.cgi*GraphStyle[_]:mirror” –output=FirewallAdi.cfg

 

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: MRTG, Network Traffic Monitoring

Yorum Yap

Yazar Hakkında

Bilgisayar Mühendisliği Doktora programında öğrenciliğim devam etmektedir. Bir Vakıf üniversitesinde 2016 yılı itibariyle Bilgisayar Mühendisi 2020 yılı itibariyle ise Ofis Yöneticisi mühendis olarak çalışmaktayım.  Başlıca uzmanlık alanlarım arasında Asp.Net Web Forms, Asp.Net MVC, .Net Core, C# ve SQL Server gelmektedir. Bunların yanı sıra iş hayatımda sistem ve siber güvenlik konularında da çalışmalarım devam etmektedir. Çeşitli AB destek projelerinde yazılım sorumlusu olarak görev yapıyor ve çalışmalarımı Secure Design Pattern, Yazılım Güvenliği, Siber Güvenlik, Bilgi Güvenliği konularında sürdürüyorum. Asp.net ile Proje Geliştirme ve Bilgisayar Mühendisliğine Giriş isimli kitapların yazarıyım.

Yorum Yap