discovery complete for voltage and fanspeed on supermicro

git-svn-id: http://www.observium.org/svn/observer/trunk@801 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2010-02-10 11:20:09 +00:00
parent 9b10924eec
commit 89f302c491
4 changed files with 70 additions and 49 deletions

View File

@ -98,3 +98,4 @@ CREATE TABLE `fanspeed` (
PRIMARY KEY (`fan_id`),
KEY `fan_host` (`fan_host`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `voltage` ADD `volt_limit_low` int(11) NULL DEFAULT NULL AFTER `volt_limit`;

View File

@ -65,11 +65,16 @@ if ($device['os'] == "linux")
$fan_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.4$oid";
$descr_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.2$oid";
$limit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.6$oid";
$divisor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.9$oid";
$monitor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.10$oid";
$descr = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $descr_oid"));
$fan = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $fan_oid"));
$limit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $limit_oid"));
$descr = str_ireplace("Speed", "", $descr);
$descr = trim($descr);
$divisor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $divisor_oid"));
$monitor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $monitor_oid"));
if ($monitor == 'true')
{
$descr = trim(str_replace(" Fan","",str_ireplace("Speed", "", $descr)));
if (mysql_result(mysql_query("SELECT count(fan_id) FROM `fanspeed` WHERE fan_oid = '$fan_oid' AND fan_host = '$id'"),0) == '0')
{
$query = "INSERT INTO fanspeed (`fan_host`, `fan_oid`, `fan_descr`, `fan_current`, `fan_limit`) values ('$id', '$fan_oid', '$descr', '$fan', '$limit')";
@ -84,6 +89,7 @@ if ($device['os'] == "linux")
}
}
}
}
}
## Delete removed sensors

View File

@ -199,14 +199,19 @@ if ($device['os'] == "linux")
$temp_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.4$oid";
$descr_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.2$oid";
$limit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.5$oid";
$divisor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.9$oid";
$monitor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.10$oid";
$descr = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $descr_oid"));
$temp = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $temp_oid"));
$limit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $limit_oid"));
$descr = str_ireplace("temperature", "", $descr);
$descr = trim($descr);
$divisor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $divisor_oid"));
$monitor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $monitor_oid"));
if ($monitor == 'true')
{
$descr = trim(str_ireplace("temperature", "", $descr));
if (mysql_result(mysql_query("SELECT count(temp_id) FROM `temperature` WHERE temp_oid = '$temp_oid' AND temp_host = '$id'"),0) == '0')
{
$query = "INSERT INTO temperature (`temp_host`, `temp_oid`, `temp_descr`, `temp_current`, `temp_limit`) values ('$id', '$temp_oid', '$descr', '$temp', '$limit')";
$query = "INSERT INTO temperature (`temp_host`, `temp_oid`, `temp_descr`, `temp_current`, `temp_limit`, `temp_precision`) values ('$id', '$temp_oid', '$descr', '$temp', '$limit','$divisor')";
mysql_query($query);
echo("+");
}
@ -218,6 +223,7 @@ if ($device['os'] == "linux")
}
}
}
}
}
## Cisco Temperatures

View File

@ -64,13 +64,20 @@ if ($device['os'] == "linux")
{
$volt_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.4$oid";
$descr_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.2$oid";
$monitor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.10$oid";
$limit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.5$oid";
$lowlimit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.6$oid";
$descr = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $descr_oid"));
$volt = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $volt_oid"));
$descr = str_ireplace("Voltage", "", $descr);
$descr = trim($descr);
$monitor = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $monitor_oid"));
$limit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $limit_oid"));
$lowlimit = trim(shell_exec($config['snmpget'] . " -m SUPERMICRO-HEALTH-MIB -O qv -$snmpver -c $community $hostname:$port $lowlimit_oid"));
if ($monitor == 'true')
{
$descr = trim(str_ireplace("Voltage", "", $descr));
if (mysql_result(mysql_query("SELECT count(volt_id) FROM `voltage` WHERE volt_oid = '$volt_oid' AND volt_host = '$id'"),0) == '0')
{
$query = "INSERT INTO voltage (`volt_host`, `volt_oid`, `volt_descr`, `volt_current`, `volt_limit`) values ('$id', '$volt_oid', '$descr', '$volt', '-1')";
$query = "INSERT INTO voltage (`volt_host`, `volt_oid`, `volt_descr`, `volt_current`, `volt_limit`, `volt_limit_low`, `volt_precision`) values ('$id', '$volt_oid', '$descr', '$volt', '$limit','$lowlimit','1000')";
mysql_query($query);
echo("+");
}
@ -82,6 +89,7 @@ if ($device['os'] == "linux")
}
}
}
}
}
## Delete removed sensors