Reduced number of snmp_gets by using snmp_get_multi_oid

This commit is contained in:
Geoffrey Ferk
2020-06-18 14:49:28 -05:00
parent 31bb85f3ba
commit ceca1db568
6 changed files with 107 additions and 150 deletions

View File

@@ -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);

View File

@@ -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);