mrtg i ups

lipiec 24th, 2007

Jak 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

2 Responses to “mrtg i ups”

  1. 1 Andrzej Dopierała
    lipiec 26th, 2007 at 9:32 am

    Hm.. a w cacti pewnie byś tylko zaimportował template i dodał urządzenie ;)

  2. 2 daniel
    lipiec 26th, 2007 at 10:14 am

    hmmm ale ja nie uzywam cacti i wole “ortodoksyjne” mrtg :)

Leave a Reply