Debian'da MRTG ile Router ve Sunucu Trafiğinin İzlenmesi

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Debian'da MRTG ile router ve sunucu trafiğinin nasıl izleneceğine dair kısacık bir belge hazırladım. Belge ile ilgili her türlü öneri ve eleştirileriniz için şimdiden teşekkürler.

Konu başlıkları

Giriş

Bu kısacık belgede;

  1. Router (ADSL Modem) Trafiğinin MRTG ile İzlenmesi
  2. MRTG+SNMP Kurulu Sunucunun Trafiğinin MRTG ile İzlenmesi

anlatılmaktadır. Bu işlem için bir adet Debian Sarge kurulu linux sunucu ve bir adet router yeterli olmaktadır.

Router IP: 192.168.1.1 Debian IP: 192.168.1.2


Router (ADSL Modem) Trafiğinin MRTG ile İzlenmesi

Gerekli Paketler Kurulur

  # apt-get install mrtg mrtgutils mrtg-contrib libsnmp-session-perl rrdtool librrds-perl


"/etc/mrtg.conf" yedeklenir

  # cd /etc
  # cp mrtg.cfg mrtg.cfg.orig


Router'dan "SNMP Configuration" bölümünde ilgili ayarlar yapılır

Örneğin Zyxel ADSL modem için ilgili ayarlar şu şekildedir:

  Menu 22 - SNMP Configuration   
  SNMP:
     Get Community= public
     Set Community= public
     Trusted Host= 192.168.1.2
  Trap:
     Community= public
     Destination= 0.0.0.0


Router trafiğinin izlenebilmesi için ilgili "mrtg.conf" dosyasının oluşturulması

Aşağıdaki komuttan sonra hatasız bir şekilde mrtg.conf dosyasının oluşması gerekir.

  # cfgmaker --global 'WorkDir: /var/www/mrtg' \
     --global 'Options[_]: bits,growright' \
     --output /root/mrtg.cfg \
     public@192.168.1.1


mrtg.conf dosyasında "Max Speed" ve "MaxBytes" ayarının yapılması

Burdaki değerler 512 Kbit/s ADSL bağlantı göz önüne alınarak yapılmıştır.

   MaxBytes[192.168.1.1_1]: 64000
   <TR><TD>Max Speed:</TD>  <TD>512.0 kbits/s</TD></TR>

   MaxBytes[192.168.1.1_2]: 64000
   <TR><TD>Max Speed:</TD>  <TD>512.0 kbits/s</TD></TR>

RRDTOOL desteği için ilgili ayarların mrtg.conf dosyasına yapılması

  LogFormat: rrdtool    


mrtg.conf dosyasında Icon'ların gözükmesi için aşağıdaki satır eklenir

  IconDir: /mrtg


Oluşturulan "mrtg.conf" dosyası "/etc" dizinine kopyalanır

  # cp /root/mrtg.cfg /etc/


mrtg-rrd'nin son sürümü aşağıdaki adresten indirilir

"mrtg-rrd.cgi" dosyasına gerekli değişiklik yapılır. mrtg-rrd sayesinde grafikler sayfa çağırıldığı zaman oluşturulur.

  # cd /root
  # wget ftp://ftp.linux.cz/pub/linux/people/jan_kasprzak/mrtg-rrd/mrtg-rrd-0.7.tar.gz
  # tar xzvf mrtg-rrd-0.7.tar.gz
  # cd mrtg-rrd-0.7
  # vim mrtg-rrd.cgi
     BEGIN { @config_files = qw(/etc/mrtg.cfg); }
  # cp mrtg-rrd.cgi /var/lib/cgi-bin/
  

Aşağıdaki komut birkaç kez çalıştırılarak(hata üretMEyene kadar) MRTG test edilir

  # /usr/bin/mrtg /etc/mrtg.cfg

Debian MRTG kurulumu sırasında /etc/cron.d/mrtg dosyasını oluşturuyor bu dosyanın içeriği aşağıdaki gibidir

  0-55/5 *  * * * root  if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi

Eğer yukarıdaki çalışmıyorsa aşağıdaki gibi bir satır da crontab'a eklenebilir.

  # crontab -e
  */5 * * * *  /usr/bin/mrtg /etc/mrtg.cfg --logging /var/log/mrtg/mrtg.log

"mrtg-rrd.cgi" betiğinin /etc/mrtg.cfg dosyasına erişebilmesi ve istatistikleri oluşturabilemesi için aşağıdaki düzenleme yapılır

  # chown www-data /etc/mrtg.cfg
  # chown www-data /var/www/mrtg
  # chown www-data /var/www/mrtg/*


MRTG loglarının takip edilmesi

  http://localhost/cgi-bin/mrtg-rrd.cgi

MRTG+SNMP Kurulu Sunucunun Trafiğinin MRTG ile İzlenmesi

İlgili paketler kurulur

  # apt-get install snmp snmpd

SNMP sunucunu sadece kendinden gelen istekliere cevap vermesi sağlanır

  # vim /etc/snmp/snmpd.conf
  

Bu satırlar:

     com2sec paranoid   default         public
     #com2sec readonly  default         public
     #com2sec readwrite default         private

Şu şekilde değiştirilir:

     #com2sec paranoid  default         public
     com2sec  readonly  127.0.0.1       public
     #com2sec readwrite default         private


SNMPD yeniden başlatılır

  # /etc/init.d/snmpd restart

SNMPD'nin her açılışta çalışması için gerekli ayarlar yapılır

  # sysv-rc-conf


Aşağıdaki komut ile localhost SNMP sunucusundaki network arabirimleri kontor edilir

  $ snmpwalk -v 1 -OS -c public localhost interfaces.ifTable.ifEntry.ifDescr 

Çıktısı:

        IF-MIB::ifDescr.1 = STRING: lo
        IF-MIB::ifDescr.2 = STRING: eth0


/etc/mrtg.conf için gerekli konfigurasyon oluşturulur

  # cfgmaker --global 'WorkDir: /var/www/mrtg' \
     --global 'Options[_]: bits,growright' \
     --output /root/mrtg_local.cfg \
     public@127.0.0.1

"/root/mrtg_local.cfg" dosyasındaki aşağıdaki satırlar "/etc/mrtg.cfg" dosyasının sonuna eklenir

  ### Interface 2 >> Descr: 'eth0' | Name:  | Ip: '192.168.1.2' | Eth: '00-e0-40-00-03-f5' ###
   Target[127.0.0.1_2]: 2:public@127.0.0.1:
   SetEnv[127.0.0.1_2]: MRTG_INT_IP="192.168.1.2" MRTG_INT_DESCR="eth0"
   MaxBytes[127.0.0.1_2]: 12500000
   Title[127.0.0.1_2]: Traffic Analysis for 2 -- mor
   PageTop[127.0.0.1_2]: <H1>Traffic Analysis for 2 -- mor</H1>
    <TABLE>
      <TR><TD>System:</TD>     <TD>mor in Unknown (configure /etc/snmp/snmpd.local.conf)</TD></TR>
      <TR><TD>Maintainer:</TD> <TD>Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)</TD></TR>
      <TR><TD>Description:</TD><TD>eth0  </TD></TR>
      <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
      <TR><TD>ifName:</TD>     <TD></TD></TR>
      <TR><TD>Max Speed:</TD>  <TD>100.0 Mbits/s</TD></TR>
      <TR><TD>Ip:</TD>         <TD>192.168.1.2 (mor.arena.lan)</TD></TR>
    </TABLE>

Yukarıdaki konfigurasyonaki "MaxBytes" ve "Max Speed" aşağıdaki gibi değiştirilir

 MaxBytes[127.0.0.1_2]: 64000
   <TR><TD>Max Speed:</TD>  <TD>512.0 kbits/s</TD></TR>

İşler yolunda gitmiş mi diye bir kontrol yapılır

  # /usr/bin/mrtg /etc/mrtg_local.cfg


MRTG loglarının takip edilmesi

  $ firefox http://localhost/cgi-bin/mrtg-rrd.cgi


Apache Web Sunucu Ayarları

Kurulum işlemi bittikten sonra, network trafiğimizi kem gözlerden sakınmak(sadece belirli IP'lerden bağlanılabilmesi) için apache web sunucunda bazı ayarlar yapmamız gerekmektedir.

  # vim /etc/apache/httpd.conf
   <Directory /var/www/mrtg>
      order deny,allow
      deny from all
      allow from localhost 127.0.0.1 192.168.1.
   </Directory>

Logrotate Ayarları

MRTG logları "/var/log/mrtg.log" dosyasında tutulamaktadır. Bu dosyanın düzenli olarak döndürülmesi için gerekli "logrotate" dosyası aşağıdaki gibidir. Bu dosya apt-get ile mrtg kurulumu sırasında oluşur.

  # vim /etc/logrotate.d/mrtg
     /var/log/mrtg/mrtg.log {
           weekly
           rotate 12
           compress
           missingok
     }

Kaynaklar

Belge Hakkinda

Bu belge Lapis Foruma Ozgun kullanicisi tarafindan atilmistir. http://forum.linux-sevenler.org/index.php/topic,1847.0/topicseen.html#msg8491