PHP 8 fixes (#12528)

* port related errors

* more fixes

* fix storage count

* add tests for php8

* style

* only need not empty

* aix fixes....

* storage WIP

* fix aix discovering hrstorage
fix db test adding .gitkeep
fix os modules when discovery only

* fix aos processors wrong oid

* fix mempool number casting

* fix aos7 cpu

* use + 0 cast instead of floatval()

* more verbose error on invalid json

* remove invalid data in json

* actually fix the json

* correct json error fix

* cast_number() function
fix aruba-instant and aos6 bugs exposed by new function, probably more...

* fix a-f
fix inadequate sort for component data

* fix global port poll time

* fix mempools precent 0, route count, ntp const

* fix schleifenbauer liberal current usage

* further number casting refinement

* vrp

* fix tests

* fix arbos

* warn cleanups adjust to :: change

* fix ciena-sds

* fix drac

* fix dell-rpdu anddlink

* fix and improve arubaos
better error when getting an array in Processor

* fix atenpdu, add missing arubaos files

* aruba-instant to yaml
apparently I didn't need to do this, the diff just looks really odd
It did add ranged sub-index replacements

* docker app, was completely wrong... fixed

* fix sentry4 divide by 0...

* fixed root issue, remove check

* nicer cidr in ipv6 code

* remove bogus enuxus battery bank skip_values

* Fix InfluxDB tests

* remove extra import

* fix other style issues.

* influx "style" fixes
This commit is contained in:
Tony Murray
2021-03-12 18:10:14 -06:00
committed by GitHub
co-authored by GitHub
parent 13c5745ae8
commit 61316ce2cc
81 changed files with 2578 additions and 3353 deletions
+8 -2
View File
@@ -26,16 +26,22 @@ jobs:
matrix:
include:
-
php-version: 7.4
php-version: 8.0
name: Unit
skip-style-check: 1
skip-web-check: 1
database: mariadb:10.5
-
php-version: 7.4
php-version: 8.0
name: Style and Web
skip-unit-check: 1
database: mysql:5.7
-
php-version: 7.4
name: Unit
skip-style-check: 1
skip-web-check: 1
database: mysql:5.7
-
php-version: 7.3
name: Unit
+2 -10
View File
@@ -121,7 +121,7 @@ class InfluxDB extends BaseDatastore
$this->connection->writePoints($points);
$this->recordStatistic($stat->end());
} catch (\Exception $e) {
} catch (\InfluxDB\Exception $e) {
Log::error('InfluxDB exception: ' . $e->getMessage());
Log::debug($e->getTraceAsString());
}
@@ -159,18 +159,10 @@ class InfluxDB extends BaseDatastore
* therefore may cause breakages on inserts.
* Just setting every number to a float gets around this, but may introduce
* inefficiencies.
* I've left the detection statement in there for a possible change in future,
* but currently everything just gets set to a float.
*/
if (is_numeric($data)) {
// If it is an Integer
if (ctype_digit($data)) {
return floatval($data);
// Else it is a float
} else {
return floatval($data);
}
return floatval($data);
}
return $data === 'U' ? null : $data;
+1 -1
View File
@@ -364,7 +364,7 @@ class Sensor implements DiscoveryModule, PollerModule
array_walk($snmp_data, function (&$oid) {
preg_match('/-?\d+(\.\d+)?(e-?\d+)?/i', $oid, $matches);
if (isset($matches[0])) {
$oid = $matches[0] + 0;
$oid = cast_number($matches[0]);
} else {
$oid = trim('"', $oid); // allow string only values
}
+25 -12
View File
@@ -77,10 +77,12 @@ class YamlDiscovery
$count++;
$current_data = [];
// fall back to the fetched oid if value is not specified. Useful for non-tabular data.
if (! isset($data['value'])) {
$data['value'] = $data['oid'];
}
// determine numeric oid automatically if not specified
if (! isset($data['num_oid'])) {
try {
d_echo('Info: Trying to find a numerical OID for ' . $data['value'] . '.');
@@ -100,7 +102,7 @@ class YamlDiscovery
}
foreach ($data as $name => $value) {
if ($name == '$oid' || $name == 'skip_values') {
if (in_array($name, ['oid', 'skip_values', 'snmp_flags'])) {
$current_data[$name] = $value;
} elseif (Str::contains($value, '{{')) {
// replace embedded values
@@ -156,7 +158,7 @@ class YamlDiscovery
$replace[] = $subindex;
}
$value = str_replace($search, $replace, $def[$name]);
$value = str_replace($search, $replace, $def[$name] ?? '');
// search discovery data for values
$value = preg_replace_callback('/{{ \$?([a-zA-Z0-9\-.:]+) }}/', function ($matches) use ($index, $def, $pre_cache) {
@@ -202,9 +204,9 @@ class YamlDiscovery
$sub_indexes = explode('.', $index);
// parse sub_index options name with trailing colon and index
$sub_index = 0;
if (preg_match('/^(.+):(\d+)$/', $name, $matches)) {
$name = $matches[1];
$sub_index = $matches[2];
$sub_index_end = null;
if (preg_match('/^(.+):(\d+)(?:-(\d+))?$/', $name, $matches)) {
[,$name, $sub_index, $sub_index_end] = $matches;
}
if (isset($pre_cache[$name]) && ! is_numeric($name)) {
@@ -213,10 +215,19 @@ class YamlDiscovery
return $pre_cache[$name][$index][$name];
} elseif (isset($pre_cache[$name][$index])) {
return $pre_cache[$name][$index];
} elseif (count($pre_cache[$name]) === 1) {
} elseif (count($pre_cache[$name]) === 1 && ! is_array(current($pre_cache[$name]))) {
return current($pre_cache[$name]);
} elseif (isset($pre_cache[$name][$sub_indexes[$sub_index]][$name])) {
return $pre_cache[$name][$sub_indexes[$sub_index]][$name];
} elseif (isset($sub_indexes[$sub_index])) {
if ($sub_index_end) {
$multi_sub_index = implode('.', array_slice($sub_indexes, $sub_index, $sub_index_end));
if (isset($pre_cache[$name][$multi_sub_index][$name])) {
return $pre_cache[$name][$multi_sub_index][$name];
}
}
if (isset($pre_cache[$name][$sub_indexes[$sub_index]][$name])) {
return $pre_cache[$name][$sub_indexes[$sub_index]][$name];
}
}
} else {
return $pre_cache[$name];
@@ -262,13 +273,15 @@ class YamlDiscovery
if (! array_key_exists($oid, $pre_cache)) {
if (isset($data['snmp_flags'])) {
$snmp_flag = Arr::wrap($data['snmp_flags']);
} elseif (Str::contains($oid, '::')) {
$snmp_flag = ['-OteQUS'];
} else {
$snmp_flag = ['-OteQUs'];
}
$snmp_flag[] = '-Ih';
$mib = $device['dynamic_discovery']['mib'];
$pre_cache[$oid] = snmpwalk_cache_oid($device, $oid, $pre_cache[$oid], $mib, null, $snmp_flag);
$pre_cache[$oid] = snmpwalk_cache_oid($device, $oid, $pre_cache[$oid] ?? [], $mib, null, $snmp_flag);
}
}
}
@@ -291,7 +304,7 @@ class YamlDiscovery
*/
public static function canSkipItem($value, $index, $yaml_item_data, $group_options, $pre_cache = [])
{
$skip_values = array_replace((array) $group_options['skip_values'], (array) $yaml_item_data['skip_values']);
$skip_values = array_replace((array) ($group_options['skip_values'] ?? []), (array) ($yaml_item_data['skip_values'] ?? []));
foreach ($skip_values as $skip_value) {
if (is_array($skip_value) && $pre_cache) {
@@ -311,14 +324,14 @@ class YamlDiscovery
}
}
$skip_value_lt = array_replace((array) $group_options['skip_value_lt'], (array) $yaml_item_data['skip_value_lt']);
$skip_value_lt = array_replace((array) ($group_options['skip_value_lt'] ?? []), (array) ($yaml_item_data['skip_value_lt'] ?? []));
foreach ($skip_value_lt as $skip_value) {
if ($value < $skip_value) {
return true;
}
}
$skip_value_gt = array_replace((array) $group_options['skip_value_gt'], (array) $yaml_item_data['skip_value_gt']);
$skip_value_gt = array_replace((array) ($group_options['skip_value_gt'] ?? []), (array) ($yaml_item_data['skip_value_gt'] ?? []));
foreach ($skip_value_gt as $skip_value) {
if ($value > $skip_value) {
return true;
+1 -1
View File
@@ -160,7 +160,7 @@ class Arubaos extends OS implements
protected function decodeChannel($channel)
{
return $channel & 255; // mask off the channel width information
return cast_number($channel) & 255; // mask off the channel width information
}
private function discoverInstantRadio($type, $oid, $desc = 'Radio %s')
+1 -1
View File
@@ -32,7 +32,7 @@ class Edgeos extends \LibreNMS\OS
{
parent::discoverOS($device); // yaml
$hw = snmp_get($this->getDeviceArray(), ['.1.3.6.1.2.1.25.4.2.1.5.3818', '.1.3.6.1.2.1.25.4.2.1.5.3819'], '-Ovq');
$hw = implode(PHP_EOL, snmp_get_multi_oid($this->getDeviceArray(), ['.1.3.6.1.2.1.25.4.2.1.5.3818', '.1.3.6.1.2.1.25.4.2.1.5.3819'], '-Ovq'));
if (preg_match('/(?<=UBNT )(.*)(?= running on)/', $hw, $matches)) {
$this->getDevice()->hardware = $matches[0];
}
+1 -3
View File
@@ -93,9 +93,7 @@ class IPv6 extends IP
*/
public function getNetworkAddress($cidr = null)
{
if (is_null($cidr)) {
$cidr = $this->cidr;
}
$cidr = (int) ($cidr ?? $this->cidr);
$net_bytes = unpack('n*', inet_pton($this->ip));
+6 -2
View File
@@ -249,13 +249,15 @@ class ModuleTestHelper
[$os, $variant] = self::extractVariant($file);
// calculate valid modules
$data_modules = array_keys(json_decode(file_get_contents($file), true));
$decoded = json_decode(file_get_contents($file), true);
if (json_last_error()) {
echo "Invalid json data: $base_name\n";
exit(1);
}
$data_modules = array_keys($decoded);
if (empty($modules)) {
$valid_modules = $data_modules;
} else {
@@ -837,7 +839,9 @@ class ModuleTestHelper
private function collectComponents($device_id)
{
$components = (new Component())->getComponents($device_id)[$device_id] ?? [];
$components = Arr::sort($components, 'label');
$components = Arr::sort($components, function ($item) {
return $item['type'] . $item['label'];
});
return array_values($components);
}
+25 -2
View File
@@ -61,7 +61,7 @@ class Number
$value = $value * -1;
}
return (number_format(round($value, $round), $sf, '.', '') + 0) . " $ext$suffix";
return self::cast(number_format(round($value, $round), $sf, '.', '')) . " $ext$suffix";
}
public static function formatBi($value, $round = 2, $sf = 3, $suffix = 'B')
@@ -81,6 +81,29 @@ class Number
$value = $value * -1;
}
return (number_format(round($value, $round), $sf, '.', '') + 0) . " $ext$suffix";
return self::cast(number_format(round($value, $round), $sf, '.', '')) . " $ext$suffix";
}
/**
* Cast string to int or float.
* Returns 0 if string is not numeric
*
* @param string $number
* @return float|int
*/
public static function cast($number)
{
if (! is_numeric($number)) {
// match pre-PHP8 behavior
if (! preg_match('/^-?\d+(\.\d+)?/', $number, $matches)) {
return 0;
}
$number = $matches[0];
}
$float = (float) $number;
$int = (int) $number;
return $float == $int ? $int : $float;
}
}
+7 -1
View File
@@ -66,7 +66,7 @@ class Mempool extends DeviceRelatedModel implements Keyable
$this->mempool_perc = $percent;
if (! $this->mempool_total) {
if (! $percent && $percent !== '0') {
if (! $percent && $percent !== 0.0) {
// could not calculate total, can't calculate other values
return $this;
}
@@ -176,6 +176,12 @@ class Mempool extends DeviceRelatedModel implements Keyable
private function normalizePercent($percent)
{
if ($percent === null) {
return null;
}
$percent = floatval($percent);
while ($percent > 100) {
$percent = $percent / 10;
}
+2 -2
View File
@@ -12,7 +12,7 @@ modules:
processors:
data:
-
oid: healthDeviceInfo
oid: healthDeviceCpu1MinAvg
num_oid: '.1.3.6.1.4.1.6486.800.1.2.1.16.1.1.1.14.{{ $index }}'
index: 0
sensors:
@@ -84,7 +84,7 @@ modules:
descr: '{{ $ifName }} Rx Power'
index: 'ddmRxOpticalPower.{{ $index }}'
low_limit: ddmRxOpticalPowerLowAlarm
low_warn_limit: ddmRxOpticalPowerLowWarning
low_warn_limit: ddmRxOpticalPowerLowWarning
high_limit: ddmRxOpticalPowerHiAlarm
warn_limit: ddmRxOpticalPowerHiWarning
-
+2 -2
View File
@@ -17,8 +17,8 @@ modules:
processors:
data:
-
oid: HealthModuleEntry
num_oid: '.1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.{{ $index }}'
oid: healthModuleCpu1MinAvg
num_oid: '.1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.0' # force to CMM oid
index: 0
sensors:
pre-cache:
+6 -6
View File
@@ -31,12 +31,12 @@ modules:
processors:
data:
-
oid: PEAKFLOW-TMS-MIB:deviceCpuLoadAvg5min
num_oid: '.1.3.6.1.4.1.9694.1.5.2.7.{{ $index }}'
descr: 'Load Average'
index: 0
-
oid: PEAKFLOW-SP-MIB:deviceCpuLoadAvg5min
oid: PEAKFLOW-SP-MIB::deviceCpuLoadAvg5min
num_oid: '.1.3.6.1.4.1.9694.1.4.2.1.2.{{ $index }}'
descr: 'Load Average'
index: 0
-
oid: PEAKFLOW-TMS-MIB::deviceCpuLoadAvg5min
num_oid: '.1.3.6.1.4.1.9694.1.5.2.4.{{ $index }}'
descr: 'Load Average'
index: 0
@@ -1,3 +1,4 @@
mib: AI-AP-MIB
modules:
mempools:
pre-cache:
@@ -12,3 +13,33 @@ modules:
descr: '{{ AI-AP-MIB::aiAPName }} [{{ AI-AP-MIB::aiAPSerialNum }}]'
os:
sysDescr_regex: '/\(MODEL: (?<hardware>\S+)\), Version (?<version>\S+)/'
sensors:
pre-cache:
data:
-
oid:
- aiAPName
- aiAPSerialNum
snmp_flags: '-OteQUsb'
state:
data:
-
oid: aiAPStatus
num_oid: '.1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.{{ $index }}'
snmp_flags: '-OteQUsb'
descr: '{{ $aiAPName }} ({{ $aiAPSerialNum }})'
group: 'Cluster APs'
state_name: aiAPStatus
states:
- { value: 1, generic: 0, graph: 0, descr: up }
- { value: 2, generic: 2, graph: 0, descr: down }
-
oid: aiRadioStatus
num_oid: '.1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.{{ $index }}'
snmp_flags: '-OteQUsb'
descr: '{{ $aiAPName:0-6 }} ({{ $aiAPSerialNum:0-6 }}) Radio {{ $subindex6 }}'
group: 'Cluster Radios'
state_name: aiRadioStatus
states:
- { value: 1, generic: 0, graph: 0, descr: up }
- { value: 2, generic: 3, graph: 0, descr: down }
+3 -6
View File
@@ -14,10 +14,7 @@ modules:
processors:
data:
-
oid: WLSX-SYSTEMEXT-MIB::sysExtProcessorLoad
oid: WLSX-SYSTEMEXT-MIB::wlsxSysExtProcessorTable
value: WLSX-SYSTEMEXT-MIB::sysExtProcessorLoad
num_oid: '.1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.{{ $index }}'
descr: 'Network Processor CPU{{ $index }}'
-
oid: WLSX-SYSTEMEXT-MIB::sysExtProcessorLoad.1
num_oid: '.1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.1.{{ $index }}'
descr: 'Supervisor Card CPU'
descr: WLSX-SYSTEMEXT-MIB::sysExtProcessorDescr
+3 -3
View File
@@ -4,7 +4,7 @@ modules:
power:
data:
-
oid: ATEN-PE-CFG::outlet
oid: outlet
skip_value_lt: -200
value: outletIntegerPower
num_oid: '.1.3.6.1.4.1.21317.1.3.2.2.2.2.99.1.4.{{ $index }}'
@@ -16,7 +16,7 @@ modules:
current:
data:
-
oid: ATEN-PE-CFG::outlet
oid: outlet
value: outletIntegerCurrent
skip_value_lt: -200
num_oid: '.1.3.6.1.4.1.21317.1.3.2.2.2.2.99.1.2.{{ $index }}'
@@ -28,7 +28,7 @@ modules:
voltage:
data:
-
oid: ATEN-PE-CFG::outlet
oid: outlet
value: outletIntegerVoltage
skip_value_lt: -200
num_oid: '.1.3.6.1.4.1.21317.1.3.2.2.2.2.99.1.3.{{ $index }}'
+22 -2
View File
@@ -5,9 +5,29 @@ modules:
- BTI8xx-SYSTEM-MIB::systemProductName.0
- BTI8xx-SYSTEM-MIB::systemHWVersion.0
hardware_template: '{{ BTI8xx-SYSTEM-MIB::systemProductName.0 }} {{ BTI8xx-SYSTEM-MIB::systemHWVersion.0 }}'
serial: BTI8xx-TC-MIB::fruBaseInfoserialNumber.1
version: BTI8xx-SYSTEM-MIB::systemSWVersion.0
serial: BTI8xx-TC-MIB::fruBaseInfoserialNumber.1
version: BTI8xx-SYSTEM-MIB::systemSWVersion.0
sensors:
dbm:
data:
-
oid: sfpDiagnosticTable
value: sfpDiagnosticRxPowerDbm
num_oid: '.1.3.6.1.4.1.30005.1.7.100.1.2.6.3.1.8.{{ $index }}'
skip_values: 0
index: 'sfpDiagnosticRxPowerDbm.{{ $index }}'
descr: 'eth-0-{{ $sfpDiagnosticIndex }} Rx Power'
entPhysicalIndex: sfpDiagnosticIndex
entPhysicalIndex_measured: ports
-
oid: sfpDiagnosticTable
value: sfpDiagnosticTxPowerDbm
num_oid: '.1.3.6.1.4.1.30005.1.7.100.1.2.6.3.1.7.{{ $index }}'
skip_values: 0
index: 'sfpDiagnosticTxPowerDbm.{{ $index }}'
descr: 'eth-0-{{ $sfpDiagnosticIndex }} Tx Power'
entPhysicalIndex: sfpDiagnosticIndex
entPhysicalIndex_measured: ports
temperature:
data:
-
+116 -46
View File
@@ -45,19 +45,6 @@ modules:
- dot1dBasePortIfIndex
- cienaCesLogicalPortConfigPortName
- cienaCesChassisPowerSupplySlotName
- cienaCesPortXcvrLowTempAlarmThreshold
- cienaCesPortXcvrHighTempAlarmThreshold
- cienaCesPortXcvrLowVccAlarmThreshold
- cienaCesPortXcvrHighVccAlarmThreshold
- cienaCesPortXcvrLowBiasAlarmThreshold
- cienaCesPortXcvrHighBiasAlarmThreshold
- cienaCesPortXcvrLowRxPwAlarmThreshold
- cienaCesPortXcvrHighRxPwAlarmThreshold
- cienaCesPortXcvrLowTxPwAlarmThreshold
- cienaCesPortXcvrHighTxPwAlarmThreshold
- cienaCesPortXcvrOperState
- cienaCesPortXcvrTxState
- wwpLeosPortXcvrTable
dbm:
data:
-
@@ -126,7 +113,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'Modules'
-
oid: cienaCesPortXcvrTemperature
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrTemperature
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.3.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver'
@@ -182,7 +169,7 @@ modules:
index: 'psu-v-{{ $index }}'
snmp_flags: '-OQUsbe'
-
oid: cienaCesPortXcvrVcc
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrVcc
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.4.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Vcc'
@@ -202,7 +189,7 @@ modules:
current:
data:
-
oid: cienaCesPortXcvrBias
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrBias
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.5.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Bias Current'
@@ -222,7 +209,8 @@ modules:
power:
data:
-
oid: cienaCesPortXcvrRxPower
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrRxPower
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.6.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Rx Power'
entPhysicalIndex: '{{ $dot1dBasePortIfIndex }}'
@@ -239,7 +227,8 @@ modules:
op: 'in_array'
value: [1,4]
-
oid: cienaCesPortXcvrRxPower
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrRxPower
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.6.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Rx Power'
entPhysicalIndex: '{{ $dot1dBasePortIfIndex }}'
@@ -256,7 +245,8 @@ modules:
op: 'not_in_array'
value: [1]
-
oid: cienaCesPortXcvrTxOutputPower
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrTxOutputPower
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.35.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Tx Power'
entPhysicalIndex: '{{ $dot1dBasePortIfIndex }}'
@@ -329,7 +319,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'CPU'
-
oid: cienaCesPortXcvrFecMode
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrFecMode
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.36.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver FEC Mode'
@@ -352,7 +342,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'Transceiver FEC Mode'
-
oid: cienaCesPortXcvrTxState
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrTxState
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.32.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Tx State'
@@ -374,7 +364,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'Transceiver Tx State'
-
oid: cienaCesPortXcvrTxFaultStatus
oid: cienaCesPortXcvrTable
value: cienaCesPortXcvrTxFaultStatus
num_oid: '.1.3.6.1.4.1.1271.2.1.9.1.1.1.1.33.{{ $index }}'
descr: 'Port {{ $cienaCesLogicalPortConfigPortName }} Transceiver Tx Fault'
@@ -599,7 +589,7 @@ modules:
- { value: 4, generic: 0, graph: 0, descr: protected }
group: 'Module Standby Status'
-
oid: cienaCesChassisDiskHealthTable.1.3.1
oid: cienaCesChassisDiskHealthTable
value: cienaCesChassisDiskHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Disk Health - Flash0'
@@ -612,8 +602,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Disk'
skip_values:
-
oid: cienaCesChassisDiskHealthSubCategory
op: '!='
value: 1
-
oid: cienaCesChassisDiskHealthTable.1.3.2
oid: cienaCesChassisDiskHealthTable
value: cienaCesChassisDiskHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Disk Health - RAM'
@@ -626,8 +621,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Disk'
skip_values:
-
oid: cienaCesChassisDiskHealthSubCategory
op: '!='
value: 2
-
oid: cienaCesChassisDiskHealthTable.1.3.3
oid: cienaCesChassisDiskHealthTable
value: cienaCesChassisDiskHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Disk Health - USB'
@@ -640,8 +640,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Disk'
skip_values:
-
oid: cienaCesChassisDiskHealthSubCategory
op: '!='
value: 3
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.1
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Load Fuse'
@@ -654,8 +659,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 1
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.2
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Internal Fuse'
@@ -668,8 +678,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 2
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.3
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Voltage Regulator'
@@ -682,8 +697,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 3
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.4
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Temperature'
@@ -696,8 +716,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 4
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.5
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} AC Input'
@@ -710,8 +735,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 5
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.6
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Overload Protection'
@@ -724,8 +754,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 6
-
oid: cienaCesChassisPowerParamsHealthTable.1.3.7
oid: cienaCesChassisPowerParamsHealthTable
value: cienaCesChassisPowerParamsHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.{{ $index }}'
descr: 'PS {{ $subindex1 }} Fan'
@@ -738,6 +773,11 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Power Supplies'
skip_values:
-
oid: cienaCesChassisPowerParamsHealthSubCategory
op: '!='
value: 7
-
oid: cienaCesChassisSMFabricHealthTable
value: cienaCesChassisSMFabricHealthState
@@ -767,7 +807,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'Switch Modules'
-
oid: cienaCesChassisMemoryHealthTable.1.3.1
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Global Heap'
@@ -780,8 +820,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthSubCategory
op: '!='
value: 1
-
oid: cienaCesChassisMemoryHealthTable.1.3.2
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Heap1'
@@ -794,12 +839,17 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthSubCategory
op: '=='
value: 1
-
oid: cienaCesChassisMemoryHealthTable.1.3.3
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Heap2'
state_name: cienaCesChassisMemoryHealthStateHeap2
state_name: cienaCesChassisMemoryHealthSubCategory
states:
- { value: 1, generic: 3, graph: 0, descr: unknown }
- { value: 2, generic: 0, graph: 0, descr: normal }
@@ -808,8 +858,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthSubCategory
op: '!='
value: 3
-
oid: cienaCesChassisMemoryHealthTable.1.3.4
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Pool1'
@@ -822,8 +877,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthOriginIndex
op: '!='
value: 4
-
oid: cienaCesChassisMemoryHealthTable.1.3.5
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Pool2'
@@ -836,8 +896,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthOriginIndex
op: '!='
value: 5
-
oid: cienaCesChassisMemoryHealthTable.1.3.6
oid: cienaCesChassisMemoryHealthTable
value: cienaCesChassisMemoryHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} Heap'
@@ -850,8 +915,13 @@ modules:
- { value: 5, generic: 2, graph: 0, descr: faulted }
snmp_flags: '-OQUsbe'
group: 'Memory'
skip_values:
-
oid: cienaCesChassisMemoryHealthOriginIndex
op: '!='
value: 6
-
oid: cienaCesChassisCPUHealthEntry.3.1
oid: cienaCesChassisCPUHealthTable
value: cienaCesChassisCPUHealthState
num_oid: '.1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.3.{{ $index }}'
descr: 'Slot {{ $subindex1 }} CPU Status'
@@ -865,7 +935,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'CPU'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingState
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.7.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} State'
@@ -880,7 +950,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'G.8032'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingStatus
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.8.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} Status'
@@ -897,7 +967,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'G.8032'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingWestPortState
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.14.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} Port State - West'
@@ -909,7 +979,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'G.8032'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingEastPortState
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.25.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} Port State - East'
@@ -921,7 +991,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'G.8032'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingWestPortStatus
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.15.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} Port Status - West'
@@ -936,7 +1006,7 @@ modules:
snmp_flags: '-OQUsbe'
group: 'G.8032'
-
oid: cienaCesRapsVirtualRingEntry
oid: cienaCesRapsVirtualRingTable
value: cienaCesRapsVirtualRingEastPortStatus
num_oid: '.1.3.6.1.4.1.1271.2.1.20.1.3.1.1.26.{{ $index }}'
descr: 'Virtual Ring {{ $cienaCesRapsVirtualRingName }} Port Status - East'
-1
View File
@@ -4,7 +4,6 @@ modules:
data:
-
oid: CMM3-MIB::powerStatus
value: powerStatus
num_oid: '.1.3.6.1.4.1.161.19.3.4.4.1.1.5.{{ $index }}'
index: powerStatus.{{ $index }}
descr: Power Status {{ $index }}
@@ -20,7 +20,6 @@ modules:
num_oid: '.1.3.6.1.4.1.674.10903.200.2.200.130.2.2.1.6.{{ $index }}'
index: 'rPDUOutletMeteredStatusIndex.{{ $index }}'
descr: Outlet, {{ $rPDUOutletMeteredStatusName }}, Current
divisor: 0
-
oid: rPDUPhaseStatusCurrent
num_oid: '.1.3.6.1.4.1.674.10903.200.2.200.120.2.1.4.{{ $index }}'
@@ -34,13 +33,11 @@ modules:
num_oid: '.1.3.6.1.4.1.674.10903.200.2.200.130.2.2.1.8.{{ $index }}'
index: 'rPDUOutletMeteredStatusIndex.{{ $index }}'
descr: Outlet, {{ $rPDUOutletMeteredStatusName }}, Power
divisor: 0
-
oid: rPDUPhaseStatusPower
num_oid: '.1.3.6.1.4.1.674.10903.200.2.200.120.2.1.6.{{ $index }}'
index: 'rPDUPhaseStatusIndex.{{ $index }}'
descr: 'Power, Phase #{{ $index }}'
divisor: 0
multiplier: 10
voltage:
data:
@@ -49,7 +46,6 @@ modules:
num_oid: '.1.3.6.1.4.1.674.10903.200.2.200.120.2.1.5.{{ $index }}'
index: 'rPDUPhaseStatusIndex.{{ $index }}'
descr: 'Voltage, Phase #{{ $index }}'
divisor: 0
state:
data:
-
+2 -2
View File
@@ -26,11 +26,11 @@ modules:
data:
-
oid: AGENT-GENERAL-MIB::agentCPUutilizationIn5sec
value: agentCPUutilizationIn5sec
value: AGENT-GENERAL-MIB::agentCPUutilizationIn5sec
num_oid: '.1.3.6.1.4.1.171.12.1.1.6.1.{{ $index }}'
-
oid: DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilOneMinute
value: dEntityExtCpuUtilOneMinute
value: DLINKSW-ENTITY-EXT-MIB::dEntityExtCpuUtilOneMinute
num_oid: '.1.3.6.1.4.1.171.14.5.1.7.1.4.{{ $index }}'
sensors:
temperature:
+6 -7
View File
@@ -137,7 +137,6 @@ modules:
- { value: 6, descr: nonRecoverable, graph: 1, generic: 2 }
-
oid: drsBladeCurrStatus
value: drsBladeCurrStatus
num_oid: '.1.3.6.1.4.1.674.10892.2.3.1.7.{{ $index }}'
descr: 'Blade Status'
index: 'drsBladeCurrStatus.{{ $index }}'
@@ -150,7 +149,6 @@ modules:
- { value: 6, descr: nonRecoverable, graph: 1, generic: 2 }
-
oid: drsTempCurrStatus
value: drsTempCurrStatus
num_oid: '.1.3.6.1.4.1.674.10892.2.3.1.8.{{ $index }}'
descr: 'Temperature Status'
index: 'drsTempCurrStatus.{{ $index }}'
@@ -163,7 +161,6 @@ modules:
- { value: 6, descr: nonRecoverable, graph: 1, generic: 2 }
-
oid: drsCMCCurrStatus
value: drsCMCCurrStatus
num_oid: '.1.3.6.1.4.1.674.10892.2.3.1.9.{{ $index }}'
descr: 'CMC Status'
index: 'drsCMCCurrStatus.{{ $index }}'
@@ -176,10 +173,11 @@ modules:
- { value: 6, descr: nonRecoverable, graph: 1, generic: 2 }
-
oid: DELL-RAC-MIB::physicalDiskTable
value: physicalDiskState
value: DELL-RAC-MIB::physicalDiskState
num_oid: '.1.3.6.1.4.1.674.10892.2.6.1.20.130.4.1.4.{{ $index }}'
descr: '{{ $physicalDiskName }} State'
descr: '{{ $DELL-RAC-MIB::physicalDiskName }} State'
index: 'physicalDiskStatus.{{ $index }}'
state_name: DELL-RAC-MIB::physicalDiskTable
states:
- { value: 1, descr: unknown, graph: 1, generic: 3 }
- { value: 2, descr: ready, graph: 1, generic: 0 }
@@ -193,10 +191,11 @@ modules:
- { value: 10, descr: readonly, graph: 1, generic: 0 }
-
oid: DELL-RAC-MIB::controllerTable
value: controllerComponentStatus
value: DELL-RAC-MIB::controllerComponentStatus
num_oid: '.1.3.6.1.4.1.674.10892.2.6.1.20.130.1.1.38.{{ $index }}'
descr: '{{ $controllerName }} {{ $controllerDisplayName }} State'
descr: '{{ $DELL-RAC-MIB::controllerName }} {{ $DELL-RAC-MIB::controllerDisplayName }} State'
index: 'controllerComponentStatus.{{ $index }}'
state_name: DELL-RAC-MIB::controllerTable
states:
- { value: 1, descr: other, graph: 1, generic: 3 }
- { value: 2, descr: unknown, graph: 1, generic: 3 }
@@ -172,11 +172,6 @@ modules:
- { descr: valuePerCent, graph: 0, value: 17, generic: 1 }
- { descr: critical, graph: 0, value: 18, generic: 2 }
- { descr: warning, graph: 0, value: 19, generic: 1 }
skip_values:
-
oid: batteryBankTable
op: '='
value: false
-
oid: batteryBankTable
value: batteryBankStatus
@@ -310,11 +305,6 @@ modules:
low_warn_limit: batteryVoltageMinorLowLevel
warn_limit: batteryVoltageMinorHighLevel
high_limit: batteryVoltageMajorHighLevel
skip_values:
-
oid: batteryBankTable
op: '='
value: false
current:
data:
-
@@ -347,11 +337,6 @@ modules:
low_warn_limit: batteryCurrentsMinorLowLevel
warn_limit: batteryCurrentsMinorHighLevel
high_limit: batteryCurrentsMajorHighLevel
skip_values:
-
oid: batteryBankTable
op: '='
value: false
-
oid: batteryBankCurrentTable
value: batteryCurrentValue
@@ -364,11 +349,6 @@ modules:
low_warn_limit: batteryCurrentMinorLowLevel
warn_limit: batteryCurrentMinorHighLevel
high_limit: batteryCurrentMajorHighLevel
skip_values:
-
oid: batteryBankTable
op: '='
value: false
temperature:
data:
-
@@ -380,11 +360,6 @@ modules:
low_warn_limit: batteryTemperaturesMinorLowLevel
warn_limit: batteryTemperaturesMinorHighLevel
high_limit: batteryTemperaturesMajorHighLevel
skip_values:
-
oid: batteryBankTable
op: '='
value: false
-
oid: batteryBankTemperatureTable
value: batteryTemperatureValue
@@ -408,8 +383,3 @@ modules:
descr: batteryTimeLeftDescription
low_warn_limit: batteryTimeLeftMinorAlarmLevel
low_limit: batteryTimeLeftMajorAlarmLevel
skip_values:
-
oid: batteryBankTable
op: '='
value: false
@@ -14,14 +14,12 @@ modules:
group: 'Ports (Unit {{ $subindex0 }})'
-
oid: mainPSEMaxPower
value: mainPSEMaxPower
group: 'Main (Unit {{ $index }})'
num_oid: '.1.3.6.1.4.1.7428.1.2.2.1.1.5.{{ $index }}'
descr: 'Max Power (Unit {{ $index }})'
index: 'mainpw-{{ $index }}'
-
oid: POWER-ETHERNET-MIB::pethMainPseConsumptionPower
value: pethMainPseConsumptionPower
group: 'Main (Unit {{ $index }})'
descr: 'Used Power (Unit {{ $index }})'
index: 'usedmainpw-{{ $index }}'
@@ -47,33 +47,28 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.116.1.10.8.{{ $index }}'
descr: 'Power Consumption'
index: 'powerConsumption.{{ $index }}'
value: powerConsumption
-
oid: MOXA-EDSG508E-MIB::powerConsumption
num_oid: '.1.3.6.1.4.1.8691.7.69.1.10.8.{{ $index }}'
descr: 'Power Consumption'
index: 'powerConsumption.{{ $index }}'
value: powerConsumption
-
oid: MOXA-EDSP510A8POE-MIB::poePortConsumption
num_oid: '.1.3.6.1.4.1.8691.7.86.1.40.6.1.2.{{ $index }}'
descr: '{{ $ifDescr }} PoE Consumption'
index: 'poePortConsumption.{{ $index }}'
value: poePortConsumption
high_limit: 36.0
-
oid: MOXA-EDSG512E8POE-MIB::powerConsumption
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.8.{{ $index }}'
descr: 'Power Consumption'
index: 'powerConsumption.{{ $index }}'
value: powerConsumption
high_limit: 240.0
-
oid: MOXA-EDSG512E8POE-MIB::poePortConsumption
num_oid: '.1.3.6.1.4.1.8691.7.108.1.40.6.1.2.{{ $index }}'
descr: '{{ $ifDescr }} PoE Consumption'
index: 'poePortConsumption.{{ $index }}'
value: poePortConsumption
high_limit: 36.0
temperature:
data:
@@ -82,7 +77,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.7.1.3.{{ $index }}'
descr: '{{ $ifDescr }} SFP module temperature'
index: 'sfpTemperature.{{ $index }}'
value: sfpTemperature
low_limit: -40.0
high_limit: 85.0
-
@@ -90,7 +84,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.11.1.5.{{ $index }}'
descr: '{{ $ifDescr }} SFP module temperature'
index: 'fiberTemperature.{{ $index }}'
value: fiberTemperature
low_limit: -40.0
high_limit: 85.0
voltage:
@@ -100,7 +93,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.7.1.4.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Supply Voltage'
index: 'sfpVoltage.{{ $index }}'
value: sfpVoltage
low_limit: 3.13
high_limit: 3.47
-
@@ -108,7 +100,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.11.1.4.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Supply Voltage'
index: 'fiberVoltage.{{ $index }}'
value: fiberVoltage
low_limit: 3.13
high_limit: 3.47
dbm:
@@ -118,7 +109,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.7.1.5.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Transmit Power'
index: 'sfpTxPower.{{ $index }}'
value: sfpTxPower
low_limit: -9.0
high_limit: -3.0
-
@@ -126,7 +116,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.7.1.6.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Receive Power'
index: 'sfpRxPower.{{ $index }}'
value: sfpRXPower
low_limit: -21.0
high_limit: -3.0
-
@@ -134,7 +123,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.11.1.7.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Transmit Power'
index: 'fiberTxPower.{{ $index }}'
value: fiberTxPower
low_limit: -9.0
high_limit: -3.0
-
@@ -142,7 +130,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.11.1.9.{{ $index }}'
descr: '{{ $ifDescr }} SFP module Receive Power'
index: 'fiberRxPower.{{ $index }}'
value: fiberRxPower
low_limit: -21.0
high_limit: -3.0
state:
@@ -152,7 +139,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.1.{{ $index }}'
descr: 'Power Input 1 Status'
index: 'powerInputStatus.1'
value: power1InputStatus
state_name: powerInputStatus
states:
- { value: 0, generic: 2, graph: 0, descr: not present }
@@ -162,7 +148,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.86.1.10.2.{{ $index }}'
descr: 'Power Input 2 Status'
index: 'powerInputStatus.2'
value: power2InputStatus
state_name: powerInputStatus
states:
- { value: 0, generic: 2, graph: 0, descr: not present }
@@ -172,7 +157,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.1.{{ $index }}'
descr: 'Power Input 1 Status'
index: 'powerInputStatus.1'
value: power1InputStatus
state_name: powerInputStatus
states:
- { value: 0, generic: 2, graph: 0, descr: not present }
@@ -182,7 +166,6 @@ modules:
num_oid: '.1.3.6.1.4.1.8691.7.108.1.10.2.{{ $index }}'
descr: 'Power Input 2 Status'
index: 'powerInputStatus.2'
value: power2InputStatus
state_name: powerInputStatus
states:
- { value: 0, generic: 2, graph: 0, descr: not present }
-2
View File
@@ -6,7 +6,6 @@ modules:
data:
-
oid: WHISP-BOX-MIBV2-MIB::boxTemperatureC
value: boxTemperatureC
num_oid: '.1.3.6.1.4.1.161.19.3.3.1.35.{{ $index }}'
index: 0
descr: 'Cambium Temperature'
@@ -14,7 +13,6 @@ modules:
data:
-
oid: WHISP-APS-MIB::whispGPSStats
value: whispGPSStats
num_oid: '.1.3.6.1.4.1.161.19.3.1.3.1.{{ $index }}'
index: 0
descr: GPS Status
@@ -43,13 +43,11 @@ modules:
num_oid: '.1.3.6.1.4.1.1718.4.1.3.3.1.3.{{ $index }}'
index: 'st4InputCord.{{ $index }}'
descr: Cord, {{ $st4InputCordName }}, Active Power
divisor: 0
-
oid: st4PhaseActivePower
num_oid: '.1.3.6.1.4.1.1718.4.1.5.3.1.8.{{ $index }}'
index: 'st4PhaseActivePower.{{ $index }}'
descr: Phase, {{ $st4PhaseLabel }}, Active Power
divisor: 0
voltage:
data:
-
+3 -4
View File
@@ -1,4 +1,4 @@
mib: 'HILLSTONE-FAN-MIB'
mib: HILLSTONE-FAN-MIB:HILLSTONE-POWER-MIB:HILLSTONE-TEMPERATURE-MIB
modules:
mempools:
data:
@@ -15,20 +15,19 @@ modules:
data:
-
oid: HILLSTONE-SYSTEM-MIB::sysCPU
value: sysCPU
num_oid: '.1.3.6.1.4.1.28557.2.2.1.3.{{ $index }}'
sensors:
temperature:
data:
-
oid: HILLSTONE-TEMPERATURE-MIB::HillstoneTemperatureEntry
oid: hillstoneTemperatureTable
value: hillstoneTemperatureValue
num_oid: '.1.3.6.1.4.1.28557.2.28.1.2.1.3.{{ $index }}'
descr: '{{ $hillstoneTemperatureDescr }}'
state:
data:
-
oid: HILLSTONE-POWER-MIB::HillstonePowerEntry
oid: hillstonePowerTable
value: hillstonePowerState
num_oid: '.1.3.6.1.4.1.28557.2.27.1.2.1.3.{{ $index }}'
descr: '{{ $hillstonePowerDescr }}'
+1 -2
View File
@@ -47,7 +47,6 @@ foreach ($vrfs_lite_cisco as $vrf) {
$ipv4_addresses = array_map(function ($data) {
return $data['ipv4_address'];
}, $existing_data);
$arp_table = [];
$insert_data = [];
foreach ($arp_data as $ifIndex => $data) {
@@ -56,7 +55,7 @@ foreach ($vrfs_lite_cisco as $vrf) {
$port_arp = array_merge(
(array) $data['ipNetToMediaPhysAddress'],
(array) $data['ipNetToPhysicalPhysAddress']['ipv4']
is_array($data['ipNetToPhysicalPhysAddress']) ? (array) $data['ipNetToPhysicalPhysAddress']['ipv4'] : []
);
echo "{$interface['ifName']}: \n";
@@ -33,7 +33,7 @@ if (Config::get('enable_bgp')) {
$oid = explode('.', $key);
$vrfInstance = array_shift($oid); // os10bgp4V2PeerInstance
$remoteAddressType = array_shift($oid); // os10bgp4V2PeerRemoteAddrType
$address = IP::fromSnmpString(implode($oid, ' '))->compressed(); // os10bgp4V2PeerRemoteAddr
$address = IP::fromSnmpString(implode(' ', $oid))->compressed(); // os10bgp4V2PeerRemoteAddr
$bgpPeers[$vrfInstance][$address] = $value;
}
unset($bgpPeersCache);
@@ -90,7 +90,7 @@ if (Config::get('enable_bgp')) {
$remoteAddressType = array_shift($oid); // os10bgp4V2PeerRemoteAddrType
$safi = array_pop($oid); // os10bgp4V2PrefixGaugesSafi
$afi = array_pop($oid); // os10bgp4V2PrefixGaugesAfi
$address = IP::fromSnmpString(implode($oid, ' '))->compressed(); // os10bgp4V2PeerRemoteAddr
$address = IP::fromSnmpString(implode(' ', $oid))->compressed(); // os10bgp4V2PeerRemoteAddr
// add to `bgpPeers_cbgp` table
add_cbgp_peer($device, ['ip' => $address], $afi, $safi);
}
+5 -3
View File
@@ -43,8 +43,10 @@ if (! empty($fdbPort_table)) {
$portid_dict = [];
$dot1dBasePortIfIndex = snmpwalk_group($device, 'dot1dBasePortIfIndex', 'BRIDGE-MIB');
foreach ($dot1dBasePortIfIndex as $portLocal => $data) {
$port = get_port_by_index_cache($device['device_id'], $data['dot1dBasePortIfIndex']);
$portid_dict[$portLocal] = $port['port_id'];
if (isset($data['dot1dBasePortIfIndex'])) {
$port = get_port_by_index_cache($device['device_id'], $data['dot1dBasePortIfIndex']);
$portid_dict[$portLocal] = $port['port_id'];
}
}
// Build VLAN fdb index to real VLAN ID dictionary
@@ -67,7 +69,7 @@ if (! empty($fdbPort_table)) {
// device VLANs table should catch anything invalid.
$vlan = isset($vlan_fdb_dict[$vlanIndex]) ? $vlan_fdb_dict[$vlanIndex] : $vlanIndex;
foreach ($data[$data_oid] as $mac => $dot1dBasePort) {
foreach ($data[$data_oid] ?? [] as $mac => $dot1dBasePort) {
if ($dot1dBasePort == 0) {
d_echo("No port known for $mac\n");
continue;
+9 -8
View File
@@ -205,6 +205,7 @@ function discover_sensor(&$valid, $class, $device, $oid, $index, $type, $descr,
$low_warn_limit = set_null($low_warn_limit);
$warn_limit = set_null($warn_limit);
$high_limit = set_null($high_limit);
$current = cast_number($current);
if (! is_numeric($divisor)) {
$divisor = 1;
@@ -561,7 +562,7 @@ function discover_storage(&$valid, $device, $index, $type, $mib, $descr, $size,
if ($descr && $size > '0') {
$storage = dbFetchRow('SELECT * FROM `storage` WHERE `storage_index` = ? AND `device_id` = ? AND `storage_mib` = ?', [$index, $device['device_id'], $mib]);
if ($storage === false || ! count($storage)) {
if (empty($storage)) {
if (Config::getOsSetting($device['os'], 'storage_perc_warn')) {
$perc_warn = Config::getOsSetting($device['os'], 'storage_perc_warn');
} else {
@@ -900,7 +901,7 @@ function ignore_storage($os, $descr)
*/
function discovery_process(&$valid, $device, $sensor_class, $pre_cache)
{
if ($device['dynamic_discovery']['modules']['sensors'][$sensor_class] && ! can_skip_sensor($device, $sensor_class, '')) {
if (! empty($device['dynamic_discovery']['modules']['sensors'][$sensor_class]) && ! can_skip_sensor($device, $sensor_class, '')) {
$sensor_options = [];
if (isset($device['dynamic_discovery']['modules']['sensors'][$sensor_class]['options'])) {
$sensor_options = $device['dynamic_discovery']['modules']['sensors'][$sensor_class]['options'];
@@ -948,8 +949,6 @@ function discovery_process(&$valid, $device, $sensor_class, $pre_cache)
$value = false;
}
d_echo("Final sensor value: $value\n");
$skippedFromYaml = YamlDiscovery::canSkipItem($value, $index, $data, $sensor_options, $pre_cache);
// Check if we have a "num_oid" value. If not, we'll try to compute it from textual OIDs with snmptranslate.
@@ -973,6 +972,8 @@ function discovery_process(&$valid, $device, $sensor_class, $pre_cache)
}
if ($skippedFromYaml === false && is_numeric($value)) {
d_echo("Sensor fetched value: $value\n");
$oid = str_replace('{{ $index }}', $index, $data['num_oid']);
// if index is a string, we need to convert it to OID
// strlen($index) as first number, and each letter converted to a number, separated by dots
@@ -984,12 +985,12 @@ function discovery_process(&$valid, $device, $sensor_class, $pre_cache)
// process the group
$group = YamlDiscovery::replaceValues('group', $index, null, $data, $pre_cache) ?: null;
$divisor = $data['divisor'] ?: ($sensor_options['divisor'] ?: 1);
$multiplier = $data['multiplier'] ?: ($sensor_options['multiplier'] ?: 1);
$divisor = $data['divisor'] ?? ($sensor_options['divisor'] ?? 1);
$multiplier = $data['multiplier'] ?? ($sensor_options['multiplier'] ?? 1);
$limits = ['low_limit', 'low_warn_limit', 'warn_limit', 'high_limit'];
foreach ($limits as $limit) {
if (is_numeric($data[$limit])) {
if (isset($data[$limit]) && is_numeric($data[$limit])) {
$$limit = $data[$limit];
} else {
$$limit = YamlDiscovery::getValueFromData($limit, $index, $data, $pre_cache, 'null');
@@ -1044,7 +1045,7 @@ function sensors($types, $device, $valid, $pre_cache = [])
echo ucfirst($sensor_class) . ': ';
$dir = Config::get('install_dir') . '/includes/discovery/sensors/' . $sensor_class . '/';
if (is_file($dir . $device['os_group'] . '.inc.php')) {
if (isset($device['os_group']) && is_file($dir . $device['os_group'] . '.inc.php')) {
include $dir . $device['os_group'] . '.inc.php';
}
if (is_file($dir . $device['os'] . '.inc.php')) {
+1 -2
View File
@@ -145,7 +145,7 @@ if (isset($ipForwardNb['0']['inetCidrRouteNumber']) && $ipForwardNb['0']['inetCi
unset($entry['inetCidrRouteStatus']);
$entryPerType[$inetCidrRouteDestType]++;
$current = $mixed[''][$inetCidrRouteDestType][$inetCidrRouteDest][$inetCidrRoutePfxLen][$inetCidrRoutePolicy][$inetCidrRouteNextHopType][$inetCidrRouteNextHop];
if (isset($current) && isset($current['db']) && count($current['db']) > 0 && $delete_row[$current['db']['route_id']] != 1) {
if (! empty($current['db']) && $delete_row[$current['db']['route_id']] != 1) {
//we already have a row in DB
$entry['route_id'] = $current['db']['route_id'];
$update_row[] = $entry;
@@ -153,7 +153,6 @@ if (isset($ipForwardNb['0']['inetCidrRouteNumber']) && $ipForwardNb['0']['inetCi
d_echo(isset($current));
d_echo(isset($current['db']));
d_echo($current['db']);
d_echo(count($current['db']));
d_echo($delete_row[$current['db']['route_id']]);
$entry['created_at'] = ['NOW()'];
$create_row[] = $entry;
@@ -1,67 +0,0 @@
<?php
echo 'BTI800 dBm';
$multiplier = 1;
$divisor = 1;
foreach ($pre_cache['bti800'] as $index => $entry) {
if ($entry['sfpInfoWigth'] != '0') {
$oidRx = '.1.3.6.1.4.1.30005.1.7.100.1.2.6.3.1.8.' . $index;
$oidTx = '.1.3.6.1.4.1.30005.1.7.100.1.2.6.3.1.7.' . $index;
$currentRx = $entry['sfpDiagnosticRxPowerDbm'];
$currentTx = $entry['sfpDiagnosticTxPowerDbm'];
if ($currentRx != 0 || $currentTx != 0) {
$entPhysicalIndex = $entry['sfpDiagnosticIndex'];
$entPhysicalIndex_measured = 'ports';
//Discover receive power level
$descrRx = dbFetchCell('SELECT `ifName` FROM `ports` WHERE `ifIndex`= ? AND `device_id` = ?', [$entry['sfpDiagnosticIndex'], $device['device_id']]) . ' Rx Power';
discover_sensor(
$valid['sensor'],
'dbm',
$device,
$oidRx,
'sfpDiagnosticRxPowerDbm.' . $index,
'bti800',
$descrRx,
$divisor,
$multiplier,
null,
null,
null,
null,
$currentRx,
'snmp',
$entPhysicalIndex,
$entPhysicalIndex_measured
);
//Discover transmit power level
$descrTx = dbFetchCell('SELECT `ifName` FROM `ports` WHERE `ifIndex`= ? AND `device_id` = ?', [$entry['sfpDiagnosticIndex'], $device['device_id']]) . ' Tx Power';
discover_sensor(
$valid['sensor'],
'dbm',
$device,
$oidTx,
'sfpDiagnosticTxPowerDbm.' . $index,
'bti800',
$descrTx,
$divisor,
$multiplier,
null,
null,
null,
null,
$currentTx,
'snmp',
$entPhysicalIndex,
$entPhysicalIndex_measured
);
}
}
}
unset($entry);
@@ -1,26 +0,0 @@
<?php
/*
* LibreNMS
*
* Copyright (c) 2016 Neil Lathwood <[email protected]>
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
echo 'alaChasEntPhysFanTable';
$pre_cache['aos6_fan_oids'] = snmpwalk_cache_multi_oid($device, 'alaChasEntPhysFanTable', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
echo 'chasChassisEntry';
$pre_cache['aos6_temp_oids'] = snmpwalk_cache_multi_oid($device, 'chasChassisEntry', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
echo 'alaStackMgrChassisTable';
$pre_cache['aos6_stack_oids'] = snmpwalk_cache_multi_oid($device, 'alaStackMgrChassisTable', [], 'ALCATEL-IND1-STACK-MANAGER-MIB', 'aos6', '-OQUse');
echo 'chasControlCertifyStatus';
$pre_cache['aos6_sync_oids'] = snmpwalk_cache_multi_oid($device, 'chasControlCertifyStatus', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
echo 'alclnkaggAggEntry';
$pre_cache['aos6_lag_oids'] = snmpwalk_cache_multi_oid($device, 'alclnkaggAggEntry', [], 'ALCATEL-IND1-LAG-MIB', 'aos6', '-OQUse');
@@ -1,6 +0,0 @@
<?php
echo 'BTI800 Tranceiver';
// BTI800
$pre_cache['bti800'] = snmpwalk_cache_multi_oid($device, 'sfpDiagnosticTable', [], 'BTI8xx-SFP-MIB', null, '-OQUbs');
@@ -11,52 +11,56 @@
*/
echo 'sdbMgmtCtrlDevUnitAddress ';
$pre_cache['sdbMgmtCtrlDevUnitAddress'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.1.2.4.1.2', 1));
$pre_cache['sdbMgmtCtrlDevUnitAddress'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.1.2.4.1.2', 1) ?: []);
echo 'sdbDevIdSerialNumber ';
$pre_cache['sdbDevIdSerialNumber'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.1.1.1.6', 1));
$pre_cache['sdbDevIdSerialNumber'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.1.1.1.6', 1) ?: []);
echo 'sdbDevInName ';
$pre_cache['sdbDevInName'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.13', 2));
$pre_cache['sdbDevInName'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.13', 2) ?: []);
echo 'sdbDevInActualVoltage ';
$pre_cache['sdbDevInActualVoltage'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.7', 2));
$pre_cache['sdbDevInActualVoltage'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.7', 2) ?: []);
echo 'sdbDevInActualCurrent ';
$pre_cache['sdbDevInActualCurrent'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.5', 2));
$pre_cache['sdbDevInActualCurrent'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.5', 2) ?: []);
echo 'sdbDevInMaxAmps ';
$pre_cache['sdbDevInMaxAmps'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.11', 2));
$pre_cache['sdbDevInMaxAmps'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.11', 2) ?: []);
echo 'sdbDevCfMaximumLoad ';
$pre_cache['sdbDevCfMaximumLoad'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.2.1.1.6', 1));
$pre_cache['sdbDevCfMaximumLoad'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.2.1.1.6', 1) ?: []);
echo 'sdbDevInPowerVoltAmpere ';
$pre_cache['sdbDevInPowerVoltAmpere'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.9', 2));
$pre_cache['sdbDevInPowerVoltAmpere'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.9', 2) ?: []);
echo 'sdbDevInKWhTotal ';
$pre_cache['sdbDevInKWhTotal'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.2', 2));
$pre_cache['sdbDevInKWhTotal'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.2', 2) ?: []);
echo 'sdbDevInPowerFactor ';
$pre_cache['sdbDevInPowerFactor'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.4', 2));
$pre_cache['sdbDevInPowerFactor'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.6.1.1.4', 2) ?: []);
echo 'sdbDevOutName ';
$pre_cache['sdbDevOutName'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.1.1.2.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
if (isset($pre_cache['sdbMgmtCtrlDevUnitAddress'])) {
$unit = current($pre_cache['sdbMgmtCtrlDevUnitAddress']);
echo 'sdbDevOutMtActualVoltage ';
$pre_cache['sdbDevOutMtActualVoltage'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.7.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutName ';
$pre_cache['sdbDevOutName'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.1.1.2.' . $unit, 1) ?: []);
echo 'sdbDevOutMtActualCurrent ';
$pre_cache['sdbDevOutMtActualCurrent'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.5.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutMtActualVoltage ';
$pre_cache['sdbDevOutMtActualVoltage'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.7.' . $unit, 1) ?: []);
echo 'sdbDevOutMtMaxAmps ';
$pre_cache['sdbDevOutMtMaxAmps'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.8.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutMtActualCurrent ';
$pre_cache['sdbDevOutMtActualCurrent'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.5.' . $unit, 1) ?: []);
echo 'sdbDevOutMtPowerVoltAmpere ';
$pre_cache['sdbDevOutMtPowerVoltAmpere'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.10.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutMtMaxAmps ';
$pre_cache['sdbDevOutMtMaxAmps'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.8.' . $unit, 1) ?: []);
echo 'sdbDevOutMtKWhTotal ';
$pre_cache['sdbDevOutMtKWhTotal'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.2.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutMtPowerVoltAmpere ';
$pre_cache['sdbDevOutMtPowerVoltAmpere'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.10.' . $unit, 1) ?: []);
echo 'sdbDevOutMtPowerFactor ';
$pre_cache['sdbDevOutMtPowerFactor'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.4.' . current($pre_cache['sdbMgmtCtrlDevUnitAddress']), 1));
echo 'sdbDevOutMtKWhTotal ';
$pre_cache['sdbDevOutMtKWhTotal'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.2.' . $unit, 1) ?: []);
echo 'sdbDevOutMtPowerFactor ';
$pre_cache['sdbDevOutMtPowerFactor'] = current(snmpwalk_array_num($device, '.1.3.6.1.4.1.31034.12.1.1.2.7.2.1.4.' . $unit, 1) ?: []);
}
+23 -10
View File
@@ -41,7 +41,8 @@ unset(
$descr
);
foreach ($pre_cache['aos6_fan_oids'] as $index => $data) {
$aos6_fan_oids = snmpwalk_cache_multi_oid($device, 'alaChasEntPhysFanTable', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
foreach ($aos6_fan_oids as $index => $data) {
if (is_array($data)) {
$oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.' . $index;
$state_name = 'alaChasEntPhysFanStatus';
@@ -63,13 +64,15 @@ foreach ($pre_cache['aos6_fan_oids'] as $index => $data) {
}
}
unset(
$aos6_fan_oids,
$index,
$data,
$descr
);
$aos6_stack_oids = snmpwalk_cache_multi_oid($device, 'alaStackMgrChassisTable', [], 'ALCATEL-IND1-STACK-MANAGER-MIB', 'aos6', '-OQUse');
if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
foreach ($pre_cache['aos6_stack_oids'] as $stackindexa => $stack_data_a) {
foreach ($aos6_stack_oids as $stackindexa => $stack_data_a) {
if (is_array($stack_data_a)) {
$oid_stackport_a = '.1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.4.' . $stackindexa;
$current_stacka = $stack_data_a['alaStackMgrLocalLinkStateA'];
@@ -87,7 +90,7 @@ if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
}
if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
foreach ($pre_cache['aos6_stack_oids'] as $stackindexb => $stack_data_b) {
foreach ($aos6_stack_oids as $stackindexb => $stack_data_b) {
if (is_array($stack_data_b)) {
$oid_stackport_b = '.1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.7.' . $stackindexb;
$current_stackb = $stack_data_b['alaStackMgrLocalLinkStateB'];
@@ -104,11 +107,14 @@ if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
}
}
foreach ($pre_cache['aos6_sync_oids'] as $index => $data) {
unset($aos6_stack_oids);
$aos6_certify_oids = snmpwalk_cache_multi_oid($device, 'chasControlCertifyStatus', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
foreach ($aos6_certify_oids as $index => $data) {
if (is_array($data)) {
$sync_chas_oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.5.65';
$sync_chas_oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.5.' . $index;
$sync_state = 'chasControlCertifyStatus';
$sync_value = 'chasControlCertifyStatus.1';
$sync_value = $data['chasControlCertifyStatus'];
$descr_sync = 'Certify/Restore Status';
$sync_chas_states = [
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
@@ -122,6 +128,7 @@ foreach ($pre_cache['aos6_sync_oids'] as $index => $data) {
}
unset(
$aos6_certify_oids,
$sync_chas_oid,
$sync_state,
$sync_value,
@@ -131,11 +138,12 @@ unset(
$index
);
foreach ($pre_cache['aos6_sync_oids'] as $index => $data) {
$aos6_sync_oids = snmpwalk_cache_multi_oid($device, 'chasControlSynchronizationStatus', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
foreach ($aos6_sync_oids as $index => $data) {
if (is_array($data)) {
$sync_chas_oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.6.65';
$sync_chas_oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.6.' . $index;
$sync_state = 'chasControlSynchronizationStatus';
$sync_value = 'chasControlSynchronizationStatus.1';
$sync_value = $data['chasControlSynchronizationStatus'];
$descr_sync = 'Flash Between CMMs';
$sync_chas_states = [
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
@@ -149,8 +157,11 @@ foreach ($pre_cache['aos6_sync_oids'] as $index => $data) {
}
}
unset($aos6_sync_oids);
$type = 'alclnkaggAggNbrAttachedPorts';
foreach ($pre_cache['aos6_lag_oids'] as $index => $entry) {
$aos6_lag_oids = snmpwalk_cache_multi_oid($device, 'alclnkaggAggEntry', [], 'ALCATEL-IND1-LAG-MIB', 'aos6', '-OQUse');
foreach ($aos6_lag_oids as $index => $entry) {
$oid_size = $entry['alclnkaggAggSize'];
$oid_mem = $entry['alclnkaggAggNbrAttachedPorts'];
$lag_state = '.1.3.6.1.4.1.6486.800.1.2.1.13.1.1.1.1.1.19.' . $index;
@@ -175,3 +186,5 @@ foreach ($pre_cache['aos6_lag_oids'] as $index => $entry) {
create_sensor_to_state_index($device, $type, $index);
}
}
unset($aos6_lag_oids);
@@ -1,70 +0,0 @@
<?php
/**
* aruba-instant.inc.php
*
* LibreNMS state discovery module for Aruba Instant
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* @link https://www.librenms.org
* @copyright 2019 Timothy Willey
* @author Timothy Willey <[email protected]>
*/
$ai_mib = 'AI-AP-MIB';
$oids = snmpwalk_group($device, 'aiAPSerialNum', $ai_mib);
$oids = snmpwalk_group($device, 'aiAPStatus', $ai_mib, 1, $oids);
$oids = snmpwalk_group($device, 'aiRadioStatus', $ai_mib, 1, $oids);
$oids = snmpwalk_group($device, 'aiAPName', $ai_mib, 1, $oids);
if (! empty($oids)) {
$ap_state_name = 'aiAPStatus';
//Create State Translation
$ap_states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'up'],
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'down'],
];
//Create State Index
$radio_state_name = 'aiRadioStatus';
//Create State Translation
$radio_states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'up'],
['value' => 2, 'generic' => 3, 'graph' => 0, 'descr' => 'down'],
];
create_state_index($ap_state_name, $ap_states);
create_state_index($radio_state_name, $radio_states);
foreach ($oids as $ap_index => $ap_entry) {
$ap_state_index = implode('.', array_map('hexdec', explode(':', $ap_index)));
$combined_oid = implode('.', [$ai_mib . '::' . 'aiAPStatus', $ap_state_index]);
$ap_state_oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On', null);
$ap_descr = $ap_entry['aiAPName'] . ' (' . $ap_entry['aiAPSerialNum'] . ')';
discover_sensor($valid['sensor'], 'state', $device, $ap_state_oid, $ap_state_index, $ap_state_name, $ap_entry['aiAPSerialNum'], '1', '1', null, null, null, null, $ap_descr, 'snmp', null, null, null, 'Cluster APs');
//Create Sensor To State Index
create_sensor_to_state_index($device, $ap_state_name, $ap_state_index);
foreach ($ap_entry['aiRadioStatus'] as $radio_index => $radio_status) {
$radio_state_index = implode('.', [$ap_state_index, $radio_index]);
$combined_oid = implode('.', [$ai_mib . '::' . 'aiRadioStatus', $radio_state_index]);
$radio_state_oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On', null);
discover_sensor($valid['sensor'], 'state', $device, $radio_state_oid, $radio_state_index, $radio_state_name, $ap_descr . ' Radio ' . $radio_index, '1', '1', null, null, null, null, $radio_status, 'snmp', null, null, null, 'Cluster Radios');
//Create Sensor To State Index
create_sensor_to_state_index($device, $radio_state_name, $radio_state_index);
}
} //end foreach
} //end if
@@ -29,7 +29,7 @@ if ($device['os'] === 'boss') {
$ers_sensors = [];
foreach ($oid as $key => $value) {
if ($key['s5ChasComGrpIndx'] == 4 || $key['s5ChasComGrpIndx'] == 5 || $key['s5ChasComGrpIndx'] == 6) {
if ($value['s5ChasComGrpIndx'] == 4 || $value['s5ChasComGrpIndx'] == 5 || $value['s5ChasComGrpIndx'] == 6) {
$ers_sensors[$key] = $value;
}
}
@@ -54,7 +54,7 @@ if (! empty($oids)) {
[$oid,$current] = explode(' = ', $data, 2);
$split_oid = explode('.', $oid);
$num_index = $split_oid[(count($split_oid) - 1)];
$index = (int) $num_index + 0;
$index = (int) cast_number($num_index);
$low_limit = 0.5;
$high_limit = 2.5;
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, $low_limit, $low_limit, $high_limit, $high_limit, $current, 'snmp', $index);
@@ -98,7 +98,7 @@ if (! empty($oids1)) {
[$oid,$descr] = explode(' = ', $data, 2);
$split_oid = explode('.', $oid);
$num_index = $split_oid[(count($split_oid) - 1)];
$index = (int) $num_index + 0;
$index = (int) cast_number($num_index);
$member_id = $split_oid[(count($split_oid) - 2)];
$num_index = $member_id . '.' . $num_index;
$oid = $base_oid . $num_index;
+2 -2
View File
@@ -21,10 +21,10 @@
* @copyright 2019 PipoCanaja
* @author PipoCanaja
*/
$stacked_device = count(array_keys($pre_cache['hwStackMemberInfoTable']));
$stacked_device = empty($pre_cache['hwStackMemberInfoTable']) ? false : count($pre_cache['hwStackMemberInfoTable']) > 1;
// If we have more than 1 device in the stack, then we should alert on stack ports not up
if ($stacked_device > 1) {
if ($stacked_device) {
$state_name = 'hwStackPortStatus';
$states = [
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'Up'],
@@ -1,6 +1,8 @@
<?php
foreach ($pre_cache['aos6_temp_oids'] as $index => $entry) {
$aos6_temp_oids = snmpwalk_cache_multi_oid($device, 'chasChassisEntry', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos6', '-OQUse');
foreach ($aos6_temp_oids as $index => $entry) {
if (is_numeric($entry['chasHardwareBoardTemp']) && $entry['chasHardwareBoardTemp'] != 0) {
$oid = '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.' . $index;
$value = $entry['chasHardwareBoardTemp'];
@@ -7,6 +7,7 @@ foreach (explode("\n", $temps) as $i => $t) {
$oid = $t[0];
$val = $t[1];
// Sensors are reported as 2 * value
$val = (trim($val) / 2);
discover_sensor($valid['sensor'], 'temperature', $device, $oid, zeropad($i + 1), 'avaya-ers', 'Unit ' . ($i + 1) . ' temperature', '2', '1', null, null, null, null, $val);
$divisor = 2;
$val = (cast_number($val) / $divisor);
discover_sensor($valid['sensor'], 'temperature', $device, $oid, zeropad($i + 1), 'avaya-ers', 'Unit ' . ($i + 1) . ' temperature', $divisor, 1, null, null, null, null, $val);
}
@@ -9,16 +9,17 @@ if ($oids) {
foreach (explode("\n", $oids) as $data) {
$data = trim($data);
if ($data) {
$divisor = 1000;
[$oid,$descr] = explode(' ', $data, 2);
$split_oid = explode('.', $oid);
$temperature_id = $split_oid[(count($split_oid) - 1)];
$temperature_oid = ".1.3.6.1.4.1.2021.13.16.2.1.3.$temperature_id";
$temperature = (snmp_get($device, $temperature_oid, '-Ovq') / 1000);
$temperature = floatval(snmp_get($device, $temperature_oid, '-Ovq')) / $divisor;
$descr = str_ireplace('temperature-', '', $descr);
$descr = str_ireplace('temp-', '', $descr);
$descr = trim($descr);
if ($temperature >= 0 && $temperature <= 1000) {
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $temperature_id, 'lmsensors', $descr, '1000', '1', null, null, null, null, $temperature);
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $temperature_id, 'lmsensors', $descr, $divisor, 1, null, null, null, null, $temperature);
}
}
}
@@ -16,9 +16,9 @@ if ($oids) {
$split_oid = explode('.', $oid);
$index = $split_oid[(count($split_oid) - 1)];
$oid = '.1.3.6.1.4.1.2021.13.16.4.1.3.' . $index;
$current = (snmp_get($device, $oid, '-Oqv', 'LM-SENSORS-MIB') / $divisor);
$current = floatval(snmp_get($device, $oid, '-Oqv', 'LM-SENSORS-MIB')) / $divisor;
discover_sensor($valid['sensor'], 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', null, null, null, null, $current);
discover_sensor($valid['sensor'], 'voltage', $device, $oid, $index, $type, $descr, $divisor, 1, null, null, null, null, $current);
}
}
}
+5 -11
View File
@@ -10,24 +10,18 @@
$aix_filesystem = snmpwalk_cache_oid($device, 'aixFsTableEntry', [], 'IBM-AIX-MIB');
$sql = "SELECT `storage_descr` FROM `storage` WHERE `device_id` = '" . $device['device_id'] . "' AND `storage_type` != 'aixFileSystem'";
$tmp_storage = dbFetchColumn($sql);
if (is_array($aix_filesystem)) {
echo 'aix_filesystem : ';
foreach ($aix_filesystem as $aix_fs) {
if (isset($aix_fs['aixFsMountPoint'])) {
if ($aix_fs['aixFsType'] == 'jfs' || $aix_fs['aixFsType'] == 'jfs2') { // Only JFS or JFS2
if (! in_array($aix_fs['aixFsMountPoint'], $tmp_storage)) {
$aix_fs['aixFsSize'] = $aix_fs['aixFsSize'] * 1024 * 1024;
$aix_fs['aixFsFree'] = $aix_fs['aixFsFree'] * 1024 * 1024;
$aix_fs['aixFsUsed'] = $aix_fs['aixFsSize'] - $aix_fs['aixFsFree'];
$aix_fs['aixFsSize'] = $aix_fs['aixFsSize'] * 1024 * 1024;
$aix_fs['aixFsFree'] = $aix_fs['aixFsFree'] * 1024 * 1024;
$aix_fs['aixFsUsed'] = $aix_fs['aixFsSize'] - $aix_fs['aixFsFree'];
discover_storage($valid_storage, $device, $aix_fs['aixFsIndex'], 'aixFileSystem', 'aix', $aix_fs['aixFsMountPoint'], $aix_fs['aixFsSize'], 1024 * 1024, $aix_fs['aixFsUsed']);
}
discover_storage($valid_storage, $device, $aix_fs['aixFsIndex'], 'aixFileSystem', 'aix', $aix_fs['aixFsMountPoint'], $aix_fs['aixFsSize'], 1024 * 1024, $aix_fs['aixFsUsed']);
}
}
unset($tmp_storage, $aix_fs);
} // end foreach
} // endif
unset($aix_fs);
@@ -28,7 +28,7 @@ if ($device['os'] == 'equalogic') {
} else {
// Trying to search the last '.' and take something after it as index
$arrindex = explode('.', $index);
$newindex = (int) (end($arrindex)) + 0;
$newindex = (int) cast_number(end($arrindex));
if (is_int($newindex)) {
discover_storage($valid_storage, $device, $newindex, $fstype, 'eql-storage', $descr, $size, $units, $used);
}
+6
View File
@@ -188,6 +188,12 @@ function preg_match_any($subject, $regexes)
*/
function compare_var($a, $b, $comparison = '=')
{
// handle PHP8 change to implicit casting
if (is_numeric($a) || is_numeric($b)) {
$a = cast_number($a);
$b = is_array($b) ? $b : cast_number($b);
}
switch ($comparison) {
case '=':
return $a == $b;
+12
View File
@@ -105,3 +105,15 @@ if (! function_exists('array_pairs')) {
return $pairs;
}
}
/**
* Cast string to int or float.
* Returns 0 if string is not numeric
*
* @param string $number
* @return float|int
*/
function cast_number($number)
{
return \LibreNMS\Util\Number::cast($number);
}
+1 -1
View File
@@ -19,7 +19,7 @@ if (! Auth::user()->hasGlobalAdmin()) {
$panes['routing'] = 'Routing';
}
if (count(\LibreNMS\Config::get("os.{$device['os']}.icons"))) {
if (count(\LibreNMS\Config::get("os.{$device['os']}.icons", []))) {
$panes['icon'] = 'Icon';
}
+1 -1
View File
@@ -95,7 +95,7 @@ $component = new LibreNMS\Component();
$options = []; // Re-init array in case it has been declared previously.
$options['filter']['type'] = ['=', 'Cisco-CBQOS'];
$components = $component->getComponents($device['device_id'], $options);
$components = $components[$device['device_id']]; // We only care about our device id.
$components = $components[$device['device_id']] ?? []; // We only care about our device id.
if (count($components) > 0) {
$menu_options['cbqos'] = 'CBQoS';
}
+3 -2
View File
@@ -88,8 +88,8 @@ echo "</td><td width=120 onclick=\"location.href='" . generate_port_url($port) .
if ($port['ifOperStatus'] == 'up') {
$port['in_rate'] = ($port['ifInOctets_rate'] * 8);
$port['out_rate'] = ($port['ifOutOctets_rate'] * 8);
$in_perc = @round(($port['in_rate'] / $port['ifSpeed'] * 100));
$out_perc = @round(($port['in_rate'] / $port['ifSpeed'] * 100));
$in_perc = empty($port['ifSpeed']) ? 0 : round(($port['in_rate'] / $port['ifSpeed'] * 100));
$out_perc = empty($port['ifSpeed']) ? 0 : round(($port['in_rate'] / $port['ifSpeed'] * 100));
echo "<i class='fa fa-long-arrow-left fa-lg' style='color:green' aria-hidden='true'></i> <span style='color: " . percent_colour($in_perc) . "'>" . formatRates($port['in_rate']) . "<br />
<i class='fa fa-long-arrow-right fa-lg' style='color:blue' aria-hidden='true'></i> <span style='color: " . percent_colour($out_perc) . "'>" . formatRates($port['out_rate']) . "<br />
<i class='fa fa-long-arrow-left fa-lg' style='color:purple' aria-hidden='true'></i> " . format_bi($port['ifInUcastPkts_rate']) . "pps</span><br />
@@ -184,6 +184,7 @@ echo '<td width=375 valign=top class="interface-desc">';
$neighborsCount = 0;
$nbLinks = 0;
$int_links = [];
if (strpos($port['label'], 'oopback') === false && ! $graph_type) {
foreach (dbFetchRows('SELECT * FROM `links` AS L, `ports` AS I, `devices` AS D WHERE L.local_port_id = ? AND L.remote_port_id = I.port_id AND I.device_id = D.device_id', [$if_id]) as $link) {
$int_links[$link['port_id']] = $link['port_id'];
+1 -1
View File
@@ -29,7 +29,7 @@ if (! empty($searchPhrase)) {
}
$count_sql = 'SELECT COUNT(*) FROM `toner`';
$param[] = Auth::id();
// FIXME not restricted to device access
$count = dbFetchCell($count_sql, $param);
if (empty($count)) {
+4 -5
View File
@@ -3,7 +3,6 @@
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
use LibreNMS\Util\Number;
$name = 'docker';
$app_id = $app['app_id'];
@@ -54,11 +53,11 @@ foreach ($docker_data as $data) {
$rrd_name = ['app', $name, $app_id, $container];
$fields = [
'cpu_usage' => ((float) $data['cpu']) * 100,
'cpu_usage' => (float) $data['cpu'],
'pids' => $data['pids'],
'mem_limit' => Number::formatBi($data['memory']['limit']),
'mem_used' => Number::formatBi($data['memory']['used']),
'mem_perc' => ((float) $data['memory']['perc']) * 100,
'mem_limit' => convertToBytes($data['memory']['limit']),
'mem_used' => convertToBytes($data['memory']['used']),
'mem_perc' => (float) $data['memory']['perc'],
];
$metrics[$container] = $fields;
@@ -16,7 +16,7 @@ try {
$legacy = $e->getOutput();
$ntp = [
data => [],
'data' => [],
];
[$ntp['data']['offset'], $ntp['data']['frequency'], $ntp['data']['sys_jitter'],
$ntp['data']['clk_jitter'], $ntp['data']['clk_wander']] = explode("\n", $legacy);
+8 -8
View File
@@ -66,14 +66,14 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
$radioid = str_replace('.1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.16.', '', $key);
$name = $value;
$type = $aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.2.$radioid"];
$channel = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.3.$radioid"] + 0);
$txpow = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.4.$radioid"] + 0) / 2;
$radioutil = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.6.$radioid"] + 0);
$numasoclients = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.7.$radioid"] + 0);
$nummonclients = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.8.$radioid"] + 0);
$numactbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.9.$radioid"] + 0);
$nummonbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.10.$radioid"] + 0);
$interference = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.3.1.6.1.11.$radioid"] + 0);
$channel = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.3.$radioid"]);
$txpow = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.4.$radioid"]) / 2;
$radioutil = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.6.$radioid"]);
$numasoclients = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.7.$radioid"]);
$nummonclients = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.8.$radioid"]);
$numactbssid = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.9.$radioid"]);
$nummonbssid = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.10.$radioid"]);
$interference = cast_number($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.3.1.6.1.11.$radioid"]);
$radionum = substr($radioid, (strlen($radioid) - 1), 1);
+1 -1
View File
@@ -159,7 +159,7 @@ function record_sensor_data($device, $all_sensors)
foreach ($all_sensors as $sensor) {
$class = ucfirst($sensor['sensor_class']);
$unit = $supported_sensors[$class];
$sensor_value = is_string($sensor['new_value']) ? floatval($sensor['new_value']) : $sensor['new_value'];
$sensor_value = cast_number($sensor['new_value']);
$prev_sensor_value = $sensor['sensor_current'];
if ($sensor_value == -32768 || is_nan($sensor_value)) {
@@ -45,7 +45,7 @@ foreach ($components as $k => $v) {
$components = $keep;
// Only collect SNMP data if we have enabled components
if (count($components > 0)) {
if (! empty($components)) {
// Let's gather the stats..
$f5_stats['gtmWideIPStatEntryRequests'] = snmpwalk_array_num($device, '.1.3.6.1.4.1.3375.2.3.12.2.3.1.2', 0);
$f5_stats['gtmWideIPStatEntryResolved'] = snmpwalk_array_num($device, '.1.3.6.1.4.1.3375.2.3.12.2.3.1.3', 0);
@@ -44,7 +44,7 @@ foreach ($components as $k => $v) {
$components = $keep;
// Only collect SNMP data if we have enabled components
if (count($components > 0)) {
if (! empty($components)) {
// Let's gather the stats..
$f5_stats['ltmVirtualServStatEntryPktsin'] = snmpwalk_array_num($device, '.1.3.6.1.4.1.3375.2.2.10.2.3.1.6', 0);
$f5_stats['ltmVirtualServStatEntryPktsout'] = snmpwalk_array_num($device, '.1.3.6.1.4.1.3375.2.2.10.2.3.1.8', 0);
+1 -1
View File
@@ -38,7 +38,7 @@ $APstats = snmpwalk_cache_oid($device, 'bsnApIfNoOfUsers', $APstats, 'AIRESPACE-
$loadParams = snmpwalk_cache_oid($device, 'bsnAPIfLoadChannelUtilization', $loadParams, 'AIRESPACE-WIRELESS-MIB', null, '-OQUsb');
$interferences = snmpwalk_cache_oid($device, 'bsnAPIfInterferencePower', $interferences, 'AIRESPACE-WIRELESS-MIB', null, '-OQUsb');
$numAccessPoints = count($stats);
$numAccessPoints = is_countable($stats) ? count($stats) : 0;
$numClients = 0;
foreach ($APstats as $key => $value) {
+4 -2
View File
@@ -516,10 +516,12 @@ foreach ($port_stats as $ifIndex => $port) {
echo "\n";
// get last poll time to optimize poll_time, poll_prev and poll_period in table db
$prev_poll_times = array_filter(array_column($ports, 'poll_time'));
$max_poll_time_prev = empty($prev_poll_times) ? null : max($prev_poll_times);
$device_global_ports = [
'poll_time' => $polled,
'poll_prev' => max(array_column($ports, 'poll_time')),
'poll_period' => ($polled - $port['poll_time']),
'poll_prev' => $max_poll_time_prev,
'poll_period' => $max_poll_time_prev ? null : ($polled - $max_poll_time_prev),
];
$globally_updated_port_ids = [];
@@ -73,7 +73,7 @@ foreach (['eth100g', 'eth40g', 'eth10g', 'fc16g', 'fc8g'] as $infineratype) {
}
// convert to integer
$lindex = $lindex + 0;
$lindex = cast_number($lindex);
$port_stats[$lindex]['ifName'] = $descr;
$port_stats[$lindex]['ifDescr'] = $descr;
@@ -28,7 +28,7 @@ if ($this_port['dot3StatsIndex'] and $port['ifType'] == 'ethernetCsmacd') {
$oid_ds = str_replace('dot3Stats', '', $oid);
$rrd_def->addDataset($oid_ds, 'COUNTER', null, 100000000000);
$data = ($this_port[$oid] + 0);
$data = cast_number($this_port[$oid]);
$fields[$oid] = $data;
}
+2 -2
View File
@@ -36,7 +36,7 @@ foreach ($storage_cache1['eql-storage'] as $index => $ventry) {
$iind = $index;
} else {
$arrindex = explode('.', $index);
$iind = (int) (end($arrindex)) + 0;
$iind = (int) cast_number(end($arrindex));
}
if (is_int($iind)) {
$storage_cache10[$iind] = $ventry;
@@ -52,7 +52,7 @@ foreach ($storage_cache2['eql-storage'] as $index => $vsentry) {
$iind = $index;
} else {
$arrindex = explode('.', $index);
$iind = (int) (end($arrindex)) + 0;
$iind = (int) cast_number(end($arrindex));
}
if (is_int($iind)) {
$storage_cache20[$iind] = $vsentry;
+1 -6
View File
@@ -66,12 +66,7 @@ function rrdtool_escape($string, $length = null)
// preserve original $length for str_pad()
// determine correct strlen() for substr_count()
$string_length = strlen($string);
$substr_count_length = $length;
if ($length > $string_length) {
$substr_count_length = $string_length; // If $length is greater than the haystack length, then substr_count() will produce a warning; fix warnings.
}
$substr_count_length = $length <= 0 ? null : min(strlen($string), $length);
$extra = substr_count($string, ':', 0, $substr_count_length);
$result = substr(str_pad($result, $length), 0, ($length + $extra));
+1 -1
View File
@@ -60,7 +60,7 @@ class DBSetupTest extends DBTestCase
{
$files = array_map(function ($migration_file) {
return basename($migration_file, '.php');
}, array_diff(scandir(base_path('/database/migrations')), ['.', '..']));
}, array_diff(scandir(base_path('/database/migrations')), ['.', '..', '.gitkeep']));
$migrated = DB::connection($this->connection)->table('migrations')->pluck('migration')->toArray();
sort($files);
sort($migrated);
+4 -4
View File
@@ -114,8 +114,8 @@ class OSModulesTest extends DBTestCase
$debug = in_array('--debug', $_SERVER['argv'], true);
foreach ($modules as $module) {
$expected = $expected_data[$module]['discovery'];
$actual = $results[$module]['discovery'];
$expected = $expected_data[$module]['discovery'] ?? [];
$actual = $results[$module]['discovery'] ?? [];
$this->assertEquals(
$expected,
$actual,
@@ -133,9 +133,9 @@ class OSModulesTest extends DBTestCase
if ($expected_data[$module]['poller'] == 'matches discovery') {
$expected = $expected_data[$module]['discovery'];
} else {
$expected = $expected_data[$module]['poller'];
$expected = $expected_data[$module]['poller'] ?? [];
}
$actual = $results[$module]['poller'];
$actual = $results[$module]['poller'] ?? [];
$this->assertEquals(
$expected,
$actual,
+1 -1
View File
@@ -55,7 +55,7 @@ class InfluxDBStoreTest extends TestCase
$device = ['hostname' => 'testhost'];
$measurement = 'testmeasure';
$tags = ['ifName' => 'testifname', 'type' => 'testtype'];
$fields = ['ifIn' => 234234, 'ifOut' => 53453];
$fields = ['ifIn' => 234234.0, 'ifOut' => 53453.0];
$expected = [new Point($measurement, null, ['hostname' => $device['hostname']] + $tags, $fields)];
+3 -536
View File
@@ -13787,7 +13787,7 @@
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 0,
"sensor_current": 3,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
@@ -13811,7 +13811,7 @@
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 0,
"sensor_current": 4,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
@@ -14092,540 +14092,7 @@
}
]
},
"poller": {
"sensors": [
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.569.1",
"sensor_index": "569.1",
"sensor_type": "alaChasEntPhysFanStatus",
"sensor_descr": "Chassis-1 Fan 1",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 2,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaChasEntPhysFanStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.569.2",
"sensor_index": "569.2",
"sensor_type": "alaChasEntPhysFanStatus",
"sensor_descr": "Chassis-1 Fan 2",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 2,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaChasEntPhysFanStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2.569.3",
"sensor_index": "569.3",
"sensor_type": "alaChasEntPhysFanStatus",
"sensor_descr": "Chassis-1 Fan 3",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 2,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaChasEntPhysFanStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.4.1",
"sensor_index": "1",
"sensor_type": "alaStackMgrLocalLinkStateA",
"sensor_descr": "Stack Port A Chassis-1",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaStackMgrLocalLinkStateA"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.4.2",
"sensor_index": "2",
"sensor_type": "alaStackMgrLocalLinkStateA",
"sensor_descr": "Stack Port A Chassis-2",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaStackMgrLocalLinkStateA"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.7.1",
"sensor_index": "1",
"sensor_type": "alaStackMgrLocalLinkStateB",
"sensor_descr": "Stack Port B Chassis-1",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaStackMgrLocalLinkStateB"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.24.1.1.1.1.7.2",
"sensor_index": "2",
"sensor_type": "alaStackMgrLocalLinkStateB",
"sensor_descr": "Stack Port B Chassis-2",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alaStackMgrLocalLinkStateB"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.13.1.1.1.1.1.19.40000001",
"sensor_index": "40000001",
"sensor_type": "alclnkaggAggNbrAttachedPorts",
"sensor_descr": "LACP Number 1",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alclnkaggAggNbrAttachedPorts"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.2.1.13.1.1.1.1.1.19.40000010",
"sensor_index": "40000010",
"sensor_type": "alclnkaggAggNbrAttachedPorts",
"sensor_descr": "LACP Number 10",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "alclnkaggAggNbrAttachedPorts"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.5.65",
"sensor_index": "1",
"sensor_type": "chasControlCertifyStatus",
"sensor_descr": "Certify/Restore Status",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 3,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": 0,
"user_func": null,
"state_name": "chasControlCertifyStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.1.1.6.65",
"sensor_index": "1",
"sensor_type": "chasControlSynchronizationStatus",
"sensor_descr": "Flash Between CMMs",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 4,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": 0,
"user_func": null,
"state_name": "chasControlSynchronizationStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.1",
"sensor_index": "1",
"sensor_type": "chasEntPhysOperStatus",
"sensor_descr": "NI-1",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "chasEntPhysOperStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.2",
"sensor_index": "2",
"sensor_type": "chasEntPhysOperStatus",
"sensor_descr": "NI-2",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "chasEntPhysOperStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "temperature",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.569",
"sensor_index": "569",
"sensor_type": "aos6",
"sensor_descr": "Chassis-1 Temperature",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 32,
"sensor_limit": 65,
"sensor_limit_warn": 60,
"sensor_limit_low": 0,
"sensor_limit_low_warn": 5,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "temperature",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.570",
"sensor_index": "570",
"sensor_type": "aos6",
"sensor_descr": "Chassis-2 Temperature",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 41,
"sensor_limit": 84,
"sensor_limit_warn": 74,
"sensor_limit_low": 0,
"sensor_limit_low_warn": 5,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": null
}
],
"state_indexes": [
{
"state_name": "alaChasEntPhysFanStatus",
"state_descr": "noStatus",
"state_draw_graph": 1,
"state_value": 0,
"state_generic_value": 1
},
{
"state_name": "alaChasEntPhysFanStatus",
"state_descr": "notRunning",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 1
},
{
"state_name": "alaChasEntPhysFanStatus",
"state_descr": "running",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 0
},
{
"state_name": "alaStackMgrLocalLinkStateA",
"state_descr": "Connected",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "alaStackMgrLocalLinkStateA",
"state_descr": "Disconnected",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 2
},
{
"state_name": "alaStackMgrLocalLinkStateB",
"state_descr": "Connected",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "alaStackMgrLocalLinkStateB",
"state_descr": "Disconnected",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 2
},
{
"state_name": "alclnkaggAggNbrAttachedPorts",
"state_descr": "Redundant",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "alclnkaggAggNbrAttachedPorts",
"state_descr": "Not Redundant",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 1
},
{
"state_name": "chasControlCertifyStatus",
"state_descr": "Unknown",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 2
},
{
"state_name": "chasControlCertifyStatus",
"state_descr": "Need Certify",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 1
},
{
"state_name": "chasControlCertifyStatus",
"state_descr": "Certified",
"state_draw_graph": 1,
"state_value": 3,
"state_generic_value": 0
},
{
"state_name": "chasControlSynchronizationStatus",
"state_descr": "Unknown",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 2
},
{
"state_name": "chasControlSynchronizationStatus",
"state_descr": "Mono Control Module",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 1
},
{
"state_name": "chasControlSynchronizationStatus",
"state_descr": "Not Synchronized",
"state_draw_graph": 1,
"state_value": 3,
"state_generic_value": 1
},
{
"state_name": "chasControlSynchronizationStatus",
"state_descr": "Synchronized",
"state_draw_graph": 1,
"state_value": 4,
"state_generic_value": 0
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Up",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Down",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 2
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Testing",
"state_draw_graph": 1,
"state_value": 3,
"state_generic_value": 3
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Unknown",
"state_draw_graph": 1,
"state_value": 4,
"state_generic_value": 3
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Secondary",
"state_draw_graph": 1,
"state_value": 5,
"state_generic_value": 0
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "NotPresent",
"state_draw_graph": 1,
"state_value": 6,
"state_generic_value": 2
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "UnPowered",
"state_draw_graph": 1,
"state_value": 7,
"state_generic_value": 2
},
{
"state_name": "chasEntPhysOperStatus",
"state_descr": "Master",
"state_draw_graph": 1,
"state_value": 8,
"state_generic_value": 0
}
]
}
"poller": "matches discovery"
},
"vlans": {
"discovery": {
+2 -16
View File
@@ -65734,7 +65734,7 @@
{
"entPhysicalIndex": 0,
"hrDeviceIndex": 0,
"processor_oid": ".1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.3001",
"processor_oid": ".1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.0",
"processor_index": "0",
"processor_type": "aos7",
"processor_usage": 22,
@@ -65744,21 +65744,7 @@
}
]
},
"poller": {
"processors": [
{
"entPhysicalIndex": 0,
"hrDeviceIndex": 0,
"processor_oid": ".1.3.6.1.4.1.6486.801.1.2.1.16.1.1.1.1.1.11.3001",
"processor_index": "0",
"processor_type": "aos7",
"processor_usage": 18,
"processor_descr": "Processor",
"processor_precision": 1,
"processor_perc_warn": 75
}
]
}
"poller": "matches discovery"
},
"mempools": {
"discovery": {
+2 -2
View File
@@ -26,10 +26,10 @@
{
"entPhysicalIndex": 0,
"hrDeviceIndex": 0,
"processor_oid": ".1.3.6.1.4.1.9694.1.5.2.7.0",
"processor_oid": ".1.3.6.1.4.1.9694.1.5.2.4.0",
"processor_index": "0",
"processor_type": "arbos",
"processor_usage": 9,
"processor_usage": 30,
"processor_descr": "Load Average",
"processor_precision": 1,
"processor_perc_warn": 75
+3 -108
View File
@@ -2655,11 +2655,11 @@
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.112.58.14.201.194.70",
"sensor_index": "112.58.14.201.194.70",
"sensor_type": "aiAPStatus",
"sensor_descr": "CNBJHMV0WN",
"sensor_descr": "instant-ap-src-1 (CNBJHMV0WN)",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 0,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
@@ -2752,111 +2752,6 @@
}
]
},
"poller": {
"sensors": [
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.112.58.14.201.194.70",
"sensor_index": "112.58.14.201.194.70",
"sensor_type": "aiAPStatus",
"sensor_descr": "CNBJHMV0WN",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": 0,
"user_func": null,
"state_name": "aiAPStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.112.58.14.201.194.70.0",
"sensor_index": "112.58.14.201.194.70.0",
"sensor_type": "aiRadioStatus",
"sensor_descr": "instant-ap-src-1 (CNBJHMV0WN) Radio 0",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.112.58.14.201.194.70.1",
"sensor_index": "112.58.14.201.194.70.1",
"sensor_type": "aiRadioStatus",
"sensor_descr": "instant-ap-src-1 (CNBJHMV0WN) Radio 1",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
}
],
"state_indexes": [
{
"state_name": "aiAPStatus",
"state_descr": "up",
"state_draw_graph": 0,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "aiAPStatus",
"state_descr": "down",
"state_draw_graph": 0,
"state_value": 2,
"state_generic_value": 2
},
{
"state_name": "aiRadioStatus",
"state_descr": "up",
"state_draw_graph": 0,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "aiRadioStatus",
"state_descr": "down",
"state_draw_graph": 0,
"state_value": 2,
"state_generic_value": 3
}
]
}
"poller": "matches discovery"
}
}
+5 -182
View File
@@ -1186,11 +1186,11 @@
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.36.222.198.195.80.164",
"sensor_index": "36.222.198.195.80.164",
"sensor_type": "aiAPStatus",
"sensor_descr": "BT0489813",
"sensor_descr": "24:de:c6:c3:50:a4 (BT0489813)",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 24,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
@@ -1210,11 +1210,11 @@
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.36.222.198.195.82.218",
"sensor_index": "36.222.198.195.82.218",
"sensor_type": "aiAPStatus",
"sensor_descr": "BT0490379",
"sensor_descr": "24:de:c6:c3:52:da (BT0490379)",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 24,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
@@ -1355,184 +1355,7 @@
}
]
},
"poller": {
"sensors": [
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.36.222.198.195.80.164",
"sensor_index": "36.222.198.195.80.164",
"sensor_type": "aiAPStatus",
"sensor_descr": "BT0489813",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": 24,
"user_func": null,
"state_name": "aiAPStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.1.1.11.36.222.198.195.82.218",
"sensor_index": "36.222.198.195.82.218",
"sensor_type": "aiAPStatus",
"sensor_descr": "BT0490379",
"group": "Cluster APs",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": 24,
"user_func": null,
"state_name": "aiAPStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.36.222.198.195.80.164.0",
"sensor_index": "36.222.198.195.80.164.0",
"sensor_type": "aiRadioStatus",
"sensor_descr": "24:de:c6:c3:50:a4 (BT0489813) Radio 0",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.36.222.198.195.80.164.1",
"sensor_index": "36.222.198.195.80.164.1",
"sensor_type": "aiRadioStatus",
"sensor_descr": "24:de:c6:c3:50:a4 (BT0489813) Radio 1",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.36.222.198.195.82.218.0",
"sensor_index": "36.222.198.195.82.218.0",
"sensor_type": "aiRadioStatus",
"sensor_descr": "24:de:c6:c3:52:da (BT0490379) Radio 0",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.14823.2.3.3.1.2.2.1.20.36.222.198.195.82.218.1",
"sensor_index": "36.222.198.195.82.218.1",
"sensor_type": "aiRadioStatus",
"sensor_descr": "24:de:c6:c3:52:da (BT0490379) Radio 1",
"group": "Cluster Radios",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "aiRadioStatus"
}
],
"state_indexes": [
{
"state_name": "aiAPStatus",
"state_descr": "up",
"state_draw_graph": 0,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "aiAPStatus",
"state_descr": "down",
"state_draw_graph": 0,
"state_value": 2,
"state_generic_value": 2
},
{
"state_name": "aiRadioStatus",
"state_descr": "up",
"state_draw_graph": 0,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "aiRadioStatus",
"state_descr": "down",
"state_draw_graph": 0,
"state_value": 2,
"state_generic_value": 3
}
]
}
"poller": "matches discovery"
},
"wireless": {
"discovery": {
+1 -1
View File
@@ -20798,7 +20798,7 @@
"processor_index": "0",
"processor_type": "arubaos",
"processor_usage": 3,
"processor_descr": "Network Processor CPU0",
"processor_descr": "Supervisor Card CPU",
"processor_precision": 1,
"processor_perc_warn": 75
},
+1 -1
View File
@@ -57,7 +57,7 @@
"processor_index": "1",
"processor_type": "arubaos",
"processor_usage": 2,
"processor_descr": "Network Processor CPU1",
"processor_descr": "Supervisor Card CPU",
"processor_precision": 1,
"processor_perc_warn": 75
},
+2012 -2012
View File
File diff suppressed because it is too large Load Diff
+20 -37
View File
@@ -27,25 +27,25 @@
"application_metrics": [
{
"metric": "foobar_dashboard_1_cpu_usage",
"value": 1,
"value": 0.01,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_dashboard_1_mem_limit",
"value": 15.36,
"value": 16492674416,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_dashboard_1_mem_perc",
"value": 4,
"value": 0.04,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_dashboard_1_mem_used",
"value": 6.93,
"value": 7270825,
"value_prev": null,
"app_type": "docker"
},
@@ -57,25 +57,25 @@
},
{
"metric": "foobar_laravel.test_1_cpu_usage",
"value": 9,
"value": 0.09,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_laravel.test_1_mem_limit",
"value": 15.36,
"value": 16492674416,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_laravel.test_1_mem_perc",
"value": 17,
"value": 0.17,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_laravel.test_1_mem_used",
"value": 26.67,
"value": 27965521,
"value_prev": null,
"app_type": "docker"
},
@@ -93,19 +93,19 @@
},
{
"metric": "foobar_meilisearch_1_mem_limit",
"value": 15.36,
"value": 16492674416,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_meilisearch_1_mem_perc",
"value": 7,
"value": 0.07,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_meilisearch_1_mem_used",
"value": 10.86,
"value": 11387535,
"value_prev": null,
"app_type": "docker"
},
@@ -117,25 +117,25 @@
},
{
"metric": "foobar_mysql_1_cpu_usage",
"value": 33,
"value": 0.33,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_mysql_1_mem_limit",
"value": 15.36,
"value": 16492674416,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_mysql_1_mem_perc",
"value": 90,
"value": 0.9,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_mysql_1_mem_used",
"value": 141.3,
"value": 148163788,
"value_prev": null,
"app_type": "docker"
},
@@ -147,25 +147,25 @@
},
{
"metric": "foobar_redis_1_cpu_usage",
"value": 23,
"value": 0.23,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_redis_1_mem_limit",
"value": 15.36,
"value": 16492674416,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_redis_1_mem_perc",
"value": 3,
"value": 0.03,
"value_prev": null,
"app_type": "docker"
},
{
"metric": "foobar_redis_1_mem_used",
"value": 5.06,
"value": 5300551,
"value_prev": null,
"app_type": "docker"
},
@@ -197,23 +197,6 @@
}
]
},
"poller": {
"devices": [
{
"sysName": "<private>",
"sysObjectID": ".1.3.6.1.4.1.8072.3.2.10",
"sysDescr": "Linux server 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64",
"sysContact": "<private>",
"version": "3.10.0-693.5.2.el7.x86_64",
"hardware": "Generic x86 64-bit",
"features": null,
"os": "linux",
"type": "server",
"serial": null,
"icon": "linux.svg",
"location": "<private>"
}
]
}
"poller": "matches discovery"
}
}
+32
View File
@@ -3753,6 +3753,38 @@
1.3.6.1.4.1.14823.2.2.1.1.1.11.1.4.1|2|344260
1.3.6.1.4.1.14823.2.2.1.1.3.1.0|66|1386
1.3.6.1.4.1.14823.2.2.1.1.3.2.0|66|2654
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.0|4|Supervisor Card CPU
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.1|4|Network Processor CPU1
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.2|4|Network Processor CPU2
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.3|4|Network Processor CPU3
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.4|4|Network Processor CPU4
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.5|4|Network Processor CPU5
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.6|4|Network Processor CPU6
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.7|4|Network Processor CPU7
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.8|4|Network Processor CPU8
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.9|4|Network Processor CPU9
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.10|4|Network Processor CPU10
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.11|4|Network Processor CPU11
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.12|4|Network Processor CPU12
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.13|4|Network Processor CPU13
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.14|4|Network Processor CPU14
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.15|4|Network Processor CPU15
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.16|4|Network Processor CPU16
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.17|4|Network Processor CPU17
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.18|4|Network Processor CPU18
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.19|4|Network Processor CPU19
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.20|4|Network Processor CPU20
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.21|4|Network Processor CPU21
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.22|4|Network Processor CPU22
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.23|4|Network Processor CPU23
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.24|4|Network Processor CPU24
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.25|4|Network Processor CPU25
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.26|4|Network Processor CPU26
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.27|4|Network Processor CPU27
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.28|4|Network Processor CPU28
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.29|4|Network Processor CPU29
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.30|4|Network Processor CPU30
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.31|4|Network Processor CPU31
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.0|2|3
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.1|2|4
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.2|2|42
+9
View File
@@ -9,6 +9,15 @@
1.3.6.1.4.1.14823.2.2.1.1.1.11.1.2.1|2|5184256
1.3.6.1.4.1.14823.2.2.1.1.1.11.1.3.1|2|4326272
1.3.6.1.4.1.14823.2.2.1.1.1.11.1.4.1|2|857984
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.1|4|Supervisor Card CPU
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.8|4|Network Processor CPU8
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.9|4|Network Processor CPU9
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.10|4|Network Processor CPU10
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.11|4|Network Processor CPU11
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.12|4|Network Processor CPU12
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.13|4|Network Processor CPU13
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.14|4|Network Processor CPU14
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.2.15|4|Network Processor CPU15
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.1|2|2
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.8|2|0
1.3.6.1.4.1.14823.2.2.1.2.1.13.1.3.9|2|1
+68
View File
@@ -8754,6 +8754,12 @@
1.3.6.1.4.1.1271.2.1.5.1.2.1.3.2.1.12.1.2|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.3.2.1.13.1.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.3.2.1.13.1.2|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.3|66|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.4|66|4
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.31|66|31
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.2.1.32|66|32
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.3.1.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.3.1.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.5.1.3.1.3|2|2
@@ -8769,6 +8775,32 @@
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.9.1.4.1.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.9.1.4.1.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.9.1.4.1.3|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.1|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.2|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.3|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.4|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.31|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.1.32|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.3|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.4|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.31|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.2.32|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.1.3.31|2|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.3|66|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.4|66|4
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.31|66|31
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.1.32|66|32
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.3|66|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.4|66|4
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.31|66|31
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.2.32|66|32
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.2.3.31|66|31
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.1.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.1.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.1.3|2|2
@@ -8782,6 +8814,18 @@
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.2.31|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.2.32|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.12.1.3.3.31|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.1|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.2|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.3|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.4|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.31|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.1.32|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.3|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.4|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.31|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.1.2.32|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.1.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.1.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.24.1.3.1.3|2|2
@@ -8825,6 +8869,30 @@
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.35.1.7.1.18|66|0
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.35.1.8.1.17|66|60
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.35.1.8.1.18|66|60
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.1.1|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.1.2|2|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.3.1|2|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.3.2|2|3
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.4.1|2|4
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.4.2|2|4
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.5.1|2|5
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.5.2|2|5
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.6.1|2|6
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.6.2|2|6
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.7.1|2|7
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.1.7.2|2|7
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.1.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.1.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.3.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.3.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.4.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.4.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.5.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.5.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.6.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.6.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.7.1|66|1
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.2.7.2|66|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.1.1|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.1.2|2|2
1.3.6.1.4.1.1271.2.1.5.1.2.1.4.36.1.3.3.1|2|2