* Fix routing engine discovery on standalone JunOS devices
In #9426, the sensor discover code was replaced with YAML.
Unfortunately it treats the FRU table as standalone OIDs, and did not
implement the filtering that was present in the original code.
This change causes LibreNMS to fully walk the FRU table, which allows us
to silence alerting on devices with an 'unknown' status. Without this
change, standalone devices have a spurious routing engine with state 1,
which triggers false harware failure alerts.
As we're changing the name of the sensors, this causes a loss of sensor
history.
This has been brought up on community a couple of times:
https://community.librenms.org/t/juniper-qfx-routing-engine-state-alert/6152https://community.librenms.org/t/spurious-failed-routing-engine-from-some-junos-devices/6208
* Update test data
* Update test data
* Update test data
* Update test data
* This syntax works, but fails linting
* Add Advantech logo.
Taken from https://commons.wikimedia.org/wiki/File:Advantech_logo.svg
with minor edits (removed width and height).
* Add Advantech MIB files.
* Add Advantech definitions.
* Add suppor for version and hardware polling.
* Add advantech snmp recording.
* Add sensors for SFP ports
Each SFP will have temperature, voltage, tx bias, Tx/Rx power.
Also update snmp recording to include new data.
* Rename ADVANTECH-EKI-PRONEER-MIB_1_01.mib to ADVANTECH-EKI-PRONEER-MIB
* Rename advantech-common-mib.mib to ADVANTECH-COMMON-MIB
* Update advantech.yaml
* Update advantech.svg
* Create advantech.json
Co-authored-by: PipoCanaja <[email protected]>
* Added support for ICT Modular Power System and ICT Sine Wave Inverter
* Added SNMP test data for ICT Modular Power System and ICT Sine Wave Inverter
* Fixed styling errors and refactored state sensor for ICT Sine Wave Inverter
* Fixed newly created styling issues from refactoring ICT Sine Wave Inverter files.
* Fixed further styling errors from previous changed to appease Travis CI
* Removed unnecessary math from ICT Sine Wave Inverter voltage sensor
* Cleaned up unnecessary lines in ict-mps/ict-swi sensors. Moved from snmp_get to snmp_get_multi in ict-mps/ict-swi os pollers.
* Added test data for ICT MPS and SWI
* Fixed issue with load sensor not discovering
* Update snmpget to snmp_get
Co-Authored-By: Jellyfrog <[email protected]>
* Updated test data post-fixing sensor detection issue on ICT Sine Wave Inverters
* Moved ict-swi and ict-mps from legacy to yaml sensors
* Removed legacy code for ict-mps and ict-swi sensors
* Last commit mistakenly removed OS polling from ict-mps and ict-swi
* Fixed formatting for OS polling and updated test data for ict-mps and ict-swi
Co-authored-by: Jellyfrog <[email protected]>
* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* fixed corner case
* ascom support
* tests
* typo
* Correct missing 'mpls' in misc/os_schema.json
* remove mpls for now
* tests
* Update ascom.svg
* Don't disable already disabled modules
As I usually state, not much gain in disabling these here. Would be better to optimize the modules if you think they take too long on devices that don't have support.
* refactor polling code
Co-authored-by: Tony Murray <[email protected]>
* added functionality to set sysLocation override in $os.inc.php files
* php styling fixes
* updated docs for location override in $os.inc.php
* patch poweralert.inc.php to use $location override
* added location override for enexus (Eltek)
* update phpdoc for set_device_location()
* converged location code in core.inc.php to use set_device_location()
* added new snmprec test data for enexus os
* Travis test data
* remove enexus_smartpacks2 test data
* Revert "remove enexus_smartpacks2 test data"
This reverts commit 36c8fc7036.
* updated enexus_smartpacks2 test data with generic syslocation
* kick travis CI
* kick travis CI
* OPNsense better reporting of Version and Platform
OPNsense can now report exact version and platform, if the settings in OPNsense is ticked "Display Verion in OID".
* OPNsense poller change to better type check
OPNsense poller change to better type check on $OIDVersionString, which returns false if not found but contains string if it is.
* Add missing bracket to if statement
Add missing bracket to if statement on $OIDVersionString
* OPNsense poll add required spaces to function call
OPNsense poller add required spaces to function call, for coding style checks to pass.
* OPNsense test data json files
OPNsense test data json files
* Changed USV bypass state from alert to warning
* add /opt/librenms/tests/data/dell-ups_tower1000w.json
* add deltaups.json
* orvaldi-ups
* add generex-ups.json
* include two more generex-ups variants
* add eaton-mgeups_5px.json
* add tree more
* add istars.json
* restart hanging CI
* Adding support for Cisco SB SX550X-24F switch
This pull request adds support for Cisco Small Business SX550X-24F switch by adding sysObjectID .1.3.6.1.4.1.9.6.1.1001 in the ciscosb discovery module.
* Added ciscosb_sx550x-24f.snmprec file
* Added ciscosb_sx550x-24f.json
* Updated ciscosb_sx550x-24f.json
* update ciscosb_sx550x-24f.snmprec
* Collected new ciscosb_sx550x-24f.snmprec file
* updated test data
* Added rittal-cmc (LCP Plus)
skip_values opperand 'not_in_array' returns an error in pre-commit but in principal it's running. Can someone help?
1) LibreNMS\Tests\YamlTest::testDiscoveryDefinitionSchema
rittal-cmc.yaml does not validate. Violations:
[modules.sensors.fanspeed.data[0].skip_values[0].value] Array value found, but an integer or a string is required
[modules.sensors.temperature.data[0].skip_values[0].value] Array value found, but an integer or a string is required
[modules.sensors.temperature.data[1].skip_values[0].value] Array value found, but an integer or a string is required
[modules.sensors.temperature.data[2].skip_values[0].value] Array value found, but an integer or a string is required
[modules.sensors.temperature.data[3].skip_values[0].value] Array value found, but an integer or a string is required
* fix Scrutinizer Inspection
* fix codeclimate
* fix typo
* Update discovery_schema.json
To allow arrays in comparisons
* Control structures
* fix the pre-fix issues
* Typo in copy/paste
* Update rittal-cmc.json
* Unit1,2,3,4 and new snmprec, json have not changed
* Update rittal-cmc.json
Correct JSON data
* typo copy paste
Co-authored-by: PipoCanaja <[email protected]>
* Asterisk app: add IAX2 peer graphs
* It's an entirely new graph and will not break existing graphs.
* The asterisk extend script must be updated to provide the appropriate poller data.
* The PR for librenms-agent/snmp/asterisk is here: https://github.com/librenms/librenms-agent/pull/274
* code climate, round 1
* clarified unit text
* code climate, round 2
* changes needed to properly generate test data
* linux_asterisk-v1 test data
* Added WUT 57606,57613,57720
* Added os wut-*
* fixed MIB Names and try to generalize wut
* more general sysObjectID mapping, and mib directory
* Delete WUT-57606-MIB
* Delete WUT-57613-MIB
* Delete WUT-57720-MIB
* Rename wut-57613.snmprec to wut_57613.snmprec
* Rename wut-57720.snmprec to wut_57720.snmprec
* Rename wut-57606.snmprec to wut_57606.snmprec
* Delete wut-57606.yaml
* Delete wut-57720.yaml
* Delete wut-57613.yaml
* Delete wut-57606.yaml
* Delete wut-57720.yaml
* Delete wut-57613.yaml
* Update wut.yaml
* Try to correct the Temperature part
This should work for temperature, according to MIB. Pressure and Humidity are not described in this mibfile, so we cannot poll them.
* change wut.yaml
* Add and fix wut_57720
* after ./scripts/save-test-data.php ?
* Add test data
Co-authored-by: PipoCanaja <[email protected]>
* Migrate ironware sensor discovery from php to yaml.
* More sensors, add grouping.
* dynamic_discovery_get_value() becomes getValueFromData()
* Target a specific index with skip_values.
* Improve Brocade BGP session discovery/polling
This commit allows for the correct discovery of BGP sessions
with 32-bit ASNs, IPv6 neighbors using the BGP4V2-MIB which is
based on draft-ietf-idr-bgp4-mibv2-11 and also polls for IPv4
unicast received routes through the FOUNDRY-SN-BGP4-GROUP-MIB.
Copied most of the code from PR#8877 by @Mikeburke14, cleaned
up the code a little bit to match the normal LibreNMS style,
and fixed bgpPeers_cbgp discovery as well as polling for the
ipv4.unicast neighbors.
Note that older Brocade IronWare firmware versions are known
to have multiple defects relating to the BGP4V2-MIB which
might result in certain missing non-established neighbors.
Related vendor defect numbers:
- DEFECT000633962
-- Symptom: The OID bgp4V2PeerAdminStatus does not return the
correct value
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00g
- DEFECT000583319
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display all the BGP entries
-- Reported: NI 05.6.00
-- Resolved: NI 05.8.00e
- DEFECT000550309
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display the full information
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00c
* Add ironware CER & ICX platform test data.
* Re-add ironware.json compatible with current master branch.
* Fix Air Fiber port stats
Define OS port polling includes in a standard way.
Move Air Fiber code to os port polling include.
* Update snmp data
* fix accidental change
* Some formatting fixes
* should be null