mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Reduced number of snmp_gets by using snmp_get_multi_oid
This commit is contained in:
@@ -7,37 +7,22 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* Set base OID value */
|
||||
$pool_size_base_oid = '1.3.6.1.4.1.2021.50.130';
|
||||
|
||||
/* Set dhcp index values for authenticated and standard DHCP networks */
|
||||
$auth_dhcp_index = '1';
|
||||
$standard_dhcp_index = '2';
|
||||
|
||||
if ($sensor['sensor_type'] === 'dhcpatriotAuthDHCP') {
|
||||
$pool_size = snmp_get($device, $pool_size_base_oid . '.' . $auth_dhcp_index . '.' . $sensor['sensor_index'], '-Oqv');
|
||||
}
|
||||
|
||||
if ($sensor['sensor_type'] === 'dhcpatriotStandardDHCP') {
|
||||
$pool_size = snmp_get($device, $pool_size_base_oid . '.' . $standard_dhcp_index . '.' . $sensor['sensor_index'], '-Oqv');
|
||||
}
|
||||
|
||||
$prev_divisor = $sensor['sensor_divisor'];
|
||||
$new_divisor = $pool_size;
|
||||
$new_divisor = snmp_get($device, str_replace('.1.3.6.1.4.1.2021.50.120', '.1.3.6.1.4.1.2021.50.130', $sensor['sensor_oid']), '-Oqv');
|
||||
|
||||
$prev_descr = $sensor['sensor_descr'];
|
||||
$descr_tmp = explode('(', $sensor['sensor_descr']);
|
||||
$new_descr = $descr_tmp[0] . '(' . $sensor_value . '/' . $pool_size . ')';
|
||||
|
||||
if ($new_descr != $prev_descr) {
|
||||
$sensor['sensor_descr'] = $new_descr;
|
||||
$updated = dbUpdate(array('sensor_descr' => $new_descr), 'sensors', '`sensor_id` = ?', array($sensor['sensor_id']));
|
||||
}
|
||||
$new_descr = explode('(', $sensor['sensor_descr'])[0] . '(' . $sensor_value . '/' . $new_divisor . ')';
|
||||
|
||||
if ($new_divisor != $prev_divisor) {
|
||||
$sensor['sensor_divisor'] = $new_divisor;
|
||||
$updated = dbUpdate(array('sensor_divisor' => $new_divisor), 'sensors', '`sensor_id` = ?', array($sensor['sensor_id']));
|
||||
dbUpdate(array('sensor_divisor' => $new_divisor), 'sensors', '`sensor_id` = ?', array($sensor['sensor_id']));
|
||||
log_event('Sensor Divisor Updated: ' . $sensor['sensor_class'] . ' ' . $sensor['sensor_type'] . ' ' . $sensor['sensor_index'] . ' ' . $sensor['sensor_descr'] . ' old_divisor=' . $prev_divisor . ' new_divisor=' . $sensor['sensor_divisor'], $device, 'sensor', 3, $sensor['sensor_id']);
|
||||
}
|
||||
|
||||
unset($pool_size_base_oid, $auth_dhcp_index, $standard_dhcp_index, $pool_size, $prev_divisor, $new_divisor, $descr_tmp, $prev_descr, $new_descr, $update, $updated);
|
||||
if ($new_descr != $prev_descr) {
|
||||
$sensor['sensor_descr'] = $new_descr;
|
||||
dbUpdate(array('sensor_descr' => $new_descr), 'sensors', '`sensor_id` = ?', array($sensor['sensor_id']));
|
||||
}
|
||||
|
||||
unset($prev_divisor, $new_divisor, $prev_descr, $new_descr);
|
||||
|
||||
|
@@ -11,6 +11,7 @@ if ($sensor['sensor_type'] === 'dhcpatriotServiceStatus') {
|
||||
$current_time = time();
|
||||
$sensor_value_tmp = explode(':', $sensor_value);
|
||||
$sensor_value = intval($sensor_value_tmp[1]);
|
||||
|
||||
if (abs(intval($sensor_value_tmp[0]) - $current_time) > 300) {
|
||||
$sensor_value = 2;
|
||||
}
|
||||
@@ -19,13 +20,4 @@ if ($sensor['sensor_type'] === 'dhcpatriotServiceStatus') {
|
||||
}
|
||||
}
|
||||
|
||||
if ($sensor['sensor_type'] === 'dhcpatriotSystemTime') {
|
||||
$current_time = time();
|
||||
$sensor_value_tmp = $sensor_value;
|
||||
$sensor_value = 1;
|
||||
if (abs(intval($sensor_value_tmp) - $current_time) > 300) {
|
||||
$sensor_value = 3;
|
||||
}
|
||||
}
|
||||
|
||||
unset($current_time, $sensor_value_tmp);
|
||||
|
Reference in New Issue
Block a user