diff --git a/database-update.sql b/database-update.sql index 1ee0bd7c0..a308cbcfb 100644 --- a/database-update.sql +++ b/database-update.sql @@ -1,4 +1,4 @@ ALTER TABLE `bills` CHANGE `bill_cdr` `bill_cdr` BIGINT( 20 ) NULL DEFAULT NULL; CREATE TABLE IF NOT EXISTS `loadbalancer_rservers` ( `rserver_id` int(11) NOT NULL AUTO_INCREMENT, `farm_id` varchar(128) CHARACTER SET utf8 NOT NULL, `device_id` int(11) NOT NULL, `StateDescr` varchar(64) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`rserver_id`)) ENGINE=MyISAM AUTO_INCREMENT=514 DEFAULT CHARSET=utf8 CREATE TABLE IF NOT EXISTS `loadbalancer_vservers` ( `classmap_id` int(11) NOT NULL, `classmap` varchar(128) NOT NULL, `serverstate` varchar(64) NOT NULL, `device_id` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 - +ALTER TABLE `sensors` CHANGE `sensor_index` `sensor_index` VARCHAR( 64 ); diff --git a/html/includes/graphs/device/netscaler_tcp_conn.inc.php b/html/includes/graphs/device/netscaler_tcp_conn.inc.php index 796ea2ff6..06edbde3d 100644 --- a/html/includes/graphs/device/netscaler_tcp_conn.inc.php +++ b/html/includes/graphs/device/netscaler_tcp_conn.inc.php @@ -1,25 +1,24 @@ diff --git a/includes/discovery/sensors-netscaler.inc.php b/includes/discovery/sensors-netscaler.inc.php new file mode 100644 index 000000000..18c5f97f6 --- /dev/null +++ b/includes/discovery/sensors-netscaler.inc.php @@ -0,0 +1,40 @@ + $data) +{ + + $current = $data['sysHealthCounterValue']; + + $oid = ".1.3.6.1.4.1.5951.4.1.1.41.7.1.2.".strlen($descr); + for($i = 0; $i != strlen($descr); $i++) + { + $oid .= ".".ord($descr[$i]); + } + + if (strpos($descr, "Temp") !== FALSE) { $divisor = 0; $multiplier = 0; $type = "temperature"; } + elseif (strpos($descr, "Fan") !== FALSE) { $divisor = 0; $multiplier = 0; $type = "fanspeed"; } + elseif (strpos($descr, "Volt") !== FALSE) { $divisor = 1000; $multiplier = 0; $type = "voltage"; } + elseif (strpos($descr, "Vtt") !== FALSE) { $divisor = 1000; $multiplier = 0; $type = "voltage"; } + + if($divisor) { $current = $current / $divisor; }; + + discover_sensor($valid['sensor'], $type, $device, $oid, $descr, 'netscaler-health', $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current); + +} + + +unset($ns_sensor_array); + +?> diff --git a/includes/discovery/sensors.inc.php b/includes/discovery/sensors.inc.php index 7cf9fd810..976cb5fe8 100644 --- a/includes/discovery/sensors.inc.php +++ b/includes/discovery/sensors.inc.php @@ -8,6 +8,8 @@ include("includes/discovery/cisco-entity-sensor.inc.php"); include("includes/discovery/entity-sensor.inc.php"); include("includes/discovery/ipmi.inc.php"); +if($device['os'] == "netscaler"){ include("includes/discovery/sensors-netscaler.inc.php"); } + include("includes/discovery/temperatures.inc.php"); include("includes/discovery/humidity.inc.php"); include("includes/discovery/voltages.inc.php"); diff --git a/includes/snmp.inc.php b/includes/snmp.inc.php index 60f63f76f..43bf07bce 100644 --- a/includes/snmp.inc.php +++ b/includes/snmp.inc.php @@ -194,6 +194,7 @@ function snmp_walk($device, $oid, $options = NULL, $mib = NULL, $mibdir = NULL) if (!$debug) { $cmd .= " 2>/dev/null"; } $data = trim(external_exec($cmd)); + $data = str_replace("\"", "", $data); if (is_string($data) && (preg_match("/No Such (Object|Instance)/i", $data))) {