mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
F5 BIG-IP state and count sensors (#15865)
* F5 BIG-IP state and count sensors * F5 BIG-IP state and count sensors
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
mib: F5-BIGIP-SYSTEM-MIB
|
||||
modules:
|
||||
os:
|
||||
hardware: F5-BIGIP-SYSTEM-MIB::sysPlatformInfoMarketingName.0
|
||||
@@ -20,3 +21,94 @@ modules:
|
||||
total: F5-BIGIP-SYSTEM-MIB::sysGlobalHostSwapTotal
|
||||
descr: 'Swap Memory'
|
||||
index: 2
|
||||
sensors:
|
||||
state:
|
||||
data:
|
||||
-
|
||||
oid: sysCmFailoverStatusId
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.14.3.1.{{ $index }}'
|
||||
index: 'sysCmFailoverStatusId.{{ $index }}'
|
||||
descr: Failover State
|
||||
group: HA
|
||||
states:
|
||||
- { value: 0, descr: 'Unknown', graph: 0, generic: 3 }
|
||||
- { value: 1, descr: 'OffLine', graph: 0, generic: 2 }
|
||||
- { value: 2, descr: 'ForcedOffline', graph: 0, generic: 2 }
|
||||
- { value: 3, descr: 'Standby', graph: 0, generic: 0 }
|
||||
- { value: 4, descr: 'Active', graph: 0, generic: 0 }
|
||||
-
|
||||
oid: sysCmSyncStatusId
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.14.1.1.{{ $index }}'
|
||||
index: 'sysCmSyncStatusId.{{ $index }}'
|
||||
descr: Sync State
|
||||
group: HA
|
||||
states:
|
||||
- { value: 0, descr: 'unknown', graph: 0, generic: 3 }
|
||||
- { value: 1, descr: 'syncing', graph: 0, generic: 1 }
|
||||
- { value: 2, descr: 'needManualSync', graph: 0, generic: 2 }
|
||||
- { value: 3, descr: 'inSync', graph: 0, generic: 0 }
|
||||
- { value: 4, descr: 'syncFailed', graph: 0, generic: 1 }
|
||||
- { value: 5, descr: 'syncDisconnected', graph: 0, generic: 2 }
|
||||
- { value: 6, descr: 'standalone', graph: 0, generic: 0 }
|
||||
- { value: 7, descr: 'awaitingInitialSync', graph: 0, generic: 1 }
|
||||
- { value: 8, descr: 'incompatibleVersion', graph: 0, generic: 2 }
|
||||
- { value: 9, descr: 'partialSync', graph: 0, generic: 2 }
|
||||
-
|
||||
oid: sysCmFailoverStatusColor
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.14.3.3.{{ $index }}'
|
||||
index: 'sysCmFailoverStatusColor.{{ $index }}'
|
||||
descr: Failover State Color
|
||||
group: HA
|
||||
states:
|
||||
- { value: 0, descr: 'Green: functioning correctly', graph: 0, generic: 0 }
|
||||
- { value: 1, descr: 'Yellow: functioning suboptimally', graph: 0, generic: 1 }
|
||||
- { value: 2, descr: 'Red: requires attention to function correctly', graph: 0, generic: 2 }
|
||||
- { value: 3, descr: 'Blue: status is unknown', graph: 0, generic: 3 }
|
||||
- { value: 4, descr: 'Gray: intentionally not functioning', graph: 0, generic: 0 }
|
||||
- { value: 5, descr: 'Black: not connected to any peers', graph: 0, generic: 2 }
|
||||
-
|
||||
oid: sysChassisPowerSupplyStatus
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.{{ $index }}'
|
||||
index: 'sysChassisPowerSupplyStatus.{{ $index }}'
|
||||
descr: "Power Supply Status {{ $index }}"
|
||||
group: Hardware
|
||||
states:
|
||||
- { value: 0, descr: 'Bad', graph: 0, generic: 2 }
|
||||
- { value: 1, descr: 'Good', graph: 0, generic: 0 }
|
||||
- { value: 2, descr: 'NotPresent', graph: 0, generic: 3 }
|
||||
-
|
||||
oid: sysChassisFanStatus
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.{{ $index }}'
|
||||
index: 'sysChassisFanStatus.{{ $index }}'
|
||||
descr: "Fan Status {{ $index }}"
|
||||
group: Hardware
|
||||
states:
|
||||
- { value: 0, descr: 'Bad', graph: 0, generic: 2 }
|
||||
- { value: 1, descr: 'Good', graph: 0, generic: 0 }
|
||||
- { value: 2, descr: 'NotPresent', graph: 0, generic: 3 }
|
||||
count:
|
||||
data:
|
||||
-
|
||||
oid: sysStatClientCurConns
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.1.2.1.8.{{ $index }}'
|
||||
index: 'sysStatClientCurConns.{{ $index }}'
|
||||
descr: 'Current connections from client-side'
|
||||
group: Connections
|
||||
-
|
||||
oid: sysStatServerCurConns
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.1.2.1.15.{{ $index }}'
|
||||
index: 'sysStatServerCurConns.{{ $index }}'
|
||||
descr: 'Current connections from server-side'
|
||||
group: Connections
|
||||
-
|
||||
oid: sysStatClientCurConns1m
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.1.2.1.79.{{ $index }}'
|
||||
index: 'sysStatClientCurConns1m.{{ $index }}'
|
||||
descr: 'Average current connections from client-side'
|
||||
group: Connections
|
||||
-
|
||||
oid: sysStatServerCurConns1m
|
||||
num_oid: '.1.3.6.1.4.1.3375.2.1.1.2.1.86.{{ $index }}'
|
||||
index: 'sysStatServerCurConns1m.{{ $index }}'
|
||||
descr: 'Average Current connections from server-side'
|
||||
group: Connections
|
||||
|
@@ -1,133 +0,0 @@
|
||||
<?php
|
||||
|
||||
// Power Status OID (Value : 0 Bad, 1 Good, 2 NotPresent)
|
||||
// Common States - F5 Power supply and FanSpeed State
|
||||
$states = [
|
||||
['value' => 0, 'generic' => 2, 'graph' => 0, 'descr' => 'Bad'],
|
||||
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'Good'],
|
||||
['value' => 2, 'generic' => 3, 'graph' => 0, 'descr' => 'NotPresent'],
|
||||
];
|
||||
|
||||
$temp = snmpwalk_cache_multi_oid($device, 'sysChassisPowerSupplyTable', [], 'F5-BIGIP-SYSTEM-MIB');
|
||||
if (is_array($temp)) {
|
||||
echo 'F5 power supply: ';
|
||||
//Create State Index
|
||||
$state_name = 'sysChassisPowerSupplyStatus';
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach ($temp as $index => $data) {
|
||||
$descr = 'sysChassisPowerSupplyStatus.' . $temp[$index]['sysChassisPowerSupplyIndex'];
|
||||
$current = $data['sysChassisPowerSupplyStatus'];
|
||||
$sensorType = 'f5';
|
||||
$oid = '.1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.' . $index;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, null, null, null, null, $current, 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
} // End foreach (array_keys($temp) as $index)
|
||||
} // End if (is_array($temp))
|
||||
|
||||
$temp = snmpwalk_cache_multi_oid($device, 'sysChassisFanStatus', [], 'F5-BIGIP-SYSTEM-MIB');
|
||||
if (is_array($temp)) {
|
||||
echo 'F5 FanSpeed State: ';
|
||||
//Create State Index
|
||||
$state_name = 'sysChassisFanStatus';
|
||||
create_state_index($state_name, $states);
|
||||
foreach (array_keys($temp) as $index) {
|
||||
$descr = 'Fan Speed Status ' . $index;
|
||||
$current = $temp[$index]['sysChassisFanStatus'];
|
||||
$sensorType = 'f5';
|
||||
$oid = '.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.' . $index;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, null, null, null, null, $current, 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
} // End foreach (array_keys($temp) as $index)
|
||||
} // End if (is_array($temp))
|
||||
|
||||
$temp = snmpwalk_cache_multi_oid($device, 'sysCmFailoverStatus', [], 'F5-BIGIP-SYSTEM-MIB');
|
||||
|
||||
if (is_array($temp)) {
|
||||
echo 'F5 FailOver State: ';
|
||||
//Create State Index
|
||||
$state_name = 'sysCmFailoverStatusId';
|
||||
$states = [
|
||||
['value' => 0, 'generic' => 3, 'graph' => 0, 'descr' => 'Unknown'],
|
||||
['value' => 1, 'generic' => 2, 'graph' => 0, 'descr' => 'OffLine'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'ForcedOffline'],
|
||||
['value' => 3, 'generic' => 1, 'graph' => 0, 'descr' => 'Standby'],
|
||||
['value' => 4, 'generic' => 0, 'graph' => 0, 'descr' => 'Active'],
|
||||
];
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach (array_keys($temp) as $index) {
|
||||
$descr = 'sysCmFailoverStatusId.' . $temp[$index]['sysCmFailoverStatusId'];
|
||||
$current = $temp[$index]['sysCmFailoverStatusId'];
|
||||
$sensorType = 'f5';
|
||||
$oid = '.1.3.6.1.4.1.3375.2.1.14.3.1.' . $index;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, null, null, null, null, $current, 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
} // End foreach (array_keys($temp) as $index)
|
||||
} // End if (is_array($temp))
|
||||
|
||||
$temp = snmpwalk_cache_multi_oid($device, 'sysCmSyncStatusId', [], 'F5-BIGIP-SYSTEM-MIB');
|
||||
|
||||
if (is_array($temp)) {
|
||||
echo 'F5 Sync State: ';
|
||||
//Create State Index
|
||||
$state_name = 'sysCmSyncStatusId';
|
||||
$states = [
|
||||
['value' => 0, 'generic' => 3, 'graph' => 0, 'descr' => 'unknown'],
|
||||
['value' => 1, 'generic' => 1, 'graph' => 0, 'descr' => 'syncing'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'needManualSync'],
|
||||
['value' => 3, 'generic' => 0, 'graph' => 0, 'descr' => 'inSync'],
|
||||
['value' => 4, 'generic' => 1, 'graph' => 0, 'descr' => 'syncFailed'],
|
||||
['value' => 5, 'generic' => 2, 'graph' => 0, 'descr' => 'syncDisconnected'],
|
||||
['value' => 6, 'generic' => 0, 'graph' => 0, 'descr' => 'standalone'],
|
||||
['value' => 7, 'generic' => 1, 'graph' => 0, 'descr' => 'awaitingInitialSync'],
|
||||
['value' => 8, 'generic' => 2, 'graph' => 0, 'descr' => 'incompatibleVersion'],
|
||||
['value' => 9, 'generic' => 2, 'graph' => 0, 'descr' => 'partialSync'],
|
||||
];
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach (array_keys($temp) as $index) {
|
||||
$descr = 'sysCmSyncStatusId.' . $index;
|
||||
$current = $temp[$index]['sysCmSyncStatusId'];
|
||||
$sensorType = 'f5';
|
||||
$oid = '.1.3.6.1.4.1.3375.2.1.14.1.1.' . $index;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, null, null, null, null, $current, 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
} // End foreach (array_keys($temp) as $index)
|
||||
} // End if (is_array($temp))
|
||||
|
||||
$temp = snmpwalk_cache_multi_oid($device, 'sysCmFailoverStatusColor', [], 'F5-BIGIP-SYSTEM-MIB');
|
||||
|
||||
if (is_array($temp)) {
|
||||
echo 'F5 FailOver State Color: ';
|
||||
//Create State Index
|
||||
$state_name = 'sysCmFailoverStatusColor';
|
||||
$states = [
|
||||
['value' => 0, 'generic' => 0, 'graph' => 0, 'descr' => 'Green: functioning correctly'],
|
||||
['value' => 1, 'generic' => 1, 'graph' => 0, 'descr' => 'Yellow: functioning suboptimally'],
|
||||
['value' => 2, 'generic' => 2, 'graph' => 0, 'descr' => 'Red: requires attention to function correctly'],
|
||||
['value' => 3, 'generic' => 3, 'graph' => 0, 'descr' => 'Blue: status is unknown'],
|
||||
['value' => 4, 'generic' => 0, 'graph' => 0, 'descr' => 'Gray: intentionally not functioning'],
|
||||
['value' => 5, 'generic' => 2, 'graph' => 0, 'descr' => 'Black: not connected to any peers'],
|
||||
];
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach (array_keys($temp) as $index) {
|
||||
$descr = 'sysCmFailoverStatusColor.' . $index;
|
||||
$current = $temp[$index]['sysCmFailoverStatusColor'];
|
||||
$sensorType = 'f5';
|
||||
$oid = '.1.3.6.1.4.1.3375.2.1.14.3.3.' . $index;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $oid, $index, $state_name, $descr, 1, 1, null, null, null, null, $current, 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
} // End foreach (array_keys($temp) as $index)
|
||||
} // End if (is_array($temp))
|
Reference in New Issue
Block a user