--- /dev/null
+*.conf
+*.rrd
--- /dev/null
+package UPSGRAPH;
+
+$host="192.168.34.253";
+$rrdfile="/var/www/usv/.work/ups.rrd";
+$outdir="/var/www/usv/";
+$community="public";
+$step=60;
+
+@fields = ( 'inputV', 'outputV', 'inputHZ', 'outputHZ', 'battT', 'battC', 'load', 'ambT', 'ambH', 'timeR', 'timeO' );
+
+$vars = {
+ 'inputV' => {
+ 'name' => 'Input Voltage',
+ 'oidtext' => 'PowerNet-MIB::upsAdvInputLineVoltage.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.1.0',
+ 'min' => '180',
+ 'max' => '280',
+ },
+ 'outputV' => {
+ 'name' => 'Output Voltage',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputVoltage.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.1.0',
+ 'min' => '180',
+ 'max' => '280',
+ },
+ 'inputHZ' => {
+ 'name' => 'Input Frequency',
+ 'oidtext' => 'PowerNet-MIB::upsAdvInputFrequency.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.4.0',
+ 'min' => '40',
+ 'max' => '60',
+ },
+ 'outputHZ' => {
+ 'name' => 'Output Frequency',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputFrequency.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.2.0',
+ 'min' => '40',
+ 'max' => '60',
+ },
+ 'battT' => {
+ 'name' => 'Battery Temperature',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryTemperature.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.2.0',
+ 'min' => '0',
+ 'max' => '100',
+ },
+ 'battC' => {
+ 'name' => 'Battery Capacity',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryCapacity.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.1.0',
+ 'min' => '0',
+ 'max' => '110',
+ },
+ 'load' => {
+ 'name' => 'UPS Load',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputLoad.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.3.0',
+ 'min' => '0',
+ 'max' => '110',
+ },
+ 'ambT' => {
+ 'name' => 'Ambient Temperature',
+ 'oidtext' => 'PowerNet-MIB::mUpsEnvironAmbientTemperature.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.2.1.1.0',
+ 'min' => '0',
+ 'max' => '60',
+ },
+ 'ambH' => {
+ 'name' => 'Ambient Humidity',
+ 'oidtext' => 'PowerNet-MIB::mUpsEnvironRelativeHumidity.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.2.1.2.0',
+ 'min' => '0',
+ 'max' => '100',
+ },
+ 'timeR' => {
+ 'name' => 'Time Remaining',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryRunTimeRemaining.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.3.0',
+ 'factor' => 1/6000,
+ 'min' => '0',
+ 'max' => '360',
+ },
+ 'timeO' => {
+ 'name' => 'Time On Battery',
+ 'oidtext' => 'PowerNet-MIB::upsBasicBatteryTimeOnBattery.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.1.2.0',
+ 'factor' => 1/6000,
+ 'min' => '0',
+ 'max' => '360',
+ },
+};
+
+1;
--- /dev/null
+package UPSGRAPH;
+
+$host="10.50.252.253";
+$rrdfile="/var/www/usv/.work/ups.rrd";
+$outdir="/var/www/usv/";
+$community="public";
+$step=60;
+
+@fields = ( 'inputV', 'outputV', 'inputHZ', 'outputHZ', 'battT', 'battC', 'load', 'timeR', 'timeO' );
+
+$vars = {
+ 'inputV' => {
+ 'name' => 'Input Voltage',
+ 'oidtext' => 'PowerNet-MIB::upsAdvInputLineVoltage.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.1.0',
+ 'min' => '180',
+ 'max' => '280',
+ },
+ 'outputV' => {
+ 'name' => 'Output Voltage',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputVoltage.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.1.0',
+ 'min' => '180',
+ 'max' => '280',
+ },
+ 'inputHZ' => {
+ 'name' => 'Input Frequency',
+ 'oidtext' => 'PowerNet-MIB::upsAdvInputFrequency.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.4.0',
+ 'min' => '40',
+ 'max' => '60',
+ },
+ 'outputHZ' => {
+ 'name' => 'Output Frequency',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputFrequency.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.2.0',
+ 'min' => '40',
+ 'max' => '60',
+ },
+ 'battT' => {
+ 'name' => 'Battery Temperature',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryTemperature.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.2.0',
+ 'min' => '0',
+ 'max' => '100',
+ },
+ 'battC' => {
+ 'name' => 'Battery Capacity',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryCapacity.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.1.0',
+ 'min' => '0',
+ 'max' => '110',
+ },
+ 'load' => {
+ 'name' => 'UPS Load',
+ 'oidtext' => 'PowerNet-MIB::upsAdvOutputLoad.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.3.0',
+ 'min' => '0',
+ 'max' => '110',
+ },
+ 'timeR' => {
+ 'name' => 'Time Remaining',
+ 'oidtext' => 'PowerNet-MIB::upsAdvBatteryRunTimeRemaining.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.3.0',
+ 'factor' => 1/6000,
+ 'min' => '0',
+ 'max' => '360',
+ },
+ 'timeO' => {
+ 'name' => 'Time On Battery',
+ 'oidtext' => 'PowerNet-MIB::upsBasicBatteryTimeOnBattery.0',
+ 'oid' => '1.3.6.1.4.1.318.1.1.1.2.1.2.0',
+ 'factor' => 1/6000,
+ 'min' => '0',
+ 'max' => '360',
+ },
+};
+
+1;
#!/usr/bin/perl -w
-if ((@ARGV != 3) && (@ARGV != 4)) {
- print STDERR "Syntax: ${0} host /path/to/file.rrd /output/directory/ [uid]\n";
+if ((@ARGV != 1) && (@ARGV != 2)) {
+ print STDERR "Syntax: ${0} configfile [uid]\n";
exit(1);
}
-my $host=$ARGV[0];
-my $rrdfile=$ARGV[1];
-my $outdir=$ARGV[2];
-my $community="public";
-my $step=60;
-
-my @fields = ( 'inputV', 'outputV', 'inputHZ', 'outputHZ', 'battT', 'battC', 'load', 'ambT', 'ambH', 'timeR', 'timeO' );
-
-my $vars = {
- 'inputV' => {
- 'name' => 'Input Voltage',
- 'oidtext' => 'PowerNet-MIB::upsAdvInputLineVoltage.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.1.0',
- 'min' => '180',
- 'max' => '280',
- },
- 'outputV' => {
- 'name' => 'Output Voltage',
- 'oidtext' => 'PowerNet-MIB::upsAdvOutputVoltage.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.1.0',
- 'min' => '180',
- 'max' => '280',
- },
- 'inputHZ' => {
- 'name' => 'Input Frequency',
- 'oidtext' => 'PowerNet-MIB::upsAdvInputFrequency.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.3.2.4.0',
- 'min' => '40',
- 'max' => '60',
- },
- 'outputHZ' => {
- 'name' => 'Output Frequency',
- 'oidtext' => 'PowerNet-MIB::upsAdvOutputFrequency.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.2.0',
- 'min' => '40',
- 'max' => '60',
- },
- 'battT' => {
- 'name' => 'Battery Temperature',
- 'oidtext' => 'PowerNet-MIB::upsAdvBatteryTemperature.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.2.0',
- 'min' => '0',
- 'max' => '100',
- },
- 'battC' => {
- 'name' => 'Battery Capacity',
- 'oidtext' => 'PowerNet-MIB::upsAdvBatteryCapacity.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.1.0',
- 'min' => '0',
- 'max' => '110',
- },
- 'load' => {
- 'name' => 'UPS Load',
- 'oidtext' => 'PowerNet-MIB::upsAdvOutputLoad.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.4.2.3.0',
- 'min' => '0',
- 'max' => '110',
- },
- 'ambT' => {
- 'name' => 'Ambient Temperature',
- 'oidtext' => 'PowerNet-MIB::mUpsEnvironAmbientTemperature.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.2.1.1.0',
- 'min' => '0',
- 'max' => '60',
- },
- 'ambH' => {
- 'name' => 'Ambient Humidity',
- 'oidtext' => 'PowerNet-MIB::mUpsEnvironRelativeHumidity.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.2.1.2.0',
- 'min' => '0',
- 'max' => '100',
- },
- 'timeR' => {
- 'name' => 'Time Remaining',
- 'oidtext' => 'PowerNet-MIB::upsAdvBatteryRunTimeRemaining.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.2.2.3.0',
- 'factor' => 1/6000,
- 'min' => '0',
- 'max' => '360',
- },
- 'timeO' => {
- 'name' => 'Time On Battery',
- 'oidtext' => 'PowerNet-MIB::upsBasicBatteryTimeOnBattery.0',
- 'oid' => '1.3.6.1.4.1.318.1.1.1.2.1.2.0',
- 'factor' => 1/6000,
- 'min' => '0',
- 'max' => '360',
- },
-};
-
use Net::SNMP;
+$UPSGRAPH::host = "";
+$UPSGRAPH::rrdfile = "";
+$UPSGRAPH::outdir = "";
+$UPSGRAPH::community = "public";
+$UPSGRAPH::step = 60;
+@UPSGRAPH::fields = ();
+$UPSGRAPH::vars = {};
+
+do $ARGV[0] or die "can't read config: $!";
+
+my $host = $UPSGRAPH::host;
+my $rrdfile = $UPSGRAPH::rrdfile;
+my $outdir = $UPSGRAPH::outdir;
+my $community = $UPSGRAPH::community;
+my $step = $UPSGRAPH::step;
+my @fields = @UPSGRAPH::fields;
+my $vars = $UPSGRAPH::vars;
+
if ($> == 0) {
- if (@ARGV != 4) {
+ if (@ARGV != 2) {
print STDERR "Running as root, please provide UID as 4th argument!\n";
exit(1);
}
print "Running as root, switching to ".$ARGV[3]."\n";
- $< = $> = $ARGV[3];
+ $< = $> = $ARGV[1];
}
if (! -e "${rrdfile}") {