* Fix eNexus divisor
Thanks to @loopodoopo, it looks like Smartpack S returns 1/10 Amps instead of Amps.
Set them separately
fixes#14414
* I did not wait for data to fully update :D
* add HV::Monitor support
* document hv monitor
* add HV Monitor tests
* style cleanup
* fix a few missed style items
* test fix
* more test cleanup
* more minor test tweaks
* more test cleanup
* more test tweaking
* test ordering fix all done... hopefully
* more test cleanup
* minor formatting change
* Consolidate and improve snmptranslate usage
* Fix style
* lint fixes
* fix typo
* allow multiple mib directories
* Only add mib if it is not already set
* oid first, in case we have key length issues
* if there is a full oid, don't add other mibs
* debug in ci
* more debug in ci
* better debug in ci
* remove debug
* Use numeric index
* revert dlink change
* Don't add -On twice
* unit tests and hopefully better heuristics
* remove dump and add one more set of tests
* style fixes
* handle bad input in old functions
* shortcut whole snmp_translate function
* Improve trap testing
Add helper log() to Trap
Avoid saving to the database at all
* style
* Move all traps to $trap->log()
* Update tests
* Lint and style fixes
* Use correct partial mock call
* more style
* Add docs
* debug in ci
* use the correct log function....................
* all, I guess
* not the first??
* 3rd?
* use event_id to order
* basic hatteras dslam integration
* snmprec and json test files
* fix HN4000e variant
* add hn4000e variant
* logo and yaml fixes
* change type in test file
* inexistent(?) disco module removed: route
* Update hatteras.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Mock astext
avoid dns failures
* whitespace
* fix arista
* restore test data except astext
* restore test data except astext
* Full fresh run
* Move DI call into class
* Added Fortigate SD-WAN Health checks
* Add unit test
* Fix for displaying user description when F2A isnt used
* Revert "Fix for displaying user description when F2A isnt used"
This reverts commit d9f170d7e6.
* Fix for displaying user description when F2A isnt used
* Fixing comments
* Requested changes, with modified tests
* adding the correct tests
* fix tests
* fix tests
* Testing issue resolved
* fixing tests
* adding new os: vutlan
* renaming mib file, moving mib file to vendor folder, removing commented code
* Cache version data (#14404)
* Cache version data
Calling cli commands can be expensive, cache the results.
* style fixes
* Fix pre-laravel usage
* fix lint
* Revert "Cache version data (#14404)"
This reverts commit e426a9299d.
* fixing descr for door state and removing comments
* adding tests and moving vutlan definition file
* adding num_oid value for tests
* Rename VUTLAN-SYSTEM-MIB.mib to VUTLAN-SYSTEM-MIB
* Update vutlan_vt825.json
* updating test data
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add discovery support for Riedo Networks UPDU
* Add full test data
* Use correct filename for MIB
* Extract hardware, serial and firmware version
* Make pattern more consistent
* Fix incomplete test data
* add lnms_return_optimizer
* add compression test using zfs-v1
* minor style fix
* save the original output if not json
* replace gzinflate with gzdecode as apparently that does not require yanking the header
* Minor comment cleanup. Also note it in the application notes as well.
* update docs on how it is called
* update the spelling of it in a few places
* and a few more
* dev docs updated a bit
* the suricata extend has native support for this now
* add exception handling for base64 and gzip decoding failure
* minor cleanup for new exceptions
* minor misc changes
* minor formatting fix
* more phpdoc tweaks
* minor formatting tweak
* remember to actually include the new exceptions
* more phpdoc tweaking
* correct name in JsonAppGzipDecodeException
* add debug and verbose output
* style fix
* not base64 is it starts with a line with only a integer
* 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>
* Improved Modern Modules
Modules now report module dependencies and can dump data for testing
This should serve to the process of building a module more obvious.
cleanup now only requires a device, not an os wrapped around a device
Helper to create a modern module (including the legacy adapter) from a name.
* return false correctly for dump and handle it.
* make sure test data is in the right format.
* wrong isis table name
* sort
* Fix style and lint issues
* 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
* Correct logic for recurring alert rules that span UTC days. Evaluate the day of week in local time.
* Enable previously broken test cases
* Update TestScheduledMaintenance.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* 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>
* Test PHP 8.1
Would love to remove the PHP7 versions, but we need to update our minimum version first.
* Try mariadb 10.8
* Reduce the number of open connections during testing.
* 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
* Automatic fixes for validations
* webui
* lint fixes
* Fix an install issue with ConfigSeeder requesting cli input in web page.
* Do not use c_echo in validate.php print_fail()
* 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
* Move Config loading to a service provider
That way other service providers can depend on it
Move various random listener registrations into the EventServiceProvider
Various startup cleanup
* Config::persist Set live variable before persisting incase db update fail
* Disable strict mode for legacy code (init.php)
* Disable debug after os test data is gathered
* remove Eloquent::boot it is never used
* remove Eloquent::version
* lint fixes
* style fixes
* there is no c_echo here
* Allow unordered OIDs (global and per-os)
Fix global no_bulk setting, was ignored before
(to fix global needed to rework Config::getCombined() a bit to allow a global prefix to be specified)
Removed invalid use of getCombined and updated tests
* fix whitespace
* update os schema
* 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>
* Revamp validate web page
to load page then validate, instead of validate then load page
* style fixes
* lint cleanups
* fixes
* translations and a couple fixes
* style fixes
* move result serialization into the class.
* 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
* Migrate addhost.php to lnms device:add
Have snmp-scan.py call lnms device:add (make exit codes line up so this works)
Fix issue with ping only devices trying to detect os via snmp
Reorder options in device:add help and improve formatting
Update docs to remove references to addhost.php
Fix a bit of code that was in functional code
* fixes
* fix snmp version message
* Add Cisco Err Disable Mib
* Add new trap handler class
* Add ErrDisabled event handler
* Add ErrDisalbed event test
* remove unused line
* no ifindex message change
* Update unknown ifIndex message
* Add bad IfIndex test
* update description text
* style fixes
* change param to True for toString
* Add return type to test function
* style fix
* remove toString() and explode()
* remove unused line
* 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
* ' -> "
' -> "
* New device:add code
pre-requisite for updating other code paths
includes option to set display name
separate validation code from device creation
* remove duplicate community and v3 creds
* style fixes
* some lint fixes
* fix phpstan
* Exception cleanup
improved messages and translations
* port association mode to enum
well, pseudo enum
* defaults and cleanups
* fixed/improved validation messages
* fix tests
* fix stupid ide refactor mistake
* lint fixes
* OspfTxRetransmit class
* Message tidyup
* Initial test class
* add ospftxretransmit class
* add empty line
* chnage int to string in traptext
* new block to catch non lsupdates trap
* Add second test
* lint fail changes
* extra space removed
* Secure MAC Violation event
* Add Cisco Port Sec Mib
* Add CiscoMacViolation class
* removed $ifIndex and $port reference
* change ifDescr for ifName
* New test
* style fix
* 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>
* push apc trap handlers
* added unit test
* removed CR and fixed test
* switch cr for lf
* fixing ci complaints
* fixing another ci error
* fixed unit test
* annotating test
* 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
* Veeam fix and extend part 1
* Veeam SNMP traps
* StyleCI
* StyleCI
* Fix typo
* Lint
* Fix tests
* Fix tests :fingerscrossed:
* Think i get it now
* This is it?
* gotta be it
* Final
* Again
* Configurable device display name
You can just set the display name in device settings.
It also accepts simple template format with the variables: hostname, sysName, sysName_fallback, ip
Default controlled by device_display_default, (set from old force_hostname_to_sysname and force_ip_to_sysname settings
* remove second argument to format_hostname()
* Style fixes
* Update schema
* update phpstan baseline
* Improved settings strings (and add for translation)
* 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
* 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
* Fix net-snmp unformatted strings
When net-snmp returns an unformatted string (with quotes around it), it also has backslashes to escape certain characters. Remove those.
* Clean up sysDescr and sysName when setting to Device model.
* Lint fixes
* Hmm, additional formatting spots
* 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
* API transport fix parsing
parse templates after parsing user options, not before
* API transport tests
* fix style and lint
* remove accidental item
* fix more type issues
* Run phpstan locally with `lnms dev:check lint`
Separate result cache for deprecated functions so we don't break the cache every time.
* Skip phpstan flag
Skip all lints on ci except php lint (so we can check on multiple php versions)
* forgot default value
* fix up test cases
* Update LibreNMS/Util/CiHelper.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.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
* 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>
* Update apc.yaml
Added sysObjectID: .1.3.6.1.4.1.318.1 to apc.yaml definition rules to allow the discovery of UPS' that are connected to Power Chute Business edition hosts.
(Tony Murray you were right & YAML hates me!).
* Create apc_powerchute.snmprec
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>
* Kick other session when changing password
Invalidate other sessions when a user password gets changed
* Don't logout admin users when they change passwords.
Cleanup phpstan exceptions
* only restore user if needed
* comment odd behavior
* $current_user typehint
* 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>
* Dusk: improve speed
Instead of refreshing the database between tests, just cleanup all side effects.
Update UserFactory to upstream so hash never has to be generated for default
* Actually, migrate, but not fresh
* 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>
* Rename NetSnmp to SnmpQuery
Always resolve a new instance. It was not expected to be a singleton, set options persisted.
This means numeric() works properly now
* fix snmpfetch call and style
* Ability to set device from device array
* Initial commit
* Removed unused function
* fixed style
* fixed style
* fixed test data
* Initial commit
* end of the day commit
* finish + test data
* Delete ericsson-tn_ericsson-tn.snmprec
* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* 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
* Improvements to SSO Authorization and logout handling
Changes:
* Adds support for a default access level in the SSO authorization
plugin when group mapping is enabled.
* Restore functionality of the auth_logout_handler configuration option,
allowing the user to be redirected to a configured URL to complete
logout from an external IdP.
* Documentation and test coverage updates
* Set sso.static_level to 0 in AuthSSOTest:testGroupParsing()
* Simplify implementation to use default values in Config::get()
* SNMP WIP
* cleanup, more types
* Include my snmp:fetch command
* Fix Facade name conflict
* Command WIP
remove mib
* Ignore exit code
cleanups
* Doc blocks and style fixes
* forgot to use parseOid
* Hopefully final fixes
* missed on (:
* small changes
deviates from existing code, hopefully doesn't re-add too many corner cases.
* add some simple tests, will make it easier to add more in the future when we find corner cases.
* test numeric
* API refinements, try to avoid setting textual net-snmp options directly
* change numeric to a toggle makes for nicer usage
* make ci happy
* Some errors happen only in stderr, pass that to SnmpResponse for parsing.
Add error message access
* More consistent naming
* 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>
* 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
* Add hardware, OS version and serial to arubaos-cx discovery
* Add support for ArubaOS-CX versions 10.04 and 10.06
* Fix bug where first arubaos-cx regex would be ignored
* Add test data for 10.07, data for 10.06 coming soon
* Add data for 10.06
* Update 10.04 test data
* Update arubaos-cx.json
* Update arubaos-cx_10.06.json
* Update arubaos-cx_10.07.json
Co-authored-by: Tony Murray <murraytony@gmail.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.
* Add mibs/zte/ZXR10-MIB
ZTE ZXR10 vendor-specific mibs
* Update zxr10.yaml
add mib_dir
change top-line view like in cisco
* Create zxr10.yaml
define mempool and processor discovery for zxr10
* Update zxr10.yaml
fix discovery.php "error in mempools module. Unable to translate oid ZXR10-MIB::zxr10SystemMemSize"
* Update zxr10.yaml
ZXR10-MIB::zxr10SystemMemUsed is in percent not in bytes.
* zxr10.yaml :: fixed mempools data
fixed mempools data
* TESTS :: Add snmprec
* TEST :: Add data/json
* Change group from zxr10 to zte
* Remove mib_dir
With group: zte it works without mib_dir: zte
* Rename zxr10_zxr10.json to zte_zxr10.json
* Rename zxr10_zxr10.snmprec to zte_zxr10.snmprec
* 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.
* Validate APP_KEY
key:rotate command to rotate keys, only rotates validation data for now
* fixes, swapped encrypters, not saving new value to db, check that key exists first
* add confirmation
* Option to generate new key, re-encrypt data and then save it to .env
A lot more text to try to prevent disaster. Print out both keys 1-2 times.
Fix bug in EnvHelper (when key is commented but not empty)
* fix style
* oops, good phpstan
* Rewrite ISIS Adjacency discovery/polling
hopefully much faster now, do most work in discovery and just check up/down in poller.
* unused variable
* Implement option for OS override
* fix an incorrect typehint
* test data
* work around stupid migration name
* update schema
* better handling for the on-demand discovery
* more detailed phpdoc
* fix when adjacency is not found
* don't clear out data when adjacency goes away
* Adjust nullable fields
* fixes
* fix class name
* correct migration
* fix bug causing adjacency data to always be blank
* port popups for port links
* isisISAdjState does not need to be nullable
* remove extra space
* default off
* If port is missing return $text
* update schema
* Cleanup old components
* correc copy paste error
* Update configuration docs to use lnms config:set
don't show slashes input
still need to test them all
* fixup broken commands
os array type a little broken
* bash
* fix lnms config:set os append
* enable os append test
(and small correction)
* fix whitespace
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.
* safer truth check
* Allow global setting and per-graph variable
* match surrounding case
* Style fixes
* Remove old function usage
* update schema
* remove some old usages
* cleanup more ifHighSpeed references
* update test data to remove ifHighSpeed
* fix down migration
* Add button on graph page
Change default
tweak wording
* Update ict-pdu.inc.php
Lines 7&8 fixes an issue seen when polling current on ICT2000DB-12IRC .
* Create ict-pdu_ict200db-12irc.snmprec
* More generic fix
* Create ict-pdu_ict200db-12irc.json
* Update ict-pdu.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* lnms config:set works for os settings
validate against os schema (gives us path and value validation)
fix unset in config:set
json formatted output in config:get to match input parsing
* inline errors
* Check that OS exists
* Fix lock file
* Set param type
* correct method name, it no longer returns a boolean
* rename --json to --dump
tests and fixes
* fix whitespace
* missed one whitespace
* typehints
* add connection typehint
* try again
* Added test data
* Added support for some Cell states
* Added more Cell states and added missing testdata
* Obs deleted the test data file
* Added support for monitoring Cellular signal
* Forgot test data again....
* Added more Cell states and Wirless data. Removed services because I cound get it to work correctly
* API find a switchport with the mac from device
* fix style
* convert SQL to Eloquent
* convert SQL to Eloquent
* git mistake
* Global use App\Models\Port
* git mistake partII
* Refractor Eloquent - Not finish but easier to help for others
* Better Eloquent Query without filter option
* Validation
* fix style
* Add filter option and DOC
* convert to the better macToHex method
* add a maxToHex unit test
* fix style
* fix style
* fix syle - seems my dev:check is running again :-)
* Fix phpStan
* phpStan #2
* When in a stack, the index for each port is based on the unit number in the stack. The first unit
in the stack uses index '1.', the second uses index '2.', the third '3.' and so on. This change
allows for stack indexes greater than '1'
* Create ciscosb_cbs350-4x.snmprec
* Create ciscosb_cbs350-4x.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update dell-compellent.yaml
Dell changed the text for sysDescr after the 2017 firmware-release so that the string "COMPELLEN" which was looked after here before, did not appear anymore. The Compellent cuts off the snmp-answer after 255 characters.
I replaced the previous detection to a new snmpget-detection using the oid (DELL-STORAGE-SC-MIB::productIDDisplayName.0) that shouldnt be altered in the future.
* Add files via upload
* Rename dell-compellent_scv3020.snmprec.TXT to dell-compellent_scv3020.snmprec
* Keep backward compatibility
* Create dell-compellent_scv3020.json
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* 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>