* Added support for Ubiquiti UFiber OLT
* Fixed php files with port detection
* Added missing MIB file
* Fixed test data
* Fixed php script to detect ports compatible with php 8.1
* Fix styleci
* Enforcement of new control styleci
* Apply fixes from StyleCI
* Port detection override
* Changed all "Entry" to "Table".
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Update ports test data to match current data
* fix timos_hc
* update aos7
* Update ciena-sds data, I don't think it works when you run just the ports module by itself...
* update ciscosb_cbs250-24p-4x.json
* restore fortigate
* restore luminato_4x4
* restore luminato_c12.json
* restore timos
* restore timos_7705.json
* Newer iDrac includes empty dimm slots in the memoryDeviceTable
creating ', 0 MB' state sensors. Work around this by not discovering
entities that don't have descr_oid.
* Create drac_3.json
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Added printer support to Samsung M4080FX which appears as generic
* Added printer support to Samsung M4080FX which appears as generic
* Create samsungprinter_m4080fx.json
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Eloquent for 2 requests
* Eloquent for 1 request
* a few in Dell
* Model
* and more with timos
* and more with timos
* and firebrick
* firebrick
* one query instead of many
* Should use collection get
* Update timos.inc.php
* Update dell-os10.inc.php
* avoid changing timos as it breaks something
* new try with timos
* deps for BGP
* revert deps for BGP
* style
* style
* deps for BGP, 2nd try
* typo
* revert aos7
* fix create
* firebricktests
* firebrick
* firebrick
* cipsec-fix
* cipsec
* timos fix 100th time :)
* ./scripts/save-test-data.php -m os,ports,processors,mempools,vrf,sensors,bgp-peers,mpls,ospf -o timos -v 7705
* remove timos from this PR
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Added status checks for (BWCC) battery status and condition for onboard and PCIe RAID-controllers.
Added SNMPsim testfiles for iLO 4 and iLO5 with these changes.
* Added JSON test files.
* Masked serial numbers in SNMPrec files.
* Updated discovery description for battery condition.
* Updated masked SNMPrec file.
* Started UHP VSAT support
* continue uhp
* end of day
* uhp support
* fixed icon / logo
* cleanup
* added test data
* Delete Uhp.php
If the file is empty let's delete it
* added test data
* Update uhp.yaml
spacing fix
* Fixed identation
* New test data
* Fixed
* styling
* fix
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* use component to discover if xDSL polling is needed
use component to discover if xDSL polling is needed
* Components OK, Polling in correct files, no DB for VDSL
* GUI
GUI_suite
* per port as well
* rename
* interface listing
* draytek_snmpsim
* fix arraymerge
fix names and max value
* schema
schema
style
* remove one dbFetchRows
remove 2x dbFetchCell
style
style
remove Legacy dbFetchRow
tests
tests
eloquent
more eloquent
more eloquent
one more gone
* fix properties access
eloquent_insert_update
style
tests
tests
tests
tests
* tests
tests
tests
* adslLineCoding
* Models
* fix not nullable cols in DB from code
default values
typo
rename
typo
schema
fix
fix
vdsl fix now
typo
typo
fix size
fix size
* Power values for VDSL
Power values for VDSL
Power values for VDSL
DB
* cleanup
* Rrd::checkRrdExists
* always enable DSL discovery
style
* xdsl module
* cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
* Fix display
* fix polling and tenth
* remove legacy poller
* Style and Cosmetics
Cosmetics
Cleanup
* Translations
Translations
* exists
exists
* add test support for xdsl
* remove last component call
unused
* translations
* remove non standard onclick event on xdsl line
* Update Discovery Support.md
Update Poller Support.md
toner_gone
* Notification for removal of lnms config:set enable_ports_adsl true
* enable on devices with potential DSL interfaces
* tests are working now
fix teldat tests
* os_schema
* teldat
* move to new module structure
* move to new module structure
* wrong dump function
* wrong dump function
* laravel_through_key hidden
* Update notifications.rss
* Update notifications.rss
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add other RAM partitions
F5 does partition its RAM, display other partitions, see https://support.f5.com/csp/article/K44014003
* Create f5_ve-14.1.5.1.snmprec
* Create f5_ve-14.1.5.1.json
* Add Cisco flash storage discovery
* Add Cisco flash storage polling
* LibreNMS indentation
* Move file to storage module
* move file to storage module
* Rename and check
Rename the file and add a check only against Cisco devices
* Rename file
* Change parameter from mib name to file name
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add a first test file for review - Nexus C9340 NXOS ver 10.2.2
* Add first device test files for review - Nexus 9340 ver 10.2.2
* Add Cisco IOS 15.2.7 on C2960X snmprec file
* Add Cisco IOS 15.2.7 on C2960X test data file
* Create nxos_n5548-7.3.3.snmprec
* Create nxos_n5548-7.3.3.json
* Update nxos_n5548-7.3.3.snmprec
* Update nxos_n9340-10.2.2.snmprec
* Update ios_c2960x-15.2.7.snmprec
* Update nxos_n5548-7.3.3.json
* Update nxos_n9340-10.2.2.json
* Update ios_c2960x-15.2.7.json
* Update cisco-flash.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix Undefined variable/key warnings
* massage for test data
* restore set_numeric, only generates noise
* Fix ucd storage used (apparently free is not stored in discovery...)
* Fix legacy os extend support
Now compatible with oids that could have been used by older software:
extend .1.3.6.1.4.1.2021.7890.2 hardware
extend .1.3.6.1.4.1.2021.7890.3 manufacturer
extend .1.3.6.1.4.1.2021.7890.3 vendor
extend .1.3.6.1.4.1.2021.7890.4 serial
And correct the oids for VERY old exec options.
* Convert to SnmpQuery and convert some numeric oid to textual
* MIB-Dell-10892::chassisServiceTagName.1 is discovered already in ServerHardware trait, no need to double fetch
* OIDs were previously mixed up, fix data
* add new poller
* add a missing ;
* formatting cleanup
* graph stuff and metrics move
* add rrd name
* clean up metrics/rrd def
* more metric/rrd def cleanup
* cleanup
* add basic opensearch graphs
* add opensearch to apps.inc.php
* begin work on opensearch app page
* formatting cleanup
* add translog graphs
* add a missing graph
* fix pending tasks
* add the ability to fetch the saved cluster name
* add fetching the cluster name
* correct the opensearch comment
* add combined shard stats
* add indexing graphs
* correct graph name
* correct some units as being per second
* add more graphs
* add more items for graph sets
* cleanup of units and naming... also more graphs
* more graph stuff
* change the RRD def again and define a few more graphs
* finish basic graph sets
* more graph stuff
* another rrd def change
* add more graphs
* add some more graph sets
* correct unit for c_task_max_in_time
* more graph stuff
* more graph stuff
* correct the unit
* add missing tw_time and another rrd def change
* another unit change
* add trc graphs
* more graph stuff
* add tseg graphs
* add all shards graph to both cluster items
* more graph stuff
* update opensearch app page
* add Opensearch\Elasticsearch app
* add opensearch tests
* run php-cs-fixer on two files
* add alert examples for checking cluster status
* remove an item that was accidentally added as a metric in the test but is not
* derp! thanks jellyfrog
* make it come up as Elisticsearch\Opensearch in the webui
* no longer use components, but app_data, for cluster name change
* update the web side for opensearch for using app_data
* style fix
* update opensearch for new app data stuff
* update to the new Application model
* update poller and device app page for ES/OS
* style cleanup
* update graphs
* test fix
* more test cleanup
* Update alert_rules.json
* begin work on breaking out the RRDs
* update all non-multi rrd graphs for opensearch
* update time_all
* add a unass shards graph
* correct rrd name
* should all be good now
* add missing tm stats
* Un Assigned -> Unassigned
* style cleanup
* another style fix
* remove cluster_name from saved metrics as it is not a metric
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* 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>
* Update ns-bsd.yaml since SNS updated LTSB 3.7.19
Since the LTSB version of the stromshield OS in 3.7.19 (and also in last version in 3.7.20) the stormshield firewall are seen as a generic device.
The objectID in the MIB as change from ".1.3.6.1.4.1.8072.3.2.8" to ".1.3.6.1.4.1.11256.2.0"
see https://github.com/librenms/librenms/issues/12915
Tested on SNS 3.11.10
* Update ns-bsd.yaml for new and old sysObjectID
The sysDescr contain the serial number, exemple NS-BSD SN510XXXXXXXX amd64 so we need to keep the regex
* Update ns-bsd.yaml
* changed the array to multiligne
* Create ns-bsd.snmprec
* Update ns-bsd.snmprec
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix for extracting sensor value from string in poller
* Remove duplicate code
* Update microsemitime.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add sagan instance fetch function
* add sagan discovery
* add sagan poller
* add sagan graphs
* add graph sources
* add sagan to apps page
* remove alert
* more app graph work
* polling fix
* re-order keys and add alert key
* correct field key usage
* add alert and fix a missing unit
* more unit fixes
* add alert status
* add alert rules for sagan
* fix a missing : after S while I am here in the json stat tool helper... also add tests
* now add the tests
* add docs
* point php-cs-fixer at two files
* remove-unneeded sagan instance fetch function
* convert to use app_data
* style fix
* apply bennet-esyoil's suggestions here as well
* update for the new app model
* convert poller to the new method
* convert the sagan device app page
* convert sagan
* doc cleanup
* Added support for CheckPoint 1450 & 1490 models.
* Added test data for CheckPoint 1100, 1450 & 1490 models.
* Make change
* Moved sysObjectID to the right place.
* Update gaia.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* initial work on add the ability to save/fetch app data
* update to use get_app_data for ZFS
* update the poller for the new app_data stuff
* ZFS now logs changes to pools
* add schema update for app_data stuff
* small formatting fix
* add a missing \
* now adds a column
* sql-schema is no longer used, so remove the file that was added here
* misc cleanups
* rename the method in database/migrations/2022_07_03_1947_add_app_data.php
* hopefully fix the migration bit
* add the column to misc/db_schema.yaml
* more misc small DB fixes
* update the test as the json column uses collat of utf8mb4_bin
* revert the last change and try manually setting it to what is expected
* remove a extra ;
* update suricata as well
* correct the instance -> instances in one location to prevent the old instance list from being stomped
* remove a extra ;
* update fail2ban to use it as well
* remove two unused functions as suricata and fail2ban no longer use components
* style cleanup
* postgres poller updated to use it
* update html side of the postgres bits
* chronyd now uses app data bits now as well
* portactivity now uses it as well
* style fix
* sort the returned arrays from app_data
* correct log message for port activity
* collocation change
* try re-ordering it
* add in the new data column to the tests
* remove a extra ,
* hmm... ->collate('utf8mb4_unicode_ci') is not usable as apparently collate does not exist
* change the column type from json to longtext
* mv chronyd stuff while I sort out the rest of the tests... damn thing is always buggy
* hmm... fix a missing line then likely move stuff back
* style fix
* add fillable
* add the expexcted data for fail2ban json
* escape a " I missed
* add data for portactivity
* add suricata app data
* add app data to zfs legacy test
* put the moved tests back into place and update zfs-v1 test
* add app data for chronyd test
* add app data for fail2ban legacy test
* update zfs v1 app data
* add some notes on application dev work
* add Developing/Application-Notes.md to mkdocs.yml
* add data column to it
* added various suggestions from bennet-esyoil
* convert from isset to sizeof
* type fix
* fully remove the old save app data function and move it into a helper function... the other still needs cleaned up prior to removal
* update docs
* get_app_data is fully removed now as well
* a few style fixes
* add $casts
* update chronyd test
* attempt to fix the data
* more doc cleanup and try changing the cast
* style fix
* revert the changes to the chronyd test
* apply a few of murrant's suggestions
* document working with ->data as json and non-josn
* remove two no-longer used in this PR exceptions
* ->data now operates transparently
* style fix
* update data tests
* fix json
* test fix
* update the app notes to reflect how app data now works
* app test fix
* app data fix for linux_lsi
* json fix
* minor doc cleanup
* remove duplicate querty and use json_decode instead
* style fix
* modelize the app poller
* use a anon func instead of foreach
* test update
* style cleanup
* style cleanup
* another test cleanup
* more test cleanup
* reverse the test changes and add in some more glue code
* revert one of the test changes
* another small test fix
* Make things use models
Left some array access, but those will still work just fine.
* missed chronyd and portactivity
* rename poll to avoid make it any confusion
* Remove extra save and fix timestamp
* save any changes made to app->data
* nope, that was not it
* What are magic methods and how do they work?
* fix two typos
* update linux_lsi test
* change quote type
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fetch and store upsBasicBatteryLastReplaceDate
For APC USV, sensor class is 'runtime'
* Change type string for battery's life time
* Change limits to meaningful values, remove debug output
Limits are 4 (warn) and 5 (critical) years, using our own experience.
* Add time calculation for battery life time during polling
This means that the received date is subtracted from current
time, the difference is stored as minutes, just like with discovery.
* Improve sensor description/label (again)
* Correct label for battery's life time to “operating time”
* Add test data for APC UPS to test new used OID
OID for the last battery exchange date, which is used
for calculation the operation time.
* Changes for styleCI
* Fix more files for styleCI
* Remove a duplicated empty line (styleCI)
* Update test data
* 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 support for Cisco Nexus 3550-F (formerly Exalink Fusion) devices
* Refactor to refer to the Exalink Fusion as the Cisco Nexus 3550 (post m&a of Exablaze by Cisco) as well as use YAML based OS discovery
* Rename Cisco N3550 ports include
* styleci fixes to n3550 ports include
* Correct N3550/Exalink OS discovery and improve tests
* Improve N3550 OS discovery and poller support
* styleci
* Rename Cisco Nexus 3550 OS from ciscon3550 -> exalink-fusion
* Update file header
* Improve support for legacy Arista/Metamako MOS devices
* Fix indentation in license text
* Fix formatting in OS discovery
* Add hardware type discovery for Arista/Metamako MOS
* style fixes
* Implement hardware model detection for Arista MOS
* Refactor to use YAML based OS discovery
* Reformat test data for arista-mos_metamux48, 0.16 code
* Enable lm_sensors polling of Arista MOS devices
* Remove bgp-peers data from arista-mos test files
* Add Cumulus-BGPUN-MIB
* Add bgpPeerIface column into bgpPeers table
* update mysql database for BGP unnumbered support
* Rename BGP unumbered MIB for Cumulus
* remove duplicate Cumulus BGPUM mib
* Use custom BGPUN minb for Cumulus while polling bgp peers
* Update BGP peers discovery for Cumulus with unumbered support
* Update BGP peers polling for Cumulus with unumbered support
* Correct typing error
* Add BGP unumbered Cumulus tests units
* Remove unused SQL file
* Update migrations databse by adding bgpPeerIface into bgpPeers table
* Correct spacing error for continous integration
* Update DB column bgpPeerIface to point to ifIndex
* fix: bgpPeerIface column exist
* fix: use Eloquent instead of dbFetch deprecated
* fix: delete unused namespace
* fix: type bgpPeerIface
* fix: add root cumulus mib lacking
* move root cumulus mib into mibs/
* fix: missing root cumulus MIB
* fix: bgpPeerIface not expected for other OS
* fix: add bgpPeerIface into json tests for other OS
* fix: add bgpPeerIface for poller tests OS
* add relathionship between bgpPeers and Ports tables
* Revert "fix: bgpPeerIface not expected for other OS"
This reverts commit f979482106.
* fix: HasOne not imported
* fix: CI php placement of use line
* fix: bgpPeerIface has not default value
* updates way to fill bgpPeerIface
* remove relationship between BgpPeer and Ipv4Address/Ipv6Address
* fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
* updates cumulus tests
* updates bgpPeerIface already filled
* fix : bgpPeerIface wrong ifIndex
* fix: update cumulus test for polling bgpPeerIface
* fix: CI PHP syntax
* fix: update cumulus test for polling bgpPeerIface
* fix: update cumulus test for polling bgpPeerIface
* Fix Fortigate Test
* Tests
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Fix IPv6 in service check host (#13939)
* Add hostName cleaning to Clean
* Apply RFC 5952 formatting to Clean::hostName output
* Use more liberal cleaning for hostnames
* Remove unwanted whitespace
* Apply Clean::hostName() to all relevant fields
* Fix docstring
* Use IP::isValid inline
* Update Clean.php
* Update services.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix avtech 12E environment sensor
Updated MIB for newer internal sensor object schema in 12E models.
Updated discovery yaml file to retrieve temperature and humidity
data from internal and digital sensors.
Added test data for roomalert12e model.
Co-authored-by: Sander Steffann <sander@steffann.nl>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add poller
* add a generic alert graph
* add support for .total
* add the initial work on the suricata app page
* add applayer flow sources
* more rrd work and add more fields
* add a missing graph to the suricata page
* add suricata to the apps page
* all working now for suricata
* add some suricata alert examples
* all done with the php
* update the application docs for Suricata
* add another note about Suricata stats in the docs
* add the test file
* add the test JSON
* remove a unneeded newline from the appication docs
* correct the type uptime type
* packets graph should by packets/sec
* minor formatting cleanup
* one more minor formatting cleanup
* shot in the dark to see if something fixes the angry linter
* fix snmpsim file
* add metrics
* add values to the metrics
* add a missing comma to the json
* add a missing line to snmprec and cleanup json a bit
* a few more minor changes to see if this makes it happy... regened via scripts/json-app-tool.php
* see if this will make it happy
* add suricata to app discovery and hope that fixes it... take a shot in the dark as to why the linter errors strangely on two of the files
* fix json
* add a missing ] to the json
* rename two graphs so it does not trigger one alert and add a missing metric
* whoops, *_alertString is not a metric
* FS OAP OEO and EDFA mibs
* definitions and discovery yaml
* current dbm state temperature and voltage updates
* update on poller and discovery modules
* test data
* removing unneeded pollers and discovery modules as requested
* update to os test data
test data now reflects fs-nmu details instead of module details as module may not be present at previous oid or module may not be present at all in the device
* OS update and Test Date Updates
* channels numbers
* removal of default true poller and discovery modules
* reintroduced previous OEO module data
* StyleCI fixes
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* 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>
* Add support for PrimeKey Hardware Appliance
https://doc.primekey.com/ejbca-appliancehttps://doc.primekey.com/signserver-appliancehttps://doc.primekey.com/ejbca-appliance/operations/webconf-configurator-of-hardware-appliance/monitoring
* Correct off-by-one error for Galera states
* Add load multiplier
* Don't poll transaction ID, it's too messy
* Tabs -> spaces
* Don't modify system load. (Is this a %age or not?)
* CUP moves Load -> Count
* CPU moves Load -> Count
* Now I have MiBs. Attempts to use them are to date unsuccessful
* Removed numeric oids entirely
I'm not sure how easy it will be to conver this to YAML.
* Formatting
* More formatting
* Numeric it is
* Fix States
* Numeric oids
* Shorten Descriptions
* Add DB threshold
* Percent -> Yaml
* Temperature -> Yaml. Relaxed num_oid validation
* Fanspeed -> Yaml
* Volgate -> Yaml
* Count -> Yaml
* State -> Yaml
* Tweak snmp_flags
* minimize icon
* Check if first_word function is required
* Incorporate feedback
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add DBm and State Sensors
Added extra MIB files
Added Dbm levels on ports
Added Stacking State Sensors
* Added include for zynos.inc.php
File patch - includes/discovery/ports/zynos.inc.php
* Create ZYXEL-STACKING-MIB
Official Zyxel MIB
* Create ZYXEL-TRANSCEIVER-MIB
Official Zyxel MIB
* Added test file zynos_xgs4600.json
* Create zynos snmprec test file
* CENSORED zynos_xgs4600.json
* Created new polling file for Zynos ports
Converts zynos SWP port style to be 1/1 style
* Created new discovery for Zynos ports
Changes zynos SWP ports to be 1/1 style during discovery
* Fixing ci complaints in discovery/ports/zynos.inc.php
* Fixing ci complaints in polling/ports/os/zynos.inc.php
* fixing more ci complaints in discovery
* Updated Zynos.snmprec
* Updated zynos.json
* Updated zynos.json
* Removed ifDescr pre-cache
* Removed pre-cache from zynos.yaml
* Reverted zynos.snmprec
* Restored zynos.json
* Updated zynos polling to use zeropad
* Updated zynos discovery to use zeropad
* Updated zynos.yaml
Updated zynos.yaml to include ifname: true to change port names and added '/^ZyXEL/' to sysDescr_regex
* Update zynos.inc.php
* Update zynos.inc.php
* Update zynos_xgs4600.json
* Update zynos_xgs4600.snmprec
* Re-Generated Zynos.json
* Fixed ifOperStatus in Zynos.json
* Delete zynos.inc.php
* Update ports.inc.php
* Added new test data
* Updated zyxel test data and discovery
* Update ports.inc.php
* Update zynos.snmprec
* Updated zynos.json
* Update Zynos.json
* Fix StyleCI issues
* Update zynos.json
* Update zynos.json
* Update zynos.json
* Updated zynos mgs3712.json
* Update zynos_mgs3712.json
* Added back old SFP discovery
-SFP Temperature
-SFP Voltage
* Fixeed Hardware and Versiondetection for US-8 and USW-Switches with Version 5
It seems that the same model and same firmware version respond with different SNMP-records, depending on Hardware revision. This should be more general
* removed "linux" from version string in some cases
Changed regex for better version isolation and updated test data
* Update edgeswitch.yaml
Corrected the edgeswitch Test-Version detection. It seems that there are 4 cases :(:
USW GigaBit Ethernet Switch, firmware 5.76.7.13442
US-8, 5.76.7.13442, Linux 3.6.5
USW-Flex 5.76.7.13442
EdgeSwitch 24-Port 250W, 1.0.1.4720839, Linux 3.6.5-f4a26ed5
* Removed false change. Changed 8XP test data
Removed false change. Changed 8XP test data
* ' -> "
' -> "
* Update vertiv-pdu.yaml
VERTIV-V5-MIB states UNITS "decivolts (rms)" for pduPhaseVoltage
* Update vertiv-pdu_mn03edr1.json
Updated test data
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* Add EntityVoltage Sensors
* Add BoardPower Sensors
* Add Fanspeed Percent sensor
* Add Voltage_Status and Temperature_Status Normal|Minor|Major|Critical indicators, and internal Voltage and Temperature sensors
* set Minor alarm violations to warning status
* remove inconsistently applied empty lines between sections, and trailing newline that caused errors
* fetch thresholds for temperature.sensors and optical.RxPower from SNMP
* Added snmp testfiles for ne8000-m8 variant of VRP platform
* group sensors by card-identifier
* Regenerate testfiles for 5720-32x-ei
* Regenerate testfiles for the whole VRP family
* Optical Bias is reported as miliamps-mA, and not microamps-uA
* Implement divisor detection, VRP or NE8 prepended on sensor for debug-testing
* remove VRP or NE8 prependeds on sensors(put there for debug/testing only)
* use parent OIDs for walking and naming
* ignore per-slot power if unsupported
* regenerated snmp json testfiles
* sanitize bgp-peers value
* restore vrp.json test
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Add initial support for Lenovo ThinkStation server
* Initial Support for Lenovo ThinkStation Server - detection rules
* Lenovo ThinkStation MMIB Files
* Added test data for Lenovo ThinkStation
Model SR250
* trying unit test fix
trying to correct unit test failures
* Revert "trying unit test fix"
This reverts commit 7f44689e8a.
* Create lenovoXClarityIMPI_lenovoxcc.snmprec
Added snmprec
* Update lenovoXClarityIMPI.yaml
Removed Null-Value (over) in yaml
* Update lenovoXClarityIMPI.yaml
Fixed typo
* Update lenovoXClarityIMPI.yaml
Fixed another typo in os yaml
* Update lenovoXClarityIMPI.yaml
Added {{ $index }} and removed skip_values
* Update lenovoXClarityIMPI.yaml
Added index in yaml
* Update lenovoXClarityIMPI.yaml
* Update lenovoXClarityIMPI_lenovoxcc.json
* Update lenovoXClarityIMPI_lenovoxcc.json
* Updated detection rule
Removed N/A skip, removed unecessary state_name.
Removed $index in oid, because otherwise the detection fails for some reason
Excluded num_oid because otherwise the poller fails to detect the values.
* Code improvements and test data
I've implemented what I've learned from my Fujitsu pull:
- added test data
- corrected MIB file names and folder
* Code improvements
Removed an empty array and two empty lines.
* Code improvements
* Delete LENOVO-SMI-MIB DEFINITIONS
This file is named wrong and we already have `LENOVO-SMI-MIB` so looks to be duplicated
* Changed OS name
Changed OS name
* Fixed test data for os name change
* Update LENOVO-PRODUCTS-MIB
Reupdated Lenovo-Products-MIB to 2017er Version
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* 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
* Fix Temperature Sensor for AirOS 8
* Update airos_airos8.json
* Update airos.json
* Add new skip_values feature to deal with Ubiquiti nonsense.
Tweak test data to test the change
fix not_regex
Co-authored-by: Tony Murray <murraytony@gmail.com>
* added new sensors to mes23xx
* ci
* copy/paste error
* ci
* cleanup + testdata
* yaml
* yamlnew
* added [no_bulk] for PoE discovery
* fully qualified OID name
* forcewalk param
* [snmp][no_bulk]
* var names, test, schema
* Key off OIDs, not mibs
luminato is POC and needs to be reverted before merge.
* fix up os schema
* docs
* remove luminato arbitrary changes
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Initial Support for Fujitsu RX300 with iRMC4
Initial Support for Fujitsu RX300 with iRMC4 (might work for other servers, too)
* Fixed Typo in power consumption
* Changed MIB-Name and added sysDescr for more granular detection
* Update fujitsuiRMC_rx300.snmprec
changed serial to a generic one
* Update fujitsuiRMC_rx300.json
Updated to use correct serial number
* Update fujitsuiRMC_rx300.snmprec
* Update fujitsuiRMC_rx300.json
* Tried to create a discovery yaml with valid num_oid and valid test data
* Update fujitsuiRMC.yaml
removed remaining index parameter (forgot them from previous testing)
* Update fujitsuiRMC_rx300.json
Updated test data to reflect recent changes
Co-authored-by: Neil Lathwood <gh+n@laf.io>
* Initial commit of DCP-M
* Match on system name DCP
* Fix matching regex
* Add pre-cache and dbm discovery
* Show dbm graph
* Adding snmpsim data
* Fix styleCI issue
* Detect dcp-m mib
* DCP-M Progress
* Fix CI issue
* Removing pre-cache and dbm files
* Do not include empty tables in test data
* empty data is simpler to check now
* Update test data
* revert comment options that block update all test data
* clean existing data
* fixes
* another fix
* remov extra sensors???
* why is that using that ip...
* missed an empty table
* missed one
* restore ftos
* revert another ftos
* revert ird
* restore timos
* restore timos_7705
* oops
* double oops
* timos mpls
* timos_hc
* another timos_hc fix
* Smartax supports IF-MIB, skip custom discovery and fix polling GPON ports in and out traffic
* This file seems to break GPON port polling on SmartAXes firmware versions R017 and R018, deleting the file fixes GPON polling
* Added necessary test files so that polling tests do not fail
* 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>
* 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>
* Initial discovery for APC EPDU1132M
* Rename current APC ePDU model to specific
* Add more conditions to test
* Ignore APC ePDU
* Add version field
* Update version in test file
* Add JSON test data
Also remove hostname (was literal question mark), was causing issues
* 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
* Init work on rutos-3xx
* Add RUT360 support in rutos-rutx
* Testdata
* Removed old files
* Removed unused pre-caching
* Undo changes to mib
* Modified rutx11 test data
* Changed state_name
* Revert "Changed state_name"
This reverts commit fb61f8df67.
* Changed state_name
* Changed state_name
* Changed state_name and hopefully fixes tests
* Changed rutx11 test data
* Changed state_name back
* Revert
* Fixed state_name to avoid collision
* Updated rut360 test data
* Modified rutx11 test data
* Fixed typo
* Updated test data for rutx11
* 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>
* Improve Poweralert based devices support
- Add graphs / data for Input Voltage
- Add graphs / data for Total/Output Current
* fix version formatting
* Create poweralert_3.snmprec
* Create poweralert_3.json
* Update poweralert.yaml
* Update poweralert_3.snmprec
* Update poweralert_3.json
* Missed one
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add Sophos-XG OID for monitoring HA and license state
* add generic property
* Update MIB to newest version
* Add Test-data for sfosCentralOrchestrationLicRegStatus
* Add IPSec monitoring
* regenerate test-data
* 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>
* Added ambient temp sensor and XUPS alarm OIDs
* I dumbed this down a bit, as I do not fully trust that I actually understand the xups mib.
Now we raise an alert if XUPS-MIB::xupsAlarms.0 is anywhere in the range 1-4
* Changed the index:-value for consistency
* added snmprec and json for my hardware/firwmare version
* reran save-test-data against all variants and renamed my latest snmprec properly
* Update eaton-mgeups_9pxle.json
Co-authored-by: Tony Murray <murraytony@gmail.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>
* remove ^M from DOS style file
* Support for West Mountain 4005i DC PDU
* update SVG to include width attributes
* try adding reserveAspectRatio="xMinYMin meet"
* remove width attribute
* removed disabled modules per @Jellyfrog comment
* rename per PR
* add missing test JSON data
* don't attempt to graph or detect uptime, as neither OID is supported
* remove file extension
* remove specific modules for discovery & polling, as this device isnt buggy enough for justify
* Update westmountainradio.yaml
* Update westmountainradio.yaml
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
* Add new OID for humidity sensor for opengear devices.
* Typo fix
* Fixed typo: wrong OID
* Added opengear humidity test data JSON
* Removed ogEmdHumidityTable from cache.
* Added SNMP sim data for testing
* Update opengear_humidity.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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>
* Updated mib
* Add support for IOS/IOSXE PoE stats
* Added testdata
* Better titles for Power-tab in Health
* Added low_limit for iosxe
* Update ios_2960x.json
* Added high_limit for ios
* update ios_2960x
* update ios_2900l
* pre-cache is not needed
will only slow polling down in some cases
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Use high precision OIDs for APC UPS sensors
* Force test re-run
* Remove ifHighSpeed
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Updated mib
* Add support for IOS/IOSXE PoE stats
* Added testdata
* Better titles for Power-tab in Health
* Added low_limit for iosxe
* Basic support for Enviromux devices
* Fixes
* Revert "Added low_limit for iosxe"
This reverts commit 645e3b423a.
* Removed commits from wrong branch
* Removed limits due to not working, need php
* Added testdata
* Update nti.svg
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Added support for Teltonika RUTX series routers
* Added snmprec file for testing
* Update and rename rutos-RUTX.yaml to rutos-rutx.yaml
Fix OS name
* Rename rutos-RUTX.yaml to rutos-rutx.yaml
* Rename rutos-RUTX_rutx11.snmprec to rutos-rutx_rutx11.snmprec
* Create rutos-rutx_rutx11.json
* Fix: Device discovery OID removed tab
* Remove whitespace
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: hjcday <hugh.day@lsv.com.au>