mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 18:38:25 +00:00
Alcatel-Lucent support part2 (#12369)
* Alcatel-Lucent support part2 * fixing low temp for aos6, mem for aos6 and linkagg for both * style for aos6.yaml * style2 for aos6.yaml * fix style * fix style * add test data
This commit is contained in:
parent
187165e464
commit
95603e494a
@ -34,52 +34,69 @@ modules:
|
||||
entPhysicalIndex_measured: 'ports'
|
||||
descr: '{{ $ifName }} SFP Temperature'
|
||||
index: 'ddmTemperature.{{ $index }}'
|
||||
low_limit: -40.0
|
||||
high_limit: 85.0
|
||||
low_limit: ddmTempLowAlarm
|
||||
low_warn_limit: ddmTempLowWarning
|
||||
high_limit: ddmTempHiAlarm
|
||||
warn_limit: ddmTempHiWarning
|
||||
|
||||
voltage:
|
||||
data:
|
||||
-
|
||||
oid: ddmSupplyVoltage
|
||||
oid: ddmInfoEntry
|
||||
value: ddmSupplyVoltage
|
||||
num_oid: '.1.3.6.1.4.1.6486.800.1.2.1.5.1.1.2.5.1.6.{{ $index }}'
|
||||
divisor: 1000
|
||||
entPhysicalIndex: '{{ $index }}'
|
||||
entPhysicalIndex_measured: 'ports'
|
||||
descr: '{{ $ifName }} SFP Voltage'
|
||||
index: 'ddmSupplyVoltage.{{ $index }}'
|
||||
low_limit: 3.13
|
||||
high_limit: 3.47
|
||||
low_limit: ddmSupplyVoltageLowAlarm
|
||||
low_warn_limit: ddmSupplyVoltageLowWarning
|
||||
high_limit: ddmSupplyVoltageHiAlarm
|
||||
warn_limit: ddmSupplyVoltageHiWarning
|
||||
|
||||
|
||||
current:
|
||||
data:
|
||||
-
|
||||
oid: ddmTxBiasCurrent
|
||||
oid: ddmInfoEntry
|
||||
value: ddmTxBiasCurrent
|
||||
num_oid: '.1.3.6.1.4.1.6486.800.1.2.1.5.1.1.2.5.1.11.{{ $index }}'
|
||||
divisor: 1000
|
||||
entPhysicalIndex: '{{ $index }}'
|
||||
entPhysicalIndex_measured: 'ports'
|
||||
descr: '{{ $ifName }} Tx Bias'
|
||||
index: 'ddmTxBiasCurrent.{{ $index }}'
|
||||
low_limit: ddmTxBiasCurrentLowAlarm
|
||||
low_warn_limit: ddmTxBiasCurrentLowWarning
|
||||
high_limit: ddmTxBiasCurrentHiAlarm
|
||||
warn_limit: ddmTxBiasCurrentHiWarning
|
||||
|
||||
dbm:
|
||||
data:
|
||||
-
|
||||
oid: ddmRxOpticalPower
|
||||
oid: ddmInfoEntry
|
||||
value: ddmRxOpticalPower
|
||||
num_oid: '.1.3.6.1.4.1.6486.800.1.2.1.5.1.1.2.5.1.21.{{ $index }}'
|
||||
divisor: 1000
|
||||
entPhysicalIndex: '{{ $index }}'
|
||||
entPhysicalIndex_measured: 'ports'
|
||||
descr: '{{ $ifName }} Rx Power'
|
||||
index: 'ddmRxOpticalPower.{{ $index }}'
|
||||
low_limit: -21.0
|
||||
high_limit: -3.0
|
||||
low_limit: ddmRxOpticalPowerLowAlarm
|
||||
low_warn_limit: ddmRxOpticalPowerLowWarning
|
||||
high_limit: ddmRxOpticalPowerHiAlarm
|
||||
warn_limit: ddmRxOpticalPowerHiWarning
|
||||
-
|
||||
oid: ddmTxOutputPower
|
||||
oid: ddmInfoEntry
|
||||
value: ddmTxOutputPower
|
||||
num_oid: '.1.3.6.1.4.1.6486.800.1.2.1.5.1.1.2.5.1.16.{{ $index }}'
|
||||
divisor: 1000
|
||||
entPhysicalIndex: '{{ $index }}'
|
||||
entPhysicalIndex_measured: 'ports'
|
||||
descr: '{{ $ifName }} Tx Power'
|
||||
index: 'ddmTxOutputPower.{{ $index }}'
|
||||
low_limit: -9.0
|
||||
high_limit: -3.0
|
||||
low_limit: ddmTxOutputPowerLowAlarm
|
||||
low_warn_limit: ddmTxOutputPowerLowWarning
|
||||
high_limit: ddmTxOutputPowerHiAlarm
|
||||
warn_limit: ddmTxOutputPowerHiWarning
|
||||
|
@ -9,7 +9,8 @@ foreach (explode("\n", $data) as $entry) {
|
||||
$oid = trim($oid);
|
||||
$value = trim($value, "\" \\\n\r");
|
||||
[$revindex, $revchass, $revdata,] = explode('.', strrev($oid), 4);
|
||||
if (! strstr($value, 'at this OID') && ! empty($oid)) {
|
||||
//we don't care if the value is 0, the other fan status sensor will tell us if the fan is broken
|
||||
if (! strstr($value, 'at this OID') && ! empty($oid) && $value > 0) {
|
||||
$chassis = strrev($revchass);
|
||||
$index = strrev($revindex);
|
||||
$data = strrev($revdata);
|
||||
@ -24,8 +25,10 @@ foreach ($rpm as $chassis => $entry) {
|
||||
$chas_descr = (string) snmp_get($device, $descr_oid, '-Oqv');
|
||||
$descr = 'CHASSIS-' . substr($chas_descr, 0, strpos($chas_descr, '/')) . " Fan $index";
|
||||
$value = $data[4];
|
||||
$low_limit = '1000'; //guessing to ignore any alarm
|
||||
$high_limit = '15000'; //guessing to ignore any alarm
|
||||
$id = "$chassis.$index";
|
||||
$oid = "$rpm_oid.4.$chassis.$index";
|
||||
discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $id, 'alcatel-lucent', $descr, '1', '1', null, null, null, null, $value, 'snmp');
|
||||
discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $id, 'alcatel-lucent', $descr, '1', '1', $low_limit, null, null, $high_limit, $value);
|
||||
}
|
||||
}
|
||||
|
@ -15,3 +15,12 @@ $pre_cache['aos6_fan_oids'] = snmpwalk_cache_multi_oid($device, 'alaChasEntPhysF
|
||||
|
||||
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');
|
||||
|
@ -21,3 +21,15 @@ $pre_cache['aos7_chas_oids'] = snmpwalk_cache_multi_oid($device, 'chasEntPhysOpe
|
||||
|
||||
echo 'entPhysicalName';
|
||||
$pre_cache['aos7_phys_oids'] = snmpwalk_cache_multi_oid($device, 'entPhysicalName', [], 'ALCATEL-IND1-HEALTH-MIB', 'aos7', '-OQUse');
|
||||
|
||||
echo 'virtualChassisVflTable';
|
||||
$pre_cache['aos7_vcstack_oids'] = snmpwalk_cache_multi_oid($device, 'virtualChassisVflMemberPortOperStatus', [], 'ALCATEL-IND1-VIRTUAL-CHASSIS-MIB', 'aos7', '-OQUse');
|
||||
|
||||
echo 'VirtualChassisStatus';
|
||||
$pre_cache['aos7_vcstatus_oids'] = snmpwalk_cache_multi_oid($device, 'VirtualChassisStatus', [], 'ALCATEL-IND1-VIRTUAL-CHASSIS-MIB', 'aos7', '-OQUse');
|
||||
|
||||
echo 'ChasControlModuleEntry';
|
||||
$pre_cache['aos7_sync_oids'] = snmpwalk_cache_multi_oid($device, 'ChasControlModuleEntry', [], 'ALCATEL-IND1-CHASSIS-MIB', 'aos7', '-OQUse');
|
||||
|
||||
echo 'alclnkaggAggEntry';
|
||||
$pre_cache['aos7_lag_oids'] = snmpwalk_cache_multi_oid($device, 'alclnkaggAggEntry', [], 'ALCATEL-IND1-LAG-MIB', 'aos7', '-OQUse');
|
||||
|
@ -1,6 +1,13 @@
|
||||
<?php
|
||||
|
||||
$chas_oid = '.1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.'; // chasEntPhysOperStatus
|
||||
$stack_left = snmp_walk($device, 'chasFreeSlots', '-OQUse', 'ALCATEL-IND1-CHASSIS-MIB', 'nokia');
|
||||
$stack_role = snmp_walk($device, 'alaStackMgrChasRole', '-OQUse', 'ALCATEL-IND1-STACK-MANAGER-MIB', 'nokia');
|
||||
$stack_alone = substr($stack_role, strpos($stack_role, '=') + 1);
|
||||
$stack_left = substr($stack_left, strpos($stack_left, '=') + 1);
|
||||
$true_stacking = (7 - $stack_left);
|
||||
$stacking = '7';
|
||||
$stacking_non = '4';
|
||||
$oids = snmp_walk($device, 'chasEntPhysOperStatus', '-OQUse', 'ALCATEL-IND1-CHASSIS-MIB', 'nokia');
|
||||
foreach (explode("\n", $oids) as $chas_entry) {
|
||||
preg_match('/chasEntPhysOperStatus.(.) = (.+)/', $chas_entry, $data2); // entPhysicalName.284 = "5/PS-2"
|
||||
@ -55,3 +62,116 @@ foreach ($pre_cache['aos6_fan_oids'] as $index => $data) {
|
||||
}
|
||||
}
|
||||
}
|
||||
unset(
|
||||
$index,
|
||||
$data,
|
||||
$descr
|
||||
);
|
||||
|
||||
if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
|
||||
foreach ($pre_cache['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'];
|
||||
$stack_state_namea = 'alaStackMgrLocalLinkStateA';
|
||||
$descr_stacka = 'Stack Port A Chassis-' . "$stackindexa";
|
||||
$states_stacka = [
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Connected'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 1, 'descr' => 'Disconnected'],
|
||||
];
|
||||
create_state_index($stack_state_namea, $states_stacka);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid_stackport_a, $stackindexa, $stack_state_namea, $descr_stacka, 1, 1, null, null, null, null, $current_stacka);
|
||||
create_sensor_to_state_index($device, $stack_state_namea, $stackindexa);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (($stack_left < $stacking) && ($stack_alone < $stacking_non)) {
|
||||
foreach ($pre_cache['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'];
|
||||
$stack_state_nameb = 'alaStackMgrLocalLinkStateB';
|
||||
$descr_stackb = 'Stack Port B Chassis-' . "$stackindexb";
|
||||
$states_stackb = [
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Connected'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 1, 'descr' => 'Disconnected'],
|
||||
];
|
||||
create_state_index($stack_state_nameb, $states_stackb);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid_stackport_b, $stackindexb, $stack_state_nameb, $descr_stackb, 1, 1, null, null, null, null, $current_stackb);
|
||||
create_sensor_to_state_index($device, $stack_state_nameb, $stackindexb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($pre_cache['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.5.65';
|
||||
$sync_state = 'chasControlCertifyStatus';
|
||||
$sync_value = 'chasControlCertifyStatus.1';
|
||||
$descr_sync = 'Certify/Restore Status';
|
||||
$sync_chas_states = [
|
||||
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Need Certify'],
|
||||
['value' => 3, 'generic' => 0, 'graph' => 1, 'descr' => 'Certified'],
|
||||
];
|
||||
create_state_index($sync_state, $sync_chas_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $sync_chas_oid, 1, $sync_state, $descr_sync, 1, 1, null, null, null, null, $sync_value);
|
||||
create_sensor_to_state_index($device, $sync_state, 1);
|
||||
}
|
||||
}
|
||||
|
||||
unset(
|
||||
$sync_chas_oid,
|
||||
$sync_state,
|
||||
$sync_value,
|
||||
$descr_sync,
|
||||
$sync_chas_states,
|
||||
$data,
|
||||
$index
|
||||
);
|
||||
|
||||
foreach ($pre_cache['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_state = 'chasControlSynchronizationStatus';
|
||||
$sync_value = 'chasControlSynchronizationStatus.1';
|
||||
$descr_sync = 'Flash Between CMMs';
|
||||
$sync_chas_states = [
|
||||
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Mono Control Module'],
|
||||
['value' => 3, 'generic' => 1, 'graph' => 1, 'descr' => 'Not Synchronized'],
|
||||
['value' => 4, 'generic' => 0, 'graph' => 1, 'descr' => 'Synchronized'],
|
||||
];
|
||||
create_state_index($sync_state, $sync_chas_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $sync_chas_oid, 1, $sync_state, $descr_sync, 1, 1, null, null, null, null, $sync_value);
|
||||
create_sensor_to_state_index($device, $sync_state, 1);
|
||||
}
|
||||
}
|
||||
|
||||
$type = 'alclnkaggAggNbrAttachedPorts';
|
||||
foreach ($pre_cache['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;
|
||||
// $oid_state = "alclnkaggAggNbrAttachedPorts.$index";
|
||||
$lag_number = $entry['alclnkaggAggNumber'];
|
||||
if (! empty($oid_mem)) {
|
||||
if ($oid_size == $oid_mem) {
|
||||
$current = 1;
|
||||
}
|
||||
if ($oid_size > $oid_mem) {
|
||||
$current = 2;
|
||||
}
|
||||
}
|
||||
$descr_lag = 'LACP Number ' . $lag_number;
|
||||
$lag_states = [
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Redundant'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Not Redundant'],
|
||||
];
|
||||
if (! empty($oid_mem)) {
|
||||
create_state_index($type, $lag_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $lag_state, $index, $type, $descr_lag, 1, 1, null, null, null, null, $current);
|
||||
create_sensor_to_state_index($device, $type, $index);
|
||||
}
|
||||
}
|
||||
|
@ -56,3 +56,161 @@ foreach (explode("\n", $oids) as $chas_entry) {
|
||||
create_sensor_to_state_index($device, $chas_state_name, $number);
|
||||
}
|
||||
}
|
||||
unset(
|
||||
$index,
|
||||
$data,
|
||||
$descr,
|
||||
$states,
|
||||
$current
|
||||
);
|
||||
|
||||
$vc_current = [];
|
||||
foreach ($pre_cache['aos7_vcstack_oids'] as $index => $data) {
|
||||
if (is_array($data)) {
|
||||
$oid = ".1.3.6.1.4.1.6486.801.1.2.1.69.1.1.7.1.3.$index";
|
||||
$index = preg_match('/^(.*)[.]([^.]+)$/', $index, $data2);
|
||||
if (! empty($data2)) {
|
||||
$number = $data2[1];
|
||||
$index = $data2[2];
|
||||
$state_name_vc = 'virtualChassisVflMemberPortOperStatus';
|
||||
$vc_current = "virtualChassisVflMemberPortOperStatus.$number";
|
||||
$entPhysicalIndex = $index;
|
||||
$entPhysicalIndex_measured = 'ports';
|
||||
$port_descr = get_port_by_index_cache($device['device_id'], $index);
|
||||
$descr = 'Virtual-Chassis Port ' . $port_descr['ifName'];
|
||||
$states = [
|
||||
['value' => 0, 'generic' => 1, 'graph' => 1, 'descr' => 'Disabled'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 1, 'descr' => 'Down'],
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Up'],
|
||||
];
|
||||
create_state_index($state_name_vc, $states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name_vc, $descr, 1, 1, null, null, null, null, $vc_current, 'snmp', $entPhysicalIndex, $entPhysicalIndex_measured);
|
||||
create_sensor_to_state_index($device, $state_name_vc, $index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unset(
|
||||
$index,
|
||||
$data,
|
||||
$descr,
|
||||
$states,
|
||||
$current
|
||||
);
|
||||
|
||||
foreach ($pre_cache['aos7_vcstatus_oids'] as $index => $data) {
|
||||
if (is_array($data)) {
|
||||
$vc_chas_oid = '.1.3.6.1.4.1.6486.801.1.2.1.69.1.1.2.1.5.' . $index;
|
||||
$vc_state = 'virtualChassisStatus';
|
||||
$vc_value = "virtualChassisStatus.$index";
|
||||
$descr_vc = 'Virtual-Chassis Unit ' . $index;
|
||||
$vc_chas_states = [
|
||||
['value' => 0, 'generic' => 0, 'graph' => 1, 'descr' => 'Init'],
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Running'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 1, 'descr' => 'Invalid Chassis Id'],
|
||||
['value' => 3, 'generic' => 2, 'graph' => 1, 'descr' => 'Hello Down'],
|
||||
['value' => 4, 'generic' => 2, 'graph' => 1, 'descr' => 'Duplicate Chassis Id'],
|
||||
['value' => 5, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch Image'],
|
||||
['value' => 6, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch Chassis Type'],
|
||||
['value' => 7, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch Hello Interval'],
|
||||
['value' => 8, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch Control Vlan'],
|
||||
['value' => 9, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch Group'],
|
||||
['value' => 10, 'generic' => 2, 'graph' => 1, 'descr' => 'Mismatch License Config'],
|
||||
['value' => 11, 'generic' => 2, 'graph' => 1, 'descr' => 'Invalid License'],
|
||||
['value' => 12, 'generic' => 2, 'graph' => 1, 'descr' => 'Split Topology'],
|
||||
['value' => 13, 'generic' => 2, 'graph' => 1, 'descr' => 'Command Shutdown'],
|
||||
['value' => 14, 'generic' => 2, 'graph' => 1, 'descr' => 'Failure Shutdown'],
|
||||
];
|
||||
create_state_index($vc_state, $vc_chas_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $vc_chas_oid, $index, $vc_state, $descr_vc, 1, 1, null, null, null, null, $vc_value);
|
||||
create_sensor_to_state_index($device, $vc_state, $index);
|
||||
}
|
||||
}
|
||||
|
||||
unset(
|
||||
$index,
|
||||
$data,
|
||||
$descr,
|
||||
$states,
|
||||
$current
|
||||
);
|
||||
|
||||
foreach ($pre_cache['aos7_sync_oids'] as $index => $data) {
|
||||
if (is_array($data)) {
|
||||
$sync_chas_oid = '.1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.4.' . $index;
|
||||
$sync_state = 'chasControlCertifyStatus';
|
||||
$sync_value = 'chasControlCertifyStatus.1';
|
||||
$descr_sync = 'Certify/Restore Status';
|
||||
$sync_chas_states = [
|
||||
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Need Certify'],
|
||||
['value' => 3, 'generic' => 0, 'graph' => 1, 'descr' => 'Certified'],
|
||||
];
|
||||
create_state_index($sync_state, $sync_chas_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $sync_chas_oid, 1, $sync_state, $descr_sync, 1, 1, null, null, null, null, $sync_value);
|
||||
create_sensor_to_state_index($device, $sync_state, 1);
|
||||
}
|
||||
}
|
||||
|
||||
unset(
|
||||
$sync_chas_oid,
|
||||
$sync_state,
|
||||
$sync_value,
|
||||
$descr_sync,
|
||||
$sync_chas_states,
|
||||
$data,
|
||||
$index
|
||||
);
|
||||
foreach ($pre_cache['aos7_sync_oids'] as $index => $data) {
|
||||
if (is_array($data)) {
|
||||
$sync_chas_oid = '.1.3.6.1.4.1.6486.801.1.1.1.3.1.1.1.1.5.' . $index;
|
||||
$sync_state = 'chasControlSynchronizationStatus';
|
||||
$sync_value = 'chasControlSynchronizationStatus.1';
|
||||
$descr_sync = 'Flash Between CMMs';
|
||||
$sync_chas_states = [
|
||||
['value' => 1, 'generic' => 2, 'graph' => 1, 'descr' => 'Unknown'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Mono Control Module'],
|
||||
['value' => 3, 'generic' => 1, 'graph' => 1, 'descr' => 'Not Synchronized'],
|
||||
['value' => 4, 'generic' => 0, 'graph' => 1, 'descr' => 'Synchronized'],
|
||||
];
|
||||
create_state_index($sync_state, $sync_chas_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $sync_chas_oid, 1, $sync_state, $descr_sync, 1, 1, null, null, null, null, $sync_value);
|
||||
create_sensor_to_state_index($device, $sync_state, 1);
|
||||
}
|
||||
}
|
||||
unset(
|
||||
$sync_chas_oid,
|
||||
$sync_state,
|
||||
$sync_value,
|
||||
$descr_sync,
|
||||
$sync_chas_states,
|
||||
$data,
|
||||
$index
|
||||
);
|
||||
|
||||
$type = 'alclnkaggAggNbrAttachedPorts';
|
||||
foreach ($pre_cache['aos7_lag_oids'] as $index => $entry) {
|
||||
$oid_size = $entry['alclnkaggAggSize'];
|
||||
$oid_mem = $entry['alclnkaggAggNbrAttachedPorts'];
|
||||
$lag_state = '.1.3.6.1.4.1.6486.801.1.2.1.13.1.1.1.1.1.19.' . $index;
|
||||
// $oid_state = "alclnkaggAggNbrAttachedPorts.$index";
|
||||
$lag_number = $entry['alclnkaggAggNumber'];
|
||||
if (! empty($oid_mem)) {
|
||||
if ($oid_size == $oid_mem) {
|
||||
$current = 1;
|
||||
}
|
||||
if ($oid_size > $oid_mem) {
|
||||
$current = 2;
|
||||
}
|
||||
}
|
||||
$descr_lag = 'LACP Number ' . $lag_number;
|
||||
$lag_states = [
|
||||
['value' => 1, 'generic' => 0, 'graph' => 1, 'descr' => 'Redundant'],
|
||||
['value' => 2, 'generic' => 1, 'graph' => 1, 'descr' => 'Not Redundant'],
|
||||
];
|
||||
if (! empty($oid_mem)) {
|
||||
create_state_index($type, $lag_states);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $lag_state, $index, $type, $descr_lag, 1, 1, null, null, null, null, $current);
|
||||
create_sensor_to_state_index($device, $type, $index);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ foreach ($pre_cache['aos6_temp_oids'] as $index => $entry) {
|
||||
$value = $entry['chasHardwareBoardTemp'];
|
||||
$limit = $entry['chasDangerTempThreshold'];
|
||||
$warn_limit = $entry['chasTempThreshold'];
|
||||
$limit_low = '0'; //from documentation
|
||||
$warn_limit_low = '5';
|
||||
$descr = 'Chassis-' . ($index - 568) . ' Temperature';
|
||||
|
||||
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'aos6', $descr, 1, 1, $limit_low, $warn_limit_low, $warn_limit, $limit, $value, 'snmp');
|
||||
|
9
includes/polling/sensors/state/aos6.inc.php
Normal file
9
includes/polling/sensors/state/aos6.inc.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
if (($device['os'] == 'aos6') && ($sensor['sensor_type'] === 'alclnkaggAggNbrAttachedPorts')) {
|
||||
if (($sensor_value == 2) || ($sensor_value == 4) || ($sensor_value == 6) || ($sensor_value == 8)) {
|
||||
$sensor_value = 1;
|
||||
} else {
|
||||
$sensor_value = 2;
|
||||
}
|
||||
}
|
9
includes/polling/sensors/state/aos7.inc.php
Normal file
9
includes/polling/sensors/state/aos7.inc.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
if (($device['os'] == 'aos7') && ($sensor['sensor_type'] === 'alclnkaggAggNbrAttachedPorts')) {
|
||||
if (($sensor_value == 2) || ($sensor_value == 4) || ($sensor_value == 6) || ($sensor_value == 8)) {
|
||||
$sensor_value = 1;
|
||||
} else {
|
||||
$sensor_value = 2;
|
||||
}
|
||||
}
|
8307
tests/data/aos6.json
8307
tests/data/aos6.json
File diff suppressed because it is too large
Load Diff
47840
tests/data/aos7.json
47840
tests/data/aos7.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user