mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
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:
@ -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`;
|
||||
|
@ -62,25 +62,31 @@ if ($device['os'] == "linux")
|
||||
list($oid,$type) = explode(" ", $data);
|
||||
if ($type == 0)
|
||||
{
|
||||
$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";
|
||||
$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);
|
||||
if (mysql_result(mysql_query("SELECT count(fan_id) FROM `fanspeed` WHERE fan_oid = '$fan_oid' AND fan_host = '$id'"),0) == '0')
|
||||
$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"));
|
||||
$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')
|
||||
{
|
||||
$query = "INSERT INTO fanspeed (`fan_host`, `fan_oid`, `fan_descr`, `fan_current`, `fan_limit`) values ('$id', '$fan_oid', '$descr', '$fan', '$limit')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
$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')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
}
|
||||
$fan_exists[] = "$id $fan_oid";
|
||||
}
|
||||
$fan_exists[] = "$id $fan_oid";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -196,25 +196,31 @@ if ($device['os'] == "linux")
|
||||
list($oid,$type) = explode(" ", $data);
|
||||
if ($type == 2)
|
||||
{
|
||||
$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";
|
||||
$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);
|
||||
if (mysql_result(mysql_query("SELECT count(temp_id) FROM `temperature` WHERE temp_oid = '$temp_oid' AND temp_host = '$id'"),0) == '0')
|
||||
$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"));
|
||||
$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')
|
||||
{
|
||||
$query = "INSERT INTO temperature (`temp_host`, `temp_oid`, `temp_descr`, `temp_current`, `temp_limit`) values ('$id', '$temp_oid', '$descr', '$temp', '$limit')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
$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`, `temp_precision`) values ('$id', '$temp_oid', '$descr', '$temp', '$limit','$divisor')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
}
|
||||
$temp_exists[] = "$id $temp_oid";
|
||||
}
|
||||
$temp_exists[] = "$id $temp_oid";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -62,23 +62,31 @@ if ($device['os'] == "linux")
|
||||
list($oid,$type) = explode(" ", $data);
|
||||
if ($type == 1)
|
||||
{
|
||||
$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";
|
||||
$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);
|
||||
if (mysql_result(mysql_query("SELECT count(volt_id) FROM `voltage` WHERE volt_oid = '$volt_oid' AND volt_host = '$id'"),0) == '0')
|
||||
$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"));
|
||||
$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')
|
||||
{
|
||||
$query = "INSERT INTO voltage (`volt_host`, `volt_oid`, `volt_descr`, `volt_current`, `volt_limit`) values ('$id', '$volt_oid', '$descr', '$volt', '-1')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
$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`, `volt_limit_low`, `volt_precision`) values ('$id', '$volt_oid', '$descr', '$volt', '$limit','$lowlimit','1000')";
|
||||
mysql_query($query);
|
||||
echo("+");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo(".");
|
||||
}
|
||||
$volt_exists[] = "$id $volt_oid";
|
||||
}
|
||||
$volt_exists[] = "$id $volt_oid";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user