Die Idee ist, die Summe aller Interface-Fehler von einem Switch per SNMP abzufragen und das Ergebnis in eine RRD zu schreiben.
Eine Datenbank für die Werte muss angelegt werden.
[code lang=“bash“]rrdtool create /var/rrd/hp5304xl_err.rrd \
DS:err:GAUGE:600:U:U RRA:AVERAGE:0.5:1:2160[/code]
Der Switch muss per SNMP abgefragt werden können.
[code lang=“bash“]snmpwalk -v 1 -c public 192.168.200.250 SNMPv2-MIB::sysName
SNMPv2-MIB::sysName.0 = STRING: HP ProCurve Switch 5304XL[/code]
Und wenn man die richtige OID verwendet, müssen die aktuellen Stände aller Interface-Fehler angezeigt werden.
[code lang=“bash“]snmpwalk -v 1 -c public 192.168.200.250 SNMPv2-SMI::mib-2.16.1.1.1.8[/code]
Die Werte kann man dann aufsummieren und in eine RRD schreiben.
[code lang=“bash“]#!/bin/bash
CMD=“/usr/bin/snmpwalk“;
OID=“SNMPv2-SMI::mib-2.16.1.1.1.8″;
IP=“192.168.200.250″;
RRDTOOL=“/usr/bin/rrdtool“;
DB=“/var/rrd_local/hp5304xl_err.rrd“;
ERROR_COUNT=0;
for i in `$CMD -v 1 -c public $IP $OID | awk ‚{print $4}‘ | grep -v -r ‚^0$’`; do
ERROR_COUNT=`expr $ERROR_COUNT + $i`;
# echo „WERT: $i“;
done;
# echo „SUMME: *** $ERROR_COUNT ***“;
$RRDTOOL update $DB N:$ERROR_COUNT[/code]