mrtg i ups
lipiec 24th, 2007Jak pobrać i zaprezentować użyteczne dane z UPS firmy APC wyposażonych w karty zarządzania wspierające SNMP
Okazuje się, że całkiem łatwo
Na początek prezentacja napięcia na wejściu i wyjściu, kawałek z mrtg.cfg
# ---- SNMP ----- [ups->voltage]
Options[snmp-ups-voltage]: nopercent, growright, nobanner, gauge
Target[snmp-ups-voltage]: .1.3.6.1.4.1.318.1.1.1.3.2.1.0&.1.3.6.1.4.1.318.1.1.1.4.2.1.0:public@192.168.22.3
RouterUptime[snmp-ups-voltage]: public@192.168.22.3
MaxBytes[snmp-ups-voltage]: 280
Title[snmp-ups-voltage]: UPS Voltage
PageTop[snmp-ups-voltage]: <H1>APC SmartUPS Voltage (In/Out)</H1>
PageFoot[snmp-ups-voltage]: stats.eqax.pl
LegendI[snmp-ups-voltage]: Voltage In
LegendO[snmp-ups-voltage]: Voltage Out
Legend1[snmp-ups-voltage]: Voltage In
Legend2[snmp-ups-voltage]: Voltage Out
YLegend[snmp-ups-voltage]: Volts
ShortLegend[snmp-ups-voltage]: Volts
Kolejna cenną informacją jest obciążenie UPSa oraz szacowany czas pracy na bateriach.
Tutaj posiłkuję się skryptem perlowym upsdata01.pl dostarczonym wraz ze zródłami MRTG.
Wymagał niedużych modyfikacji więc prezentuje całość
#!/usr/bin/perl
#
# LOAD and minutes left
#
$a=`/usr/bin/snmpget -v1 -c public 192.168.22.3 .1.3.6.1.4.1.318.1.1.1.2.2.3.0`;
chomp $a;
@b=split(/ /,$a);
@c=split(/:/,$b[4]);
@d=split(/ /,`/usr/bin/snmpget -v1 -c public 192.168.22.3 .1.3.6.1.4.1.318.1.1.1.4.2.3.0`);
chomp $d;
print eval($c[0] * 60 + $c[1]),"\n";
print $d[3];
Oraz odpowiednia sekcja z pliku mrtg.cfg
Options[snmp-ups-load]: growright, gauge, nopercent, nobanner
Target[snmp-ups-load]: `/etc/mrtg/bin/upsdata01.pl`
RouterUptime[snmp-ups-load]: public@192.168.22.3
MaxBytes[snmp-ups-load]: 600
Title[snmp-ups-load]: UPS Load
PageTop[snmp-ups-load]: <H1>APC SmartUPS Load</H1>
PageFoot[snmp-ups-load]: stats.eqax.pl
WithPeak[snmp-ups-load]: wmy
YLegend[snmp-ups-load]: battery left
ShortLegend[snmp-ups-load]:
Legend1[snmp-ups-load]: remaining time
Legend2[snmp-ups-load]: % utilization
Legend3[snmp-ups-load]: Maximal remaining time
Legend4[snmp-ups-load]: Maximal % utilization
LegendI[snmp-ups-load]: time(minutes):
LegendO[snmp-ups-load]: load(%):
Suppress[snmp-ups-load]: y
To wszystko ![]()
Jeśli ktoś(tm) chcialby jeszcze odczytywać np temeraturę baterii to
.1.3.6.1.4.1.318.1.1.1.2.2.2.0
natomiast procent naładowania baterii
.1.3.6.1.4.1.318.1.1.1.2.2.1.0
lipiec 26th, 2007 at 9:32 am
Hm.. a w cacti pewnie byś tylko zaimportował template i dodał urządzenie
lipiec 26th, 2007 at 10:14 am
hmmm ale ja nie uzywam cacti i wole “ortodoksyjne” mrtg