Made adjustments based on scrutinizer recommendations

This commit is contained in:
Geoffrey Ferk
2020-04-24 15:08:32 -05:00
parent 277401d78b
commit 3093ee72cd
4 changed files with 77 additions and 64 deletions

View File

@@ -57,7 +57,7 @@ foreach ($oids as $index => $entry) {
$current = snmp_get($device, $oid, '-Oqv');
if ($type === 'dhcpatriotLicenseExpiration' && $current !== 'FULL:0') {
if ($type === 'dhcpatriotLicenseExpiration' && $current !== 'FULL:0' && gettype($epoch_time) === 'string') {
$epoch_time = explode(':', $current);
$current = round((intval($epoch_time[1]) - $current_time) / (60 * 60 * 24));
}

View File

@@ -20,13 +20,13 @@ $standard_dhcp_index = '2';
$auth_dhcp_networks = snmpwalk_array_num($device, $dhcp_networks_base_oid . '.' . $auth_dhcp_index, 2);
$standard_dhcp_networks = snmpwalk_array_num($device, $dhcp_networks_base_oid . '.' . $standard_dhcp_index, 2);
if (!is_array($standard_dhcp_networks) && is_array($auth_dhcp_networks) && !empty($auth_dhcp_networks)) {
if (!is_array($standard_dhcp_networks) && !empty($auth_dhcp_networks)) {
$dhcp_networks = $auth_dhcp_networks;
}
if (!is_array($auth_dhcp_networks) && is_array($standard_dhcp_networks) && !empty($standard_dhcp_networks)) {
if (!is_array($auth_dhcp_networks) && !empty($standard_dhcp_networks)) {
$dhcp_networks = $standard_dhcp_networks;
}
if (is_array($auth_dhcp_networks) && !empty($auth_dhcp_networks) && is_array($standard_dhcp_networks) && !empty($standard_dhcp_networks)) {
if (!empty($auth_dhcp_networks) && !empty($standard_dhcp_networks)) {
$dhcp_networks = array_merge_recursive($auth_dhcp_networks, $standard_dhcp_networks);
}
@@ -42,54 +42,52 @@ $entPhysicalIndex = null;
$entPhysicalIndex_measured = null;
$user_func = null;
if (is_array($dhcp_networks) && !empty($dhcp_networks)) {
if (is_array($dhcp_networks[$dhcp_networks_base_oid]) && !empty($dhcp_networks[$dhcp_networks_base_oid])) {
/* Loop through the DHCP type tier of the array grabbing the dhcp_type_index for later use */
foreach ($dhcp_networks[$dhcp_networks_base_oid] as $dhcp_type_index => $ignore_this) {
if (is_array($dhcp_networks[$dhcp_networks_base_oid][$dhcp_type_index]) && !empty($dhcp_networks[$dhcp_networks_base_oid][$dhcp_type_index])) {
/* Loop through the DHCP networks and set the network specific discover_sensor variables */
foreach ($dhcp_networks[$dhcp_networks_base_oid][$dhcp_type_index] as $index => $entry) {
$oid = ('.' . $pool_usage_base_oid . '.' . $dhcp_type_index . '.' . $index);
$pool_size_oid = ('.' . $pool_size_base_oid . '.' . $dhcp_type_index . '.' . $index);
$pool_data = snmp_get_multi_oid($device, $oid . ' ' . $pool_size_oid);
if (!empty($dhcp_networks[$dhcp_networks_base_oid])) {
/* Loop through the DHCP type tier of the array grabbing the dhcp_type_index for later use */
foreach ($dhcp_networks[$dhcp_networks_base_oid] as $dhcp_type_index => $ignore_this) {
if (!empty($dhcp_networks[$dhcp_networks_base_oid][$dhcp_type_index])) {
/* Loop through the DHCP networks and set the network specific discover_sensor variables */
foreach ($dhcp_networks[$dhcp_networks_base_oid][$dhcp_type_index] as $index => $entry) {
$oid = ('.' . $pool_usage_base_oid . '.' . $dhcp_type_index . '.' . $index);
$pool_size_oid = ('.' . $pool_size_base_oid . '.' . $dhcp_type_index . '.' . $index);
$pool_data = snmp_get_multi_oid($device, $oid . ' ' . $pool_size_oid);
if ($dhcp_type_index === intval($auth_dhcp_index)) {
$type = 'dhcpatriotAuthDHCP';
$group = 'Authenticated DHCP';
}
if ($dhcp_type_index === intval($standard_dhcp_index)) {
$type = 'dhcpatriotStandardDHCP';
$group = 'Standard DHCP';
}
$descr = explode('[', $entry);
$descr = $descr[0] . ' (' . $pool_data[$oid] . '/' . $pool_data[$pool_size_oid] . ')';
$divisor = $pool_data[$pool_size_oid];
$current = (($pool_data[$oid] / $pool_data[$pool_size_oid]) * 100);
discover_sensor(
$valid['sensor'],
$class,
$device,
$oid,
$index,
$type,
$descr,
$divisor,
$multiplier,
$low_limit,
$low_warn_limit,
$warn_limit,
$high_limit,
$current,
$poller_type,
$entPhysicalIndex,
$entPhysicalIndex_measured,
$user_func,
$group
);
if ($dhcp_type_index === intval($auth_dhcp_index)) {
$type = 'dhcpatriotAuthDHCP';
$group = 'Authenticated DHCP';
}
if ($dhcp_type_index === intval($standard_dhcp_index)) {
$type = 'dhcpatriotStandardDHCP';
$group = 'Standard DHCP';
}
$descr = explode('[', $entry);
$descr = $descr[0] . ' (' . $pool_data[$oid] . '/' . $pool_data[$pool_size_oid] . ')';
$divisor = $pool_data[$pool_size_oid];
$current = (($pool_data[$oid] / $pool_data[$pool_size_oid]) * 100);
discover_sensor(
$valid['sensor'],
$class,
$device,
$oid,
$index,
$type,
$descr,
$divisor,
$multiplier,
$low_limit,
$low_warn_limit,
$warn_limit,
$high_limit,
$current,
$poller_type,
$entPhysicalIndex,
$entPhysicalIndex_measured,
$user_func,
$group
);
}
}
}

View File

@@ -81,13 +81,13 @@ $group = null;
$current_time = time();
foreach ($oids as $index => $entry) {
$oid = $oids[$index]['oid'];
$type = $oids[$index]['type'];
$descr = $oids[$index]['descr'];
$oid = $entry['oid'];
$type = $entry['type'];
$descr = $entry['descr'];
$tmp_snmp_data = snmp_get($device, $oid, '-Oqv');
if ($type === 'dhcpatriotServiceStatus') {
if ($type === 'dhcpatriotServiceStatus' && gettype($tmp_snmp_data) === 'string') {
$tmp_snmp_data = explode(':', $tmp_snmp_data);
$current = intval($tmp_snmp_data[1]);

View File

@@ -7,21 +7,36 @@
*
*/
$ft_tmp = trim(snmp_get($device, ".1.3.6.1.4.1.2021.51.12.4.1.2.7.76.73.67.69.78.83.69.1", "-Oqv"), '" ');
$ft_tmp = snmp_get($device, '.1.3.6.1.4.1.2021.51.12.4.1.2.7.76.73.67.69.78.83.69.1', '-Oqv');
if (gettype($ft_tmp) === 'string') {
$ft_tmp = trim($ft_tmp, '" ');
}
if (!empty($ft_tmp)) {
if (str_contains($ft_tmp, "FULL:0")) {
$features = "Non-Expiry License";
if ($ft_tmp === 'FULL:0') {
$features = 'Non-Expiry License';
}
if (str_contains($ft_tmp, "LIMITED:")) {
$ft_epoch = str_replace("LIMITED:", "", $ft_tmp);
$ft_dt = new DateTime("@$ft_epoch");
$features = "License Expires ".$ft_dt->format('Y-m-d');
if (Str::contains($ft_tmp, 'LIMITED:')) {
$ft_epoch = str_replace('LIMITED:', '', $ft_tmp);
$ft_dt = new DateTime('@$ft_epoch');
$features = 'License Expires '.$ft_dt->format('Y-m-d');
}
}
$hardware = trim(snmp_get($device, ".1.3.6.1.4.1.2021.52.7.4.1.2.5.77.79.68.69.76.1", "-Oqv"), '" ');
$serial = trim(snmp_get($device, ".1.3.6.1.4.1.2021.52.8.4.1.2.6.83.69.82.73.65.76.1", "-Oqv"), '" ');
$version = trim(snmp_get($device, ".1.3.6.1.4.1.2021.51.11.4.1.2.7.86.69.82.83.73.79.78.1", "-Oqv"), '" ');
$hardware = snmp_get($device, '.1.3.6.1.4.1.2021.52.7.4.1.2.5.77.79.68.69.76.1', '-Oqv');
if (gettype($hardware) === 'string') {
$hardware = trim($hardware, '" ');
}
$serial = snmp_get($device, '.1.3.6.1.4.1.2021.52.8.4.1.2.6.83.69.82.73.65.76.1', '-Oqv');
if (gettype($serial) === 'string') {
$serial = trim($serial, '" ');
}
$version = snmp_get($device, '.1.3.6.1.4.1.2021.51.11.4.1.2.7.86.69.82.83.73.79.78.1', '-Oqv');
if (gettype($version) === 'string') {
$version = trim($version, '" ');
}
unset($ft_tmp, $ft_epoch, $ft_dt);