Artikelformat

Lightmonitoring mit collectd & rrdtool

Hinterlasse eine Antwort

Oftmals sind Monitoring-Lösungen wie Nagios, Cacti und Munin für einen einzelnen Host einfach zu oversized und unnötig, sodass man gerne zu einer leichtgewichtigeren Lösung wechseln würde, die sich schnell und unkompliziert an die eigenen Bedürfnisse anpassen lässt. Dafür eignet sich eine „selbstbau“ Lösung mit collectd und rrdtool. Dabei sammelt collectd die entsprechenden Daten über das System, die vorher definiert wurden und speichert diese Informationen an einen beliebigen Ort. Mit diesen Informationen kann man dann, zusammen mit rrdtool Grafiken automatisiert erstellen lassen – allerdings müssen hierzu alle Konfigurationen von Hand gemacht werden. Ebenso sehen die meisten Graphen relativ schlicht und langweilig aus, weshalb ich diese ein wenig modifiziert habe und ein etwas modernes Design verpasst habe.
Ein Beispiel findet man hier.
trinec.de Light Stats

Installation:

  • Dienste installieren (apt-get install collectd rrdtool)
  • Konfigurationsdatei von collectd anpassen (/etc/collectd/collectd.conf)
  • Hostname „server2.trinec.de“
    LoadPlugin cpu
    LoadPlugin df
    LoadPlugin disk
    LoadPlugin interface
    LoadPlugin load
    LoadPlugin memory
    LoadPlugin ping
    LoadPlugin rrdtool
    LoadPlugin syslog
    < Plugin ping >
    Host 213.148.129.40
    < /Plugin >
    < Plugin rrdtool >
    DataDir „/var/lib/collectd/rrd“
    < /Plugin >
    < Plugin syslog >
    LogLevel info
    < /Plugin >
    Include „/etc/collectd/thresholds.conf“

  • Eine Steuerdatei anlegen (nano /etc/collectd/stats.sh)
  • #!/bin/bash
    DATA=“/var/lib/collectd/rrd/server2.trinec.de“
    HEIGHT=“100″
    WIDTH=“250″

    # CPU / Tag
    rrdtool graph /var/www/status/cpu-day.png –start -43200 -u 100 -r -l 0 -w $WIDTH -h $HEIGHT –color CANVAS#000000 –color MGRID#000000 –color BACK#000000 –color FONT#FFFFFF –color SHADEA#000000 –color SHADEB#000000 –color ARROW#000000 –font ‚DEFAULT:0:Courier‘ \
    DEF:system=$DATA/cpu-0/cpu-system.rrd:value:AVERAGE AREA:system#187BDF:“System“:STACK \

    # Speicher / Tag
    rrdtool graph /var/www/status/memory-day.png -r -u 157374182 -l 0 –start -43200 -w $WIDTH -h $HEIGHT -X 6 –color CANVAS#000000 –color MGRID#000000 –color BACK#000000 –color FONT#FFFFFF –color SHADEA#000000 –color SHADEB#000000 –color ARROW#000000 \
    DEF:used=$DATA/memory/memory-used.rrd:value:AVERAGE AREA:used#1818C3:“Benutzt“ \
    DEF:free=$DATA/memory/memory-free.rrd:value:AVERAGE AREA:free#187BDF:“Frei“:STACK > /dev/null

    # LAN / Tag
    rrdtool graph /var/www/status/lan-day.png -u 1000000 –start -43200 -w $WIDTH -h $HEIGHT –color CANVAS#000000 –color MGRID#000000 –color BACK#000000 –color FONT#FFFFFF –color SHADEA#000000 –color SHADEB#000000 –color ARROW#000000 \
    DEF:rx=$DATA/interface/if_octets-eth0.rrd:rx:AVERAGE AREA:rx#1818C3:“Empfangen“ \
    DEF:tx=$DATA/interface/if_octets-eth0.rrd:tx:AVERAGE AREA:tx#187BDF:“Gesendet“ > /dev/null

    # Ping / Tag
    rrdtool graph /var/www/status/ping-day.png –start -43200 -u 100 -r -l 0 -w $WIDTH -h $HEIGHT –color CANVAS#000000 –color MGRID#000000 –color BACK#000000 –color FONT#FFFFFF –color SHADEA#000000 –color SHADEB#000000 –color ARROW#000000 –font ‚DEFAULT:0:Courier‘ \
    DEF:avr=$DATA/ping/ping-213.148.129.40.rrd:ping:AVERAGE AREA:avr#187BDF:“Ping qsc.de“:STACK \

  • Die stats.sh muss ausführbar gemacht werden und sollte ggf. noch in einen Crontab eingefügt werden, damit diese automatisiert gestartet wird um aktuelle Statistiken zu erhalten

so aehnlich:

Schreibe eine Antwort

Pflichtfelder sind mit * markiert.