* BATS support
* Removed disabled discovery modules
* Style change, more test data, removed unused rows
* Style correction LibreNMS/OS/Bats.php
* Removed old reference
* Another style correction add LibreNMS/OS/Bats.php
* Changed location info and temperature
* Style, again
* Style, again
* New testdata needed
* Fix wrong state color in discovery/bats.yaml
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Delete bats_bats.snmprec
* Update bats.json
* Update bats.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Procurve hardware description cleanup
Include part number and other details where available
Covers 100% of known sysDescr
Adds Aruba Instant On parsing
adds string replacements for OS fields
Could use hardware: ENTITY-MIB::entPhysicalDescr.1, but strings contain a lot of fluff and some are just "HP", I leave that for another PR
* restore .gitignore.........
* less specific
* Change regex cosmetically
* Add additional OpenBSD PF graphs
Some of these were already present for PFSense (matches, badoffset,
fragmented, short, normalized, memdropped) and reuse existing graph
types; the others are are added as new types.
* collect-snmp-data.php: support IPv6 hosts
* Add SNMP data for new OpenBSD OIDs
* Stack all OpenBSD PF drops into a single graph/rrdfile
* Pull additional drops in to pf_drops
The MIB descriptions don't say "drop", but reading the OpenBSD source:
c471a73b65/sys/net/pfvar.h (L1196)
it's clear that badoff, frag, short, and norm are all drop reasons.
Pull them in into the stacked drop graph, too.
* ./scripts/save-test-data.php -o openbsd -v pf
* Include device_graphs in saved os module test data
* Revert "Include device_graphs in saved os module test data"
This reverts commit a85c902fe9.
* Update to use SnmpQuery
Co-authored-by: Kevin Wallace <kevinwallace@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add ISIS discovery and polling for iosxe devices
* remove ModuleModelObserver
* add php stan exclusions as they are already present for the base module
* change port_id to cached lookup
* Create model object instead of using arrays and set properties directly
* remove unneeded space...
* remove null from non nullable field
* revert to extending from ciscowlc rather than os
* remove OS module
* remove phpstan exclusions and fix errors
* add spacing...
* add spacing....
* add spacing
* again...
* Add tests
* Update Iosxe.php
* Update IsisAdjacency.php
* Create 2022_04_08_085504_isis_adjacencies_table_add_index.php
* Update db_schema.yaml
* Update iosxe_asr920.json
* Update Iosxe.php
* Update Iosxe.php
* Update junos_mx5t_isis.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* STP fix, only try contexts on Cisco
Only Cisco is known to support this type of polling
* merge, not push.
* Fix collection construction
* Fixed the function signature in Interface def
* fixed signature here as well
* Lighter code to return a collection of Stp instances
* Type enforced in signatures
* missing implement for Cisco Class
* style
* Collection methods are immutable indeed 😠
* nullable vlan
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* 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
* Check for empty SLA tags so we skip bad entries
* getSlaTag always return string
* accidentally left line
* Update phpstan-baseline.neon
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add sla packet loss percent rrd graph
* Add packet loss percent div
* Add OID for NumPackets
* Fixed CDEF typo
* Rename graph file to include .inc
* Flipped axis for Src and Dst to match key
* Create new rrd file for loss percent
* Remove duplicate rrd data and rename rrd to reflect
* Amend to use second rrd file for NumPackets
* Removed spaces
* dbFetchRow be gone
* insert if statement check
* white space cleanup
* New line at end of file
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix missing mib_dir in definition
* Added state sensors
* snmprec data
* json data
* delete unused snmprec
* License and Author
* remove unused json data
* Fix style issues
* Fix more style issues coz im blind
* Fix more style issues coz im blind last
* Refactored
* Why do we loop?
* Fix style issues
* Update polling
* Refactor to use methods
* Fix a pair of style issues
* Updated test files
* Convert to yaml
* Wrong description on Mode
* Added another state + fixed some indexes
* Dunno what happened
* Fix for phpstan level 6
* Fix forstyleci
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix warnings up to Arbos
* fixes a-c
* a-r
* a-vrp
* There and back again
* Update test data, couple fixes
* PHPSStan fixes
* style fixes, and fix Asyncos, whoops
* flip serial back.......
* less bogus data
* Poweralert sysName during polling too
* make sure things are calculated in the correct order
* fix style and bad nullables
* update test data
* A comple more conversions
* cambium ptp, misc, and hardware_mib
* remaining except vmware-esxi
* Fixes
* Update baseline
* fixes and fix up baseline
* adjust SnmpQueryMock to upstream options change
* data corrections
* restore slashes
* correctly handle all options input in SnmpQueryMock
* undo ftos changes
* restore vccodec sysDescr
* fix latitude having an extra - in the middle after the decimal point
fix latitude having an extra - in the middle after the decimal point
* consolidate
* style
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Better handling of some alerting errors
* Better error output
* Consolidate simple template parsing
* Fixes reported by phpstan (one was a bug, yay!)
* add back forgotten trim
* don't remove the template if there is no match
* Match previous behavior, which was inconsistent.
* use anonymous class for tests instead
* Oopsie, Stringable is PHP8+
* fix style
* 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
* Correctly implement Wireless Sensors for Teltonila RUTX series routers allowing for hardware with multiple modems
Fix sensor warning limits based on hardware specs.
* Re-capture test data for new sensors
* Tidy style
* no message
* no message
* Update RutosRutx.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* don't hardcode index for Mikrotik LTE wireless statistics
* sync test data now that Mikrotik LTE index is no longer hardcoded
* sync tests data now that Mikrotik LTE index is no longer hardcoded
* fix whitespace
* sync test data now that Mikrotik LTE index is no longer hardcoded
* add test data for Mikrotik LtAP mini (aka RB912R-2nD)
* Re-write Routeros wireless code
It now works like most other devices
* fix style
* update baseline
* Remove station 60G rate
* use base unit of m, not km
* move interface stats name inside loop to avoid a walk when it does exist
* notification
* fix typo
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Rewrite netstats polling
As modern module
Don't use snmpgetnext as it can result in extra data returned
* remove copyrights on interfaces
* typehints
* fix silly backslashes
* endrun_updated_support
* Added requested changes
* Converted to yaml
* Fixed Tempus Features
* fixed test data (again)
* Update endrun_sonoma.json
* fix gitignore
* fix last gitignore
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Teldat: Wireless and GSM Basic Monitoring
* Teldat: Wireless IfIndex fix
* Teldat: Wireless and GSM tests
* minor comment correction
* Teldat: Wireless and GSM add json test data
* linter.warn: bugfix access_point_id = null, generally used for controllers, TELDATs are never controllers
* Teldat: Wireless and GSM tests replay results.
* linter.warn: fix#17 $entPhysicalMeasured expects float|int|null set to: null
* Teldat: Wireless and GSM some updates, bugfixes and lint updates as requested.
* linter : some more fixes...
* Teldat: Wireless and GSM, apply recommendations.
* minor styleCI fix.
* linter: fix
* linter: fix.
* Delete WirelessLteCellPolling.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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>
* Added SAF Integra-X support.
* Fixed discovery confusion between Integra-B and Integra-X.
* Removed a missed unusued use statement.
* Fixed CPU sensor issues related to MIB display hints throwing off math.
* Fix to Integra-X snmprec and test data.
* Removed older Horizon definitions
* Added Horizon Compact definitions via YAML.
* Added Horizon Duo definitions via YAML.
* Added Horizon Compact Plus definitions via YAML.
* Fixed issue with OID name casing for Horizon Duo EnetPort2CRC sensor
* Moved SNR/RSL/Tx Power to wireless sensor definitions.
* Reordered use statements to make StyleCI happy.
* Update with FortiAP
Add number of connected wireless client and number of connected FortiAP
* Add fortiAP support
* Update Fortigate.php
* tests
* style
* Update fortigate_500d.json
Test cannot run properly because of dependency between interfaces and OSPF ports.
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Initial Siemens Scalance X switch support
* updated mempool definitions to pass unit tests
* sysDescr parsing changes and MIB rename
* further sysDescr parsing cleanup
* test data updated after sysDescr parsing changes
* discovery yaml formatting
* processor and mempool discovery yaml redone in PHP to overcome snmptable issues
* StyleCI fixes to PHP
* StyleCI fixes to PHP
* StyleCI fixes to PHP
* incorrect file location after StyleCI fixes
* removed redundant processor discovery code