Trafik-statistik med Cisco 677 og MRTG

Indledning

I det efterfølgende vil jeg forklare hvordan jeg har fået konfigureret min GNU/Linux box til via SNMP at hente information fra en Cisco 677 ADSL router med det formål, ved hjælp af MRTG, at lave lidt statistik over mit trafikforbrug hos World Online. (MRTG og perl fås osgå til WinNT).
Cisco'en kører CBOS2.2, men jeg vil forsøge løbende at opdatere siderne med infomation om opsætning under CBOS2.3 (som alle nye routere fra WOL kommer med).

Licens

Jeg er ikke SNMP guru, perl hacker eller GNU/Linux ekspert. At dette virker for mig, er ikke ensbetydende med at det også vil virke for dig. Jeg påtager mig intet ansvar for korrektheden af informationen som fremkommer ved brug af mine (og andres) scripts eller instruktioner. Alt software her er dækket af GPL (GNU General Public License) og er dermed FRI software. Læs mere om dette på www.gnu.org

Eksempel

Output fra MRTG her hos mig kan ses her (Dette er ikke en "live" side!)

Et eksempel på trafik forbrug kan ses her


Download

Alle scripts og konfigurationsfiler der refereres til på denne side, kan hentes samlet her (3kb)

Vejledning

  1. Installer og konfigurer MRTG og Perl

    Dette kan du gøre selv (læs INSTALL), eller hvis du skulle være så heldig at køre Debian GNU/Linux ved (som root) at skrive
    apt-get install mrtg

    Yderligere vejledning til MRTG-installationen findes her:
    NT
    Unix/Linux

  2. Nu skal Cisco'en konfigureres til at bruge SNMP. Telnet til routeren
    telnet 192.168.1.1
    skriv dit password. Gå i enable mode
    enable
    skriv dit password igen. Start snmp med kommandoen:
    set snmp enabled
    konfigurer snmp med kommandoen

    CBOS2.2
    set snmp manager 192.168.1.2 public read on
    hvor 192.168.1.2 er ip'en på den maskine der skal hente information fra Cisco'en. For at dette virker skal konfigurationen gemmes og routeren genstartes (dette er en kendt fejl i CBOS 2.2). Det lader desuden til at CBOS 2.2 kun accepterer community "public" i snmp manageren.

    CBOS2.3 og 2.4
    set snmp manager 192.168.1.2 public read on all
    hvor 192.168.1.2 er ip'en på den maskine der skal hente information fra Cisco'en.

    Du gemmer med kommandoen:
    write
    og rebooter med kommandoen
    reboot

  3. Nu skal du have konfigureret MRTG til at snakke med Cisco'en. Desværre virker MRTG's cfgmaker ikke til en Cisco 677, så du må manuelt indsætte flg i /etc/mrtg.cfg (eller hvor din mrtg.cfg nu ligger):
    Target[Cisco]: 2:public@192.168.1.1
    MaxBytes[Cisco]: 32000
    WithPeak[Cisco]: dwmy
    Unscaled[Cisco]: my
    Options[Cisco]: growright, bits
    Title[Cisco]: Cisco 677 Gateway
    PageTop[Cisco]:<H3>Traffic Analysis</H3>
      <TABLE> <TR><TD>System:</TD>
      <TD>Cisco 677 ADSL running @ 256kb</TD></TR></TABLE>
    	
    Du kan naturligvis skrive hvad du ønsker af HTML kode i PageTop taggen. Min mrtg.cfg ser sådan ud.

    Hvis alt er gået efter planen burde MRTG nu indsamle statistik for dig hver 5. minut.

  4. Nu kan du hvis du vil rode lidt med de perl og shell scripts jeg bruger til at generere trafikforbrugsoversigten.
    Scriptene er baseret på en installation i /var/www/mrtg/total (ja, de burde ligge et andet sted!) samt at logfilen fra MRTG er /var/www/mrtg/cisco.log. Det er den hvis du bruger Debian og har brugt min mrtg.cfg. Shellscriptet tot-stats er baseret på arbejde af Seth Mos og udvidet af mig. Dette er et script der kan køres fra crontab hver time (mere end 6 minutter over). Jeg har denne fil i min /etc/cron.d. Scriptet generere 3 html-filer:
    cisco.log.MMYYYY.html,
    cisco.log.MMYYYY-total.html og
    total.html
    der indeholder information om total forbrug.

    Scriptet calc.pl er lavet af Seth Mos dette står for beregningen af trafikken.

Afslutning

Jeg håber du kan bruge dette til noget. Har du ideer, rettelser eller foreslag til forbedringer er du velkommen til at kontakte mig på wille@napoleon.dk

TODO


Per Wille
Litle eye Last modified: Mon Sep 4 09:07:58 CEST 2000