Probleme mit rrdtool und ppp0

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
jd
Beiträge: 286
Registriert: 01.07.2003 12:02:33
Wohnort: D->Hessen->MKK

Probleme mit rrdtool und ppp0

Beitrag von jd » 13.05.2004 10:51:44

Ich habe seit ca. einer Woche rrdtool und rrdcollect installiert. Es läuft alles wie erhofft, nur bleiben leider zwei Problemchen, die ich nicht gelöst bekomme.

Ich polle mittels des rrdcollect-daemons einige Dinge wie CPU-Last, Speicherausnutzung und den Datendurchsatz der DSL-Leitung. Alle informationen werden aus dem /proc-Zweig geholt. Für den DSL-Durchsatz beobachte ich zur Zeit sowohl ppp0 als auch eth1 (da hängt das Modem dran). Und genau hier entstehen meine Probleme.

Problem-1: Die erzeugten Grafiken von ppp0 und eth1 zeigen prinzipiell das glecihe Verhalten. Allerdings ist die Skalierung von ppp0 falsch. Zeigt die Grafik von ppp0 zu einem Zeitpunkt einen Durchsatz von 100kB/s an, so ist dies in der Grafik von eth1 nur knapp 90kB/s. Woran kann das liegen? Letztlich sind die in der ppp0-Grafik erscheinenden Werte nicht realistisch, da DSL nur 80kB/s liefert.

Problem-2: wegen der dauernden Zugriffe verschiedener P2P-Clients wird das "Auflegen" (idle-time) verhindert. Aus dem Grund lasse ich Nachts und früh morgends einen cron-job laufen, der per poff eine Zwangstrennung durchführt (was die T-Offline kann, das kann ich auch :wink:). Dieses Auflegen verursacht in der ppp0-Grafik riesige Peaks (10MB/s), so daß alle Grafiken, in denen so ein Peak zu sehen ist, derart skaliert werden, daß die eigentliche Kurve nicht mehr sichtbar ist! Entweder liegt das daran, daß rrdcollect kein ppp0 mehr in /proc/net/dev findet, und NaN in der Datenbank einträgt, ober rrdtool kommt mit etwaigen 0-Werten nicht klar. Auf jeden Fall tritt dieses Problem zur Zeit nur in der ppp0-Kurve auf. Die Grafik von eth0 ist "sauber".

Ich verwende folgenden Setup:

/etc/rrdcollect.conf (Auszug)

Code: Alles auswählen

file:///proc/net/dev
/eth1:\s*(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)/ \
 net.rrd:eth1_rcv_bytes,eth1_snd_bytes
/ppp0:\s*(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)/ \
 net.rrd:ppp0_rcv_bytes,ppp0_snd_bytes
rrd-draw.sh (Auszug)

Code: Alles auswählen

RRDB_NET=/var/lib/rrdcollect/net.rrd
NOW=`date +%s`
ONE_HOUR_AGO=$(($NOW-3600))
ONE_DAY_AGO=$(($NOW-86400))
rrdtool graph /var/www/eth1_day.png -s $ONE_DAY_AGO -e $NOW -a PNG \
-t "Network usage for $HOSTNAME : eth1" \
-l 0 -r \
"DEF:eth1_rcv=$RRDB_NET:eth1_rcv_bytes:AVERAGE" \
"DEF:eth1_snd=$RRDB_NET:eth1_snd_bytes:AVERAGE" \
'LINE1:eth1_rcv#00FF00:input' \
'LINE1:eth1_snd#FF0000:output'
rrd-create.sh (Auszug)

Code: Alles auswählen

rrdtool create /var/lib/rrdcollect/net.rrd --step 60 \
DS:eth1_rcv_bytes:COUNTER:150:0:U \
DS:eth1_snd_bytes:COUNTER:150:0:U \
DS:ppp0_rcv_bytes:COUNTER:150:0:U \
DS:ppp0_snd_bytes:COUNTER:150:0:U \
RRA:AVERAGE:0.5:1:1440 \
RRA:AVERAGE:0.5:5:4032 \
RRA:AVERAGE:0.5:60:17532

Antworten