mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* refactor: advanced sensor states mark create_state_index($state_name) as E_USER_DEPRECATED? * fix: minor corrections * fix: mib has partialSync(9) and incompatibleVersion(8) * fix: corrected netagent2upsstate - Sleeping(5) * fix: NetAgent2 upsThreePhaseUPSStatusInverterOperating correction * refactor: array() be gone * Refactoring includes/discovery/sensors/state/extendair.inc.php with arrays And tidying up array formatting in other files * fix: minor typo * standardising array item names removed redundant "if ($state_index_id !== null) {" * workaround: procurve & serverscheck a sensor is causing create_state_index($state) to return null. The updated code doesn't allow for this and thus a hybrid is being used. * standardised naming of state info. Caused a typo $state_name instead of $status_name $state_name is the standard * converted compas to square arrays * Converted APC states using preg_match to new create_state_index() call * Update boss.inc.php
61 lines
1.4 KiB
PHP
61 lines
1.4 KiB
PHP
<?php
|
|
|
|
echo ' NetScaler ';
|
|
|
|
echo ' Caching OIDs:';
|
|
|
|
if (!is_array($ns_sensor_array)) {
|
|
$ns_sensor_array = [];
|
|
echo ' sysHealthCounterValue ';
|
|
$ns_sensor_array = snmpwalk_cache_multi_oid($device, 'sysHealthCounterValue', $ns_sensor_array, 'NS-ROOT-MIB');
|
|
}
|
|
|
|
foreach ($ns_sensor_array as $descr => $data) {
|
|
$current = $data['sysHealthCounterValue'];
|
|
|
|
$oid = '.1.3.6.1.4.1.5951.4.1.1.41.7.1.2.'.string_to_oid($descr);
|
|
|
|
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);
|
|
};
|
|
|
|
if (is_numeric($current) && $type) {
|
|
discover_sensor(
|
|
$valid['sensor'],
|
|
$type,
|
|
$device,
|
|
$oid,
|
|
$descr,
|
|
'netscaler-health',
|
|
$descr,
|
|
$divisor,
|
|
$multiplier,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
$current
|
|
);
|
|
}
|
|
}
|
|
|
|
unset($ns_sensor_array);
|