* STP module rewrite WIP
* Finish rewrite
* Ignore disabled and log root/topology changes
* Remove interfaces for now
* fix style
* Lint fixes
* Document ResolvesPortIds and hide map functions
* whitespace fixes
* Revert to stpInstances in case someone writes mstp support
* missed one
* phpstan fixes
* Handle table and oids separately
* forgot to register observer
* Test data and correct non-table handling in SnmpResponse->table()
* update test
* test data
* revert aos7 silly things
* minimal polling
* Update test data
* order ports_ntp and rename new field to port_index
* forgot the db_schema
* revert ciena-sds port things
* MSTP support, maybe
* Adding test data
* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data
* fresh data
* add os data
* update data, ignore unfound ports, obviously bad device implementation.
* fixes
* Ignore context files in os detection test
* Remove empty table data
* add ciena-sds vlan
* designatedCost column is too small
* Update stp webui
* Refactor code to interfaces, to allow vendor mibs
* update schema
* fix issues added by abstraction
* STP fixes
* Default to no context for vlan 1
* never store vlan 1
* Update test data
* remove eltex brokenness
* fix style
* fix stan
* Fix Rewrite MAC to Hex padding with floats
* fix sqlite migration
* Add ubiquiti Airfiber 60
* New AF60 data and MIB
* Stylci fix and small additions
* Update test data
* Stylefix
* Remove the weird ubiquity oids containing encoded mac addresses
* Updated test data
* Remove more complex sensors for now to be added after the conflict airos airos-af60 is solved
* Fix hardware and OS
* To be verified is this is the most practical / clean way of doing it
* Advanced wireless and MCS state sensor
* Fix link capacity multiplier and active link
* Test data update fix lint
* Maybe better
* added new sensors to mes23xx
* ci
* copy/paste error
* ci
* cleanup + testdata
* yaml
* yamlnew
* added [no_bulk] for PoE discovery
* fully qualified OID name
* q-bridge-mib, discover missing VLANs v2
* copy/paste typo fix
* Use SnmpQuery
* Switch from Vlan_x to VLAN x
* Cleanup
Revert accidental change
Incorrect table depth (even though the outcome is the same)
And test data that was explicitly Vlan_
* fix test data
* update routeros_vlans
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Catch all module errors
As of PHP 7.1, we can now catch errors and exceptions by catching throwable.
Also, log the errors in a consistent way with the entire stack trace
* Log event and improve messages
* call from facade because event might not exist on logger
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Catch exceptions in device ip lookup
* Revert accidental snmp.inc.php poller target change
(should have been ?: not ??)
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Raspberry Pi: Add SNMP extend to monitor IO pins or sensor modules connected to the GPIO header
* Raspberry Pi: Add new test data
* Raspberry Pi: Make styleci happy
* Raspberry Pi: Fix some more style issues
* Raspberry Pi: Use d_echo for array debug
* Raspberry Pi: Prevent processing if the extension is not present
* Raspberry Pi: Make styleci happy
* Raspberry Pi: Update test data
* Raspberry Pi: Remove debugging
* Add Processor discovery for Dell PowerConnect 28xx
* Add Temperature discovery and cleanup code
* Add test data for PowerConnect 2824
* Add Serial Number
* Don't add VLANs as Ports
* Revert "Don't add VLANs as Ports"
* Remove invalid mempool from tests
* Introduce OS flag to support devices that deliver OIDs out of order
* Add MIB for Bintec Be.IP Plus
* Add YAML definitions for Bintec Be.IP Plus
* Add Bintec be.IP plus test files
* Rename bintec mib files
mib-standards.mib was deleted, because it included definitions that also
existed in separate files
* Add test data
* Remove standard mib files from bintec dir
* Add regex to parse Bintec Be.IP Plus OS version
* Update test data for Bintec Be.IP Plus
* Calculate Bintec Be.IP Plus CPU load from inverse of idle time
* Improve Bintec Be.IP Plus discovery and tests
* Use MIB instead of numerical OIDs where possible
* Update tests to comply with updated discovery
* Remove unused MIBs
* Remove json props that let tests fail
* Update Settings.md
* Remove `snmp_out_of_order_oids` definition from bintec-beip-plus
* Add `-Cc` snmp param for prots module
* Add `-Cc` snmp param for arp-table module
* remove snmp_out_of_order_oids
* Remove snmp_out_of_order_oids
* Update snmp.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Core module WIP
* update OS::make()
* core WIP
* try to finish up
* switch all core do os Model
* Mock WIP
* Working tests
* cleanup
* phpstan fixes
* style fixes
* fix agent
* trim space too
and a couple of cleanups
* corrected ios test data
* missed space
* update test data
* put escapes back
* another net-snmp difference
* Fix class description
* revert snmp.inc.php change, that can be a different PR
* revert snmp.inc.php change, that can be a different PR
* Modified SQL delete for is NULL instead of = null
* Fixed spacing
* Fixed more spacing issues
* Replaced double quotes with single quotes for echo statement
* Fixed more spacing issues
* Modified null vrf db check to match vrp.inc.php
* Clean up comments
* Modified git username to fix CLA
* Revert bgp-peers.inc.php
Co-authored-by: Kate Robinson <katerobinson@KateRobinson-imac.local>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Remove load_os and load_discovery functions
Put bits where they belong and use $os
* remove extra line return
* OS loading code in the wrong place
* fixes
* line
* Use Measurements for all statistic collection
* fix space
* Use colors
cleanup
* fix style
* manually fix license notice
* add return times and new line
* add return times and new line
* fix mistake in copyright template
* fix style
* Fping WIP
* Update availability, move ping rrd update in the same place as db update.
* move classes around
* make device:ping command work
* use new code, remove legacy code
* save metrics boolean prevents all saves
style fixes
* update device array
* style fixes
* Update unit test
* fix whitespace
* Fix Fping stub
* fix backwards if
* fix phpstan complaining
* Fix return type
* add fillable to DeviceOutage model.
* device_outage migration to add id...
* missed line in db_schema.yaml
* 1 billion more comments on the brain damage up/down code
* tests for status and status_reason fields
* fix style again :D
* Duplicate legacy isSNMPable() functionality
but with only one snmp call ever 😎
* Remove unused variable
* fix migrations for sqlite
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET
Please save us all and just use UTF-8
* style fixes
* less Yoda
* ensure return type
* fall back to passed string
* don't convert strings with any unprintable characters (such as line return)
* Update LibreNMS/Util/StringHelpers.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Fix CP850
* fix space
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add power consumed
* Revert "Add power consumed"
This reverts commit 424554ac04bd340de2fd962cb6808045024ef783.
* Start with tempsensorts aus some states
* Inventory data
* Convert plugins to Blade
* Revert "Convert plugins to Blade"
This reverts commit 8d1d3ff5b1.
* fix style
* Add FANs and Powersupplies
* fix style
* add test data
* add a short description for the doc
* refresh Testfile