Kapitel 13. Måling og webgrafik

I dette kapitel ser vi på programmer til måling af systemparametre og efterfølgende grafisk fremstilling af hjemmesider af målingerne. Eksempler på dette kunne være nettrafik, blæserhastighed eller temperatur over tid.

13.1. MRTG – grafisk overvågning af systemet

MRTG er en god måde at overvåge dit system på. MRTG viser i pæne grafer den løbende udvikling omkring belastningen på forskellige områder, for det seneste døgn, den seneste uge, den seneste måned og det seneste år.

Figur 13-1. Traffic Analysis for eth0 -- 192.168.1.2

MRTG er først og fremmest lavet til netværksovervågning, så du kan bruge det til at for eksempel overvåge din modem-linje, din ADSL-linje eller trafikken på dine servere. MRTG kan også overvåge andre systemressourcer såsom systembelastning, antal processer, cpu-temperatur, antal brugere mv, men dette er ikke standard.

Graferne vises i et HTML-format, så man kan se det i en browser – men man behøver ikke have en webserver installeret for at se dem. Til netværksovervågningen bruges SNMP, og MRTG laver løbende overvågning typisk hver 5. minut, hvor data opsamles så de fylder ca. en konstant størrelse (der er ikke noget med at data bliver ustyrligt store).

MRTG står for Multi Router Traffic Grapher og har denne hjemmeside. Det er udgivet under GPL og findes med i de fleste Linux-distributioner, så man kan blot installere pakken derfra.

Der er mange konfigureringsmuligheder, så se installationsguiden på hjemmesiden, og også brugersiderne er interessante med andre anvendelser end netværksovervågning. SSLUG bruger MRTG til overvågning af sslug.dk, man kan se hvordan maskinen har det på denne URL og en beskrivelse af denne opsætning kan findes på denne URL.

13.1.1. Opsætning af MRTG

Hvis man skal for eksempel overvåge lokalnettet på sin maskine, skal man gøre følgende, som root:

  1. Installér en SNMP-dæmon på din maskine, eller aktivér SNMP på de bokse du vil overvåge. SNMP er Simple Network Management Protocol. Fx findes en beskrivelse af aktivering af SNMP på en Cisco 677 ADSL ruter på denne URL.

    Til Linux findes SNMP-dæmonen for eksempel i pakken net-snmp eller ucd-snmp. En simpel opsætning i /etc/snmp/snmpd.conf kunne se således ud (både for net-snmp og ucd-snmp):

    com2sec public     localhost        public
    com2sec public     192.168.0.0/16   public
    group     public    v1   public
    group     public    v2c  public
    group     public    usm  public
    view      all  included  .1
    access    public    ""   any  noauth    exact     all  none none
    

    Dette tillader maskiner på lokalnetværket 192.168.0.0 at se hvad maskinen laver, men ikke at ændre noget, og det udelukker alle andre maskiner ude fra det offentlige internet fra at kigge på SNMP-oplysninger.

  2. For at starte snmp-dæmonen på linux-maskinen kan man gøre følgende:

    [root@linus /root]# service snmpd start
    

    Dette skal også gøres permanent ved opstart, så du skal aktivere snmpd for eksempel via Gnomes kontrolcenters behandling af tjenester.

    Du kan evt se hvilke netværksgrænseflader der er tilgængelige med programmet snmpwalk, for eksempel på maskinen med ip-adressen 'localhost' (enten net-snmp eller ucd-snmp udgaven):

    [root@linus /root]# snmpwalk -Os -c public -v 1 localhost
    [root@linus /root]# snmpwalk localhost public 2
    
  3. Installér mrtg, enten fra din distribution eller fra kildetekst fundet på MRTG-hjemmesiden nævnt ovenfor. Du kan for eksempel lægge din opsætning i /home/mrtg/cfg/mrtg.cfg – som kunne se sådan her ud:

    WorkDir: /var/www/html/mrtg
    Language: Danish
    Options[_]: bits,growright
    Weekformat[_]: V
    
    Target[localhost_2]: 2:public@localhost
    MaxBytes[localhost_2]: 12500000
    Title[localhost_2]: Traffic Analysis for eth0
    PageTop[localhost_2]: <H1>Traffic Analysis for eth0</H1>
    
    Target[Cisco]: 2:public@192.168.1.1
    MaxBytes[Cisco]: 32000
    Title[Cisco]: Cisco 677 Gateway
    PageTop[Cisco]: <H1>Traffic Analysis for outside ADSL</H1>
    

    Hermed lægges data fra MRTG i kataloget /var/www/html/mrtg/

    Du kan bruge programmet cfgmaker til at automatisk at lave en opsætningsfil til MRTG. Den kigger på en eller flere maskiner eller bokse og finder ud af via SNMP hvilke netværksgrænseflader der er aktive og laver så opsætningsfilen. For eksempel for din lokale maskine og en ADSL-ruter på 192.168.1.1:

    [root@linus /root]# cfgmaker localhost 192.168.1.1 > /home/mrtg/cfg/mrtg.cfg
    
  4. Initiér filen /var/www/html/mrtg/index.html med programmet indexmaker:

    [root@linus /root]# indexmaker --columns=1 /home/mrtg/cfg/mrtg.cfg >/var/www/html/mrtg/index.html
    
  5. Kør MRTG for første gang:

    [root@linus /root]# mrtg /home/mrtg/cfg/mrtg.cfg
    
  6. Kør MRTG hvert 5. minut via cron med

    [root@linus /root]# crontab -e -u root
       0/5 * * * * /usr/bin/mrtg /home/mrtg/cfg/mrtg.cfg
    
  7. Du kan nu se resultatet af din MRTG-overvågning for eksempel med netscape:

    [root@linus /root]# netscape /var/www/html/mrtg/index.html