* 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
* Use model::class instead of string for binding
Originally from laravel shift
Shift bindings
PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.
* Shift cleanup
* lnms config:set improvements
--ignore-checks option
* Config option completion
Could use some more refinement, but needs device commands converted to Laravel
* fix whitespace
* Create addhostCliTest.php
Added test for addhost.php cli tool
* Added test for addhost function
Added tests and fixed code in order for the function to be able to run with default parameter
* Create addhostTest.php
added tests for addhost function
* Update addhostCliTest.php
Changed from testing addhost.php to Artisan command 'device:add'
* remove delhost exec
* remove delhost
* Remove isn't needed, transactions are used.
* Remove unneeded, transactions are used.
Co-authored-by: Tony Murray <[email protected]>
* Global Settings - Alert Default Settings
* Revert "Global Settings - Alert Default Settings"
This reverts commit a1af62b146.
* Widget Eventlog - Sensors link and overlib Image
* travis fix
* handling via AppServiceProvider
* collect function
* Travis ...
* static list of Sensor Types
* adding all sensor graph_types
* remove collect
* correct getTypes - remove change to lower case
* class sensor_descr switch
* class sensor_descr switch - revert
* Use standard sensor type names
* move types to attribute list
* going back to changes from 9eee7fad58
Co-authored-by: Tony Murray <[email protected]>
* Global Settings - Alert Default Settings
* Revert "Global Settings - Alert Default Settings"
This reverts commit a1af62b146.
* remove in, not_in cause of non functional
* Delete ports via eloquent event
Chunk delete during purge all operations so we don't use too much memory.
* protect against missing device
* fix whitespace
* fetch less from the database when deleting a device's ports
fix output
apparently GD now returns false when getting the bounding box of empty strings, this causes jpgraph to throw an incorrect error. Work around that by setting all possible text to a single space character.
* 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]>
* honoring config option `force_ip_to_sysname` in bill creation and editing
* refactored variable name to match it in edit.inc.php
* forgot one variable
* and one more :S
* Update new_bill.inc.php
* Update edit.inc.php
* Update new_bill.inc.php
* Update edit.inc.php
* Update edit.inc.php
* Update edit.inc.php
Co-authored-by: Neil Lathwood <[email protected]>
Co-authored-by: Tony Murray <[email protected]>
* Fix for Nokia 7705 SAR
* fix copy and paste typo
* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php
just trigger tests
* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php
* Update 2020_01_10_075852_alter_mpls_lsp_paths_table.php
Co-authored-by: Neil Lathwood <[email protected]>
* Add support for sending events to Sensu
Sensu is an alerting and monitoring service (and much more) that has a
nagios compatible check API.
This transport translates LibreNMS alerts into Sensu events, and sends
them to the agent API running on the same host as the poller.
The transport has a few options, but none of them are required - if the
Sensu agent is correctly configured, alerts will be sent as soon as the
transport is enabled.
There's a fair amount of code, as I've tried to translate as much data as
possible between LibreNMS and Sensu.
* Update Transports.md
* If alerted is 0, send an "ok" alert dated rrd.step / 2 seconds ago
This makes Sensu aware of the last time the check ran successfully (ish).
If we don't send the initial "ok", Sensu will either display 'unknown',
or an incorrectly high duration for the incident.
Alerted gets set to 1 after the first alert is sent.
We choose rrd.step / 2 as:
* rrd.step is the maximum time ago the check could have succeeded
* we halve it, so that if a check is flapping, it is not masked
Basically, we guess that the check fails around halfway through the time
since the poller last ran.
* Add additional metadata
* Improve codeclimate slightly
* Consider names that are 2 or 3 components long
* perform json_encode() on memcached app $response data to match update_application() string parameter
* return raw snmp_get result for memcached response data during update_application()