* Ports module fix nulls not updating
* Fix broken test data
I'd like to see how it came out broken in the first place, but I don't have access
* Update json data
* Fix fortivoice snmprec
* Fix scs-ks
* Fix bad siteboss550 data
* Remove some lightly used or unused dbFacile functions
['NULL'] legacy behavior seems unsupported, replace with actual nulls
* Fix refactor mishap
* another
* update baseline
* these were very wrong... what happened?
* Agent: Packages fixes
Don't try to save invalid packages, probably due to script failure on device.
Add pacman support
* Apply fixes from StyleCI
* Add version
* cast to number
* Update includes/polling/unix-agent/packages.inc.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Fix an agent bug if a process ran more than 999 days
Increase it to 274 years before that happens ;)
Fix a few other small bugs
* Update schema check file
* Refactor MAC utils to a new utility class
* Apply fixes from StyleCI
* Inline functions
Add tests
Handle bridgeid format
* Apply fixes from StyleCI
* Dedicated code path for stp bridge parsing, and improve STP output a bit
* Correctly parse dot1dBaseBridgeAddress and don't store int in bool field
* trim any unexpected character from bridge addresses, add extra test data.
* better comment
* barsBridge can handle dot1dBaseBridgeAddress correctly now
* parseBridge, check for properly formatted mac first.
* update test data, empty data = empty mac
* Fix new usage after rebase
* import
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Vmware vminfo
Remove legacy file and migrate to OS discovery
* tighter
* ios_stp-vlans working correctly now
* Make vmwVmGuestOS nullable
* Discover os info too
* VM Info module
* Apply fixes from StyleCI
* Fix log severity
* Fix log severity (more)
* VM Info module
* Poll with ESXi too because it is lightweight
add test data
* poller data now too
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Remove snmp functions that are barely used
Replace them with SnmpQuery calls
* Apply fixes from StyleCI
* Fix missing namespace
* Import Oid
* No more variables left may be repeated multiple times at the end with snmpsim, remove them all
* update data fixed by SnmpResponse bugfix
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Added grouping on the Voltage displays
Added groupings to better show which voltage and current variables that belongs together.
* Update enexus.json
* Update enexus_eltek-smartpack2-syst.json
* Update enexus_enexus.json
* Update enexus_smartpacks.json
* Update enexus_smartpacks2.json
* Update enexus_sp2touch.json
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add useful IF-MIB entries as 'unordered oids'
to Raisecom ROS and ROAP definitions because
they don't have increasing OIDs in snmpwalk
* Bump composer/composer from 2.5.8 to 2.6.4 (#15364)
Bumps [composer/composer](https://github.com/composer/composer) from 2.5.8 to 2.6.4.
- [Release notes](https://github.com/composer/composer/releases)
- [Changelog](https://github.com/composer/composer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/composer/composer/compare/2.5.8...2.6.4)
---
updated-dependencies:
- dependency-name: composer/composer
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update aviat-wtm.json (#15368)
* sort services by type and name (#15367)
* Added support for Cambium cnMatrix switches (#15351)
* Added support for Cambium cnMatrix switches
* Fixed styling issues
* Fixed styling issues
* Fixed duplicate, incorrectly labeled LLDP-EXT-DOT3-MIB and LLDP-EXT-DOT1-MIB
* Corrected MIB with the same name but with different OIDs configured: LLDP-EXT-MED/-CAMBIUM/-MIB
* Removed my added duplicate MIBs
* Removed unused MIBs
* Rearrange AD auth settings (#15363)
so it makes more sense, add missing settings
* Specify radius attributes for auth roles (#15374)
* Specify radius attributes for auth roles
* Clarify that any role can be defined
* Fixes check_dns against localhost when a search-domain is configured (#15373)
* Added extra ASN-range comments, added Priv eBGP on host details, changed color to light-blue instead of red (#15372)
* Moxa EDS improve discovery (#15375)
Consolidate walks so less need to be performed.
This should help a lot since each device model has its own MIB.
* Remove unused functions (#15371)
* Remove unused functions
inline other legacy functions
* Apply fixes from StyleCI
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Availability module fixes (#15369)
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling
* Needed to split datastore interface
* Cleanup some data_udpate() references
* Apply fixes from StyleCI
* Fix legacy poller :D
* Output to the correct stream
* Fix lint issues
* Apply fixes from StyleCI
* Fix discovery not including core and submodule handling
* Use whereRaw
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
Co-authored-by: SourceDoctor <sourcehhdoctor@googlemail.com>
Co-authored-by: Noah Roufus <noaheroufus@gmail.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: barryodonovan <barry.odonovan@lightnet.ie>
Co-authored-by: Tim de Boer <tim@tim427.net>
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling
* Needed to split datastore interface
* Cleanup some data_udpate() references
* Apply fixes from StyleCI
* Fix legacy poller :D
* Output to the correct stream
* Fix lint issues
* Apply fixes from StyleCI
* Fix discovery not including core and submodule handling
* Use whereRaw
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Added support for Cambium cnMatrix switches
* Fixed styling issues
* Fixed styling issues
* Fixed duplicate, incorrectly labeled LLDP-EXT-DOT3-MIB and LLDP-EXT-DOT1-MIB
* Corrected MIB with the same name but with different OIDs configured: LLDP-EXT-MED/-CAMBIUM/-MIB
* Removed my added duplicate MIBs
* Removed unused MIBs
* Updated Install-LibreNMS.md
Default PHP version of Debian 11 (following this documentation) is 8.2 currently, instead of 8.1
* Fixed Markdown/Parse mode for Telegram
* Changed peer_iden to peer_addr in routing/bgp.inc.php
* Update app_ntp.inc.php
Fixes ISSUE 15344
- Corrects start point in table when showing NTP APP
- Corrects blank page when showing ALL NTP entries
* Update app_ntp.inc.php
Use row count for page start not a hard coded 10
* Adding oid upsAdvOutputActivePower
Adding oid upsAdvOutputActivePower under the power section as this value is in watts.
* Create apc_smx750.json
Adding test JSON data for APC changes
* Create apc_smx750.snmprec
Adding snmpsim test data for APC changes
* Update apc_smx750.json
* Update apc_smx750.snmprec
* Update apc_smx750.json
* RouterOS: use mtxrGaugeTable instead of mtxrHealthGroup
Should now exactly match System > Health
Historical data will be lost
* fix yaml
* Fix numeric oid
* Update test data, add table to crs317
* Add groups and cleanup yaml
* revert state_name as it is used in the rrd file name
* Except the gauge table state sensor
* Group Health -> System
* update json
* update json
* add the softdeletes migrations for applications
* add working migration file
* add deleted_at to db schema.yaml for applications
* update includes/html/forms/application-update.inc.php to work with softdeletes
* update includes/html/pages/device/edit/apps.inc.php for softdelete
* update includes/discovery/applications.inc.php to work with softdelete
* minor updates to application-update.inc.php for disabling
* style cleanup
* set discovered when running discovery
* update application tests to include deleted_at
* add deleted_at to a missed test
* a few more tweaks for opensips
* add a missing deleted_at for linux_suricata_extract-v1
* fix fillable for Application model
* massive cleanup of the application update widget thingy
* improve the code for discovery and using Laravel
* add a missing line to app/Models/Application
* add a missing include to app/Models/Application.php
* record includes for Application model
* remove apps from the applications table when a device is deleted
* revert to using upcert and where for discovery to fix CI
* make discovered fillable and set it when running discovery... convert back to firstOrNew
* clean up application discovery a bit and use observer
* style fix
* spelling fix... disablaed -> disabled
* rever removal to just use where
* cleanup app removal on delete
* add restored to ModuleModelObserver
* delete -> forcedelete fix
* apply the suggested changes
* use murrants other suggestion
* style fix
* Added support for Nutanix VM count, disk state, CPU usage and RAM usage
* Added num_oid values required for pull request
* Fixes for Nutanix AOS graphs
* Install bouncer
* Seeder and level migration
* Display and edit roles
* remove unused deluser page
* Update Radius and SSO to assign roles
* update AlertUtil direct level check to use roles instead
* rewrite ircbot auth handling
* Remove legacy auth getUserlist and getUserlevel methods, add getRoles
Set roles in LegacyUserProvider
* Small cleanups
* centralize role sync code
show roles on user preferences page
* VueSelect component WIP and a little docs
* WIP
* SelectControllers id and text fields.
* LibrenmsSelect component extracted from SettingSelectDynamic
* Handle multiple selections
* allow type coercion
* full width settings
* final style adjustments
* Final compiled assets update
* Style fixes
* Fix SSO tests
* Lint cleanups
* small style fix
* don't use json yet
* Update baseline for usptream package issues
* Change schema, not 100% sure it is correct
not sure why xor doesn't work
* Create F5-COMMON-SMI-MIB
* Create F5-PLATFORM-STATS-MIB
* Create f5os.yaml
* Create f5os.yaml
* Create f5os_f5os.snmprec
* Create f5os_f5os.json
* Remove remaining test line
* Add mandatory num_oid
* Add num_oid for fanspeed
* Force use of index for fanspeed
* Force index for temperature + add snmp_flags to make it work
* Update test data
* Update test data
* Fix port speed setting
Due to a bug all manually configured port speeds were lost and will need to be reconfigured.
This allows them to work in a way that will prevent that issue in the future by storing the speed with the override.
Includes notification.
* Fix date
* Add URL
* Spelling fix
* Add BIRD2 application support and docs
* Remove whitespacing
* Update includes/polling/applications/bird2.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Correct the variable names to reflect their actual content and also use the remote address to display on the webUI as opposed to the unrelated peerid aka router-id
* Style fixes
* Style fixes
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix error when missing poller data
* Apparently impossible to detect regex without error, so require regex always. Update docs.
* Apparently this adva code is garbage :D
* Missing count sensor type
* Processor handle missing input
* Handle missing ifName a little better
* Yep, ports module is a dumpster fire. Attempt to clean up some.
* apparently os yaml trying to replace on non-existent fields
* Might as well define all sensor type units
* revert previous fix, real issue was vlans module does not have polling.
Previously, if the device was ping only, it wasn't marked as discovered.
Now we always run discovery, but basically all it does is update last_discovered.
* APC last input failure & display outlet name
* SNMP data & test files
* fix total energy divisor
* fix ap8853
* fix ap8959eu3
* test fixes
* Adjust sensor descr new format #{outletid} : {outletlabel}
* Add support for OpenManage Modular devices.
* Update dell-ome-m.yaml
Remove commented out dmmGlobalSystemStatus num_oid
Change Max/Min Power to Peak/Min Usage
* json test file for open manage modular support
* Update dell-ome-m_dell-ome-m.json
* Update dell-ome-m_dell-ome-m.snmprec
* Update dell-ome-m_dell-ome-m.json
* Update dell-ome-m_dell-ome-m.snmprec
* Update dell-ome-m_dell-ome-m.json
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true
Improve scheduler validation handle non-standard install directories and systems without systemd
Add index to table to improve speed and improve mac->vendor lookup speed
Scheduled weekly with random wait to prevent stampeding herd issues for upstream
drop oui update from daily
* MAC Vendor OUI use scheduler
Add command to update `lnms maintenance:fetch-ouis`
Show vendor column in tables if mac_oui.enabled is set to true
* Lint fixes and better prefix detection
* update schema file
* add munging to generic stats graph include
* add graph_uptime_days config def
* make it optionally changable now
* style fix
* remove the graph_uptime_days option
* Force cast on some values before doing arithmetic
Some devices (like Delta InsightPower G3 Mini SNMP Card) return STRING instead of numerical value.
A few lines after, when doing a division on it, everything go bad ( / $divisor).
I added force casting, no more crash and the values are OK.
* Using helper cast_number() instead of intval()
* Fix style
* Add test data
* Stop using deprecated function cast_number
* rework into a json app and support the old style
* working now
* add health checking
* add some datapoints to make writing alerts easy
* add a few missing item for has checks
* rework the app page
* use the right var for id9
* print the self test log if we have it
* add a graph for the max temp
* display the max temp graph
* display the health pass in the disk list if we have the data
* fix legacy handling and set app as ok
* replace id190 and id194 with the more useful maxtemp graph on the apps page
* don't print the additional info area for legacy extends
* add id232
* add id252 graph support
* properly display id232 now
* do not display SSD graphs for non-SSD disks
* for legacy extends, make sure we don't have a bad line
* add missing label for Product value
* fix metrics
* rework the metrics stuff a bit more
* typo fix
* more smart metrics cleanup
* add exit info to metrics
* style cleanup and logic checking for when disks are all now fine
* fix checking for no more health errors
* update the docs for SMART for v1 and remove slightly pointless notes about useSN
* update the docs
* initial test stuff
* add missing tests for the legacy code
* save if it it is legacy or not
* style cleanup
* update the smart legacy test
* style cleanup
* more test tweaking
* some more style cleanup
* more test fixes
* correct the disk ID for the legacy test da0 -> Z304VCFY
* more tests update
* more test cleanup
* begin cleanup of the v1 tests
* more v1 test updates
* more tests for v1
* more test cleanup
* fix exit_nonzero and add unhealthy metric
* add smart alerts
* add the metric unhealthy to the stat test
* use app data for the smart-common.inc.php
* Add vendor search and related functions
* Add OUIDB cache for vendor lookup
* Add vendor drop down
* appy style CI changes
* Apply style CI and lint changes
* more styleCI changes
* update type hinting
* Edit mac_oui cache lock name and function
* Update MAC OUI message during daily
* Use DB for vendor lookup
* New vendor_oui table migration
* New MAC OUI to database function
* Update readbleOUI to use DB rather than cache
* Make StyleCI changes
* styleCI tweak
* Remove lock release to allow refresh timer
* change migration name to match table
* add schema dump
* update schema
* styleCI tweak
* Squash Commit
Fortigate Mib updates and ipsc ipv6 tunnels stat
test data to go allong with it
* add optional -Ih flag
* lint fix
* revert changeed on test data 500d
* fix test data on 60f3g4g
* add poller for mojo cape submit
* mojo_cape_submit poller now works
* add app page for mojo_cape_submit
* add basic generic stat graphs for mojo cape submit
* general size stats graph for mojo_cape_submit
* make sure we update slugs that did not see anything submitted for them
* sort the slugs by sub count
* add app protos graph and sub top 12 graphs
* add mojo cape submit docs
* add tests for mojo_cape_submit
* add mojo_cape_submit to the apps page
* add string helper for mojo_cape_submit
* poke lots of stuff with php-cs-fixer
* remove a unneeded line
* add a missing metric and app data to test
* add logsize poller
* add set size info
* add more stats
* add min size
* more logsize files
* add logsize
* fix creating log file links
* add two new graphs
* add some graphs
* add no_minus_d
* add no minus d to app page
* add count of log files
* save logsizes in app data
* rename title log sizes
* only show top 12
* add mean median and mode
* cleanup naming a bit
* the values for the files hash is now a int instead of another hash
* add new stats and correct median name
* now properly handle unseen
* fix logsize bits
* add combined
* update metrics and add some tests
* add logsize graphs to apps page
* add the logsize bit
* add logszie docs
* add some example alert rules
* style cleanup
* more style cleanup
* fix a few things for metrics and update the test
* fix a variable name in the test and update the data
* Add Calix E7 (EXA) PON port sensors
* oops
* remove space
* skip sensors on down ports
* fix state generic values
* 10 oid was breaking... change to 8 max
* Add initial divisors... need to double check
* change power to dbm as it is more useful
* Add bias and limits
* Test data
* change skip value
* Add PK-SOFTWARE-APPLIANCE-V2 MIB
* Add support for PrimeKey Software Appliance
* Move file to correct path
* Make the OS detection more specific
* Thanks vscode
* Sync filename with osname
* Not supported
* Track SQL database size as volume
* Two fixes
* adding human readable version of /api/v0/fdb/{mac}/detail
* adding last seen field in human readable format
* fixing styling issue
* fixing another styling issue
* removing stale variable
* adding a limit to number of results returned in order to limit memory issues
* adding the documentation for fdb_detail api
* Wording fix
* wording fix again. smh
---------
Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
* fix for hrStorageIndex agility
* test for array
* Handle not found data
* Handle description changed correctly
* remove debug
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add suricata_extract
* convert from dervive to gauge and use delta
* add suricata_extract to includes/html/pages/apps.inc.php
* graph cleanup
* add sub_size
* add sub_size graph
* add docs for suricata extract
* add tests for suricata_extract
* add rules for suricata extract
* minor test tweaks
* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches
* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches
* Convert BER as well
Allow divisor and multiplier to be set from oid
* use fillValues
* fix
* sort snmprec, fix divide by 0, add more context
* add privoxy
* various style fixes
* cleanup option bar
* save metrics for privoxy now
* add instructions for privoxy
* add privoxy test data
* regen the test data
* add a few missing depends to the instructions
* add apps.inc.php entry for privoxy
* note the required log settings for privoxy
* style fix
* APC Emu dry contacts
* EMU test files
* Added energy and power sensors
* Revert "Added energy and power sensors"
This reverts commit b27b4a3ac2.
* Total energy sensor
* code stuff done for Sneck
* whoops, correct the abs value post adding it post rrd update
* return a array for getting the sneck data and nicely print the raw return value
* add test stuff and freeze time at 1650911765 for tests
* move the freezeTime
* add use Illuminate\Support\Carbon;
* more test changes
* rework freezeTime a bit more
* more test stuff
* another test
* rework it a bit again
* correct variable spelling for $time_diff
* remove freezeTime as we are using a old version of Laravel
* finalize graphs
* misc
* finalize sneck page
* mve the sneck tests as it needs a newer version of laravel than we are using
* add documents for sneck
* finalize the poller
* formatting cleanup
* correct comment type
* correct the spelling of description
* more documentation
* save the check returns as metrics
* add some more examples
* fix some of the sneck alerts and add a few more examples
* turn off time to polling by default
* suggest using ntp if enabled
* since we are zeroing time_to_polling by default, this now works
* backout some suggested changes for once we change to larval 9
* remove del_sneck_data as it is no longer used
* add more docs on the metrics
* php-cs-fixer to fix a few things
* update and fix sneck tests
* remote a metric from the test
* another minor tweak to the test
* one more minor change
* ahh! derp! think I found it finally... hopefully hanging this for the last time...
* now use app data
* now logs check changes
* add a missing )
* add a missing )
* some style fixes
* update the sneck page use to the app data stuff
* update the poller to use the new app data
* misc
* update sneck to log check status changes
* correct alert log messages
* correct a comment
* fix metrics
* derp, another fix
* test fix
* re-order to avoid warning
* poller update
* update sneck graphs
* update sneck graphs
* remove a unneeded line
* test update for discovery
* minor tweaks to the test and fix update the polling a bit
* style fix
* fix return data printing
* fix the test data to include app data
* attempted test fix
* add config def to apps.sneck.polling_time_diff
* cleanup docs a bit
* minor config tweaks
* minor doc cleanup
* add linux_softnet_stat poller
* add graphs and app page for linux_softnet_stat
* fix polling
* rename a few items, clean up the app specific page, and add to the apps page
* convert from derive to counter
* save the budget and budget_usecs to app data
* display current value of the budgets
* now track budget values
* add tests data
* rename it
* add docs for Linux Softnet Stat
* re-order and add budget for app page graph order
* style fix
* correct data location
* fix metrics for the json
* add alerts for ZFS
* add initial l2 bits to the poller for zfs
* more minor tweaks to the ZFS poller
* more zfs bits
* add new ZFS graphs
* begin adding L2 stuff
* add linux_zfs-v3 bits
* update zfs app page
* style fix
* update the data for the zfs legacy test
* test update for zfs v1
* fix some zfs tests
* more zfs v3 test cleanup
* another zfs v3 test data fix
* more zfs v3 test data cleanup
* more test tweaks
* add sensor support for cefcModuleOperStatus
* add tests for cefcModuleOperStatus
* revert sensors/state/cisco.inc.php
* add sensor support for cefcModuleOperStatus using yaml
* update tests for cefcModuleOperStatus
* try adding tests again for cefcModuleOperStatus
* include CISCO-ENTITY-FRU-CONTROL mib for cefcModuleOperStatus sensor state discovery
* Add no_proxy and other proxy related settings
Set user agent on all http client requests
Unify http client usage
* Style fixes
* Remove useless use statements
* Correct variable, good job phpstan
* Add tests
fix https_proxy bug
add tcp:// to the config settings format
* style and lint fixes
* Remove guzzle from the direct dependencies
* Use built in Laravel testing functionality
* update baseline
* Add RoomAlert 12E Switch Sensors, fix Humidity Sensor
* Fix per murrant
* Revert port data generated on older install
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add support for Trellix NSP devices
- Add discovery for mlos NSP devices
- Monitor port statistics from non standard MIBs
- Add Trellix MIBs
- Add test data
* Fix StyleCI findings
* Rename MIB files to match MIB names, remove unused MIBs
* regenerate mlos-nsp_ns9500.json to account for changes from PR#14963
* Fixes#14957 missing IPv6 BGP peers
* Limit to NX-OS and IOS-XR
* Check for actual VRF since count(getVrfContexts) always > 0
* argh, fix last minute nervous finger superfluous space
* removed redundant count()
* Added support for user timezones and user browser timezone byt default
* Formatting fixes
* Use the timezone for alert log display
also added validation for the timezone because it's being used in SQL.
* Formatting fixes
* Added return type
* Formatting"
* Update the latency graphs to use the user timezone
* Simplify the web routes config
* Update phpstan to ignore type error
* Fixed up the phpstan config
* Reverse phpstan change
* Re-apply phpstan override
* Remove the option to unset the session timezone
* Formatting fix
* Update outge and event logs to use session timezone
* Fix route for the timezone control
* Made the timezone more dynamic
* Fix a logic error that was stopping the timezone from being set automatically on login
* Prevent getPref from being called twice
* again prevent getPref double call
* getPref double call
* Fixed typo made during merge
* Fixed merge error in phpstan-baseline.neon
* Change spaces to tabs in phpstan-baseline.neon
* Update error count
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add support for Firebrick memory monitoring.
* Add mempool testing for Firebrick.
* We have to specify the OID by numeric, because otherwise it assumes it's some kind of indexed table.
* Specify by OID.
* Fix test result data for the FB mempools.x
* Firebrick reports in KB.
* Fix precision in the tests.
* Convert the inventory page to Laravel
Fix several XSS issues (hopefully no new ones snuck in)
Small improvement to the SelectController to allow filtering by filterFields()
* style fixes
* Fix lint issues
* Fix part device filter
* Update print-alert-rules.php
* Update print-alert-rules.php
Was hoping to avoid word wrap with notify, but can't be avoided, so changing to notification
* Fix undefined constants
These have been broken for a long time. Likely they are unused.
* Fix undefined constants
These have been broken for a long time. Likely they are unused.
* Refactor common billing code into a namespace
Prevents issues of usages where the code hasn't been loaded.
* remove redundant Billing in method names
* remove accidental duplication
* more use statements
* Style fixes
* Fix cisco dbm sensors port link on discovery (NCS55A2)
dBm sensors were not linked to port on Cisco NCS55A2 platform (iosxr)
causing false alarms triggered by optical modules in administratively shut down ports.
* Delete iosxr_ncs55a2.json
* Create iosxr_ncs55a2.json
* Renew test/data/iosxr_ncs55a2.json
* Delete and recreate test/data/iosxr_ncs55a2.json
With command :
./scripts/save-test-data.php -o iosxr -v ncs55a2 -m os,ports,processors,mempools,sensors
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Move `resources/lang` folder
* Shift registered middleware
* Remove `fruitcake/laravel-cors` dependency
* Streamline `$commands` property
* Upgrade to Flysystem 3.0
* Shift core files
* Convert `optional()` to nullsafe operator
* Remove unnecessary `$model` property
* Convert route options to fluent methods
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
* Convert deprecated `$dates` property to `$casts`
* Shift config files
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them and merged your true customizations -
where ENV variables may not be used.
* Bump Laravel dependencies
* Use `<env>` tags for configuration
`<env>` tags have a lower precedence than system environment variables making it easier to overwrite PHPUnit configuration values in additional environments, such a CI.
Review this blog post for more details on configuration precedence when testing Laravel: https://jasonmccreary.me/articles/laravel-testing-configuration-precedence/
* Fix error provider
* Match new symfony syntax
* Match upstream syntax
* Fix route syntax
* generate composer.lock
* Sync back configs
* routes
* composer
* Fix more flare
* fix cors
* sync lang
* Apply fixes from StyleCI (#14517)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* bump larastan
* update packages
* wip
* Temporarily lower phpstan level
* Update phpstan.neon
* wip
* wip
* wip
* Apply fixes from StyleCI (#14592)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update CiHelper.php
* Apply fixes from StyleCI (#14616)
Co-authored-by: StyleCI Bot <bot@styleci.io>
* test?
* fix phpstan problems
* dont run snmpsim on github ci
* Fix whitespace
* More whitespace
* More whitespace ???
* I think the space broke it
* fix the reset of the whitespace
* hard code auth guard
---------
Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Change ESXi port naming to be stable
Currently every time discovery runs against ESXi, the port names change generating a lot of log spam.
This is because ESXi uses this as the ifDescr:
```Device vmnic1000202 at 01:00.0 nmlx4_en```
The poller parses this, and extracts the interface name, whereas discovery does not, causing the interface names to flip every 6 hours.
https://github.com/librenms/librenms/blob/22.10.0/includes/polling/ports.inc.php#L578-L580
This change gives the discovery process the same behaviour, so the naming is now stable.
* Try to fix test data with a squash
* vcsa test data
* Synthesise VCSA ifName, use it in place of ifDescr
* Refresh test data
* Update ports.inc.php
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix vsolution discovery yaml
Fetching too much data and incorrect config for scalar values.
* revert json changes
* one sensor_prev
* fix
* revert all changes
* fix cisco-qfp Division by zero
* fix percentage calc
* linting
* another zero in RRD. the (int) might be consequential errors and should hurt...
* no float for average_package
* Update includes/polling/cisco-qfp.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add floor
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add support for Trellix ATD devices
- Add discovery for mlos ATD devices
- Monitor various OIDs related to ATD system health and status
- Add required MIBs
- Add test data
* add json test data
* Rename MCAFEE-SMI to MCAFEE-INTRUVERT-SMI
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Correct PowerConsumed SI Units in Overview
Workaround to convert PowerConsumed SI Display Units from kkWh to MWh. Better way would be to directly save the data in Wh instead of kWh. But we don't know the impact jet.
* Fix style
* Remove unused port fields
(and set vlan to default to null)
* Update test data for deleted fields
* update vlan to null
* missed field removals
* More correct migration
* Update new data
* restore accidental deletions
Was origionally intended to use the 1 minute values, but was discovering the one second value and polling the twoHour value
Was also restricted to only one CPU.
Now discovers and polls all CPUs at the oneMin avg
* Expand discovery of gigavue os
- Expand discovery so all Gigamon products are discovered
- Query for hardware version using GIGAMON-SNMP-MIB::model.0 OID if present
- Add more Gigamon gigavue test data
* Create gigavue_hc2.json
Looks like there was no json file before...
* update gigavue_hc2.json
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update fortivoice.yaml
Add in pulling in device hardware and software info
* Add files via upload
* Add files via upload
* merge test data
* Delete fortivoice_fortivoice.snmprec
* Update fortivoice.json
* Update fortivoice.json
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add discovery of NVT Phybridge FLEX24
* Update phybridge-flex.yaml
Added FLEX-24 Switch under sysDescr
* Test Data phybridge-flex_flex-24 json and snmprec
* Poller perf: add per device
Fix min, avg, and current values
* Fix up previous
* Fix style
* Rename to device average, we don't calculate min and max, but rather the min/max of the average.
* Add initial OS detection for LoadBalancer.org
* Match on Linux sysObjectID first for efficiency
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add test for loadbalancer OS detection
* Add test for loadbalancer OS detection - fix author
* Add test for loadbalancer OS detection
* Add test for loadbalancer OS detection - fix author
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Chris Ware <cjw26@bath.ac.uk>
Hikvision cameras model number does not forcibly starts with 'DS-' anymore.
Here is an sample of a OEM new model made by HIKVISION
[
.1.3.6.1.4.1.39165.1.1.0 = STRING: "IPC7A27-ANPR"
.1.3.6.1.4.1.39165.1.2.0 = STRING: "0"
.1.3.6.1.4.1.39165.1.3.0 = STRING: "V5.7.80 build 220525"
.1.3.6.1.4.1.39165.1.4.0 = STRING: "98-f1-12-c7-0b-a2"
.1.3.6.1.4.1.39165.1.5.0 = STRING: "88"
.1.3.6.1.4.1.39165.1.6.0 = STRING: "IPcamera"
.1.3.6.1.4.1.39165.1.7.0 = STRING: "38 PERCENT"
...]
Some FTD systems like 4110 and 4120 (probably more) use different OIDs (not .1 or .4) for that, so these were added. The version extension is probably not helpful, as the result is an empty string … but at least that OID exists.
Not: without this change, hardware+serial fields will be empty after a (re)discovery.
* inital commit of a new syslog sink over http
* cosmetics
* cosmetics fix...
* cosmetic fix again
* cosmetics fix again
* its nice now...
* add non blocking option
* Syslog Sink integrated as API PUT method
* lint fix
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update includes/html/api_functions.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* change to POST, fix decoding issue and json exception
* logstash/json documentation added. syslog documentation a bit re-structured
* lint fix
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
Previously, the code would query all the oids it received. Now it will split it up into multiple queries if too many are sent.
Prevents some devices snmp service from crashing.
* APC: Add support for Battery Recommended Days Remaining
* Extract number from string later during polling
Odd that this is different from the discovery process
* wip
* wip
* Apply fixes from StyleCI
* wip
* wip
* Apply fixes from StyleCI
---------
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Modify Avocent discovery so Avocent MergePoint Unity KVM switches are discovered
* Extract hardware model and version stored in sysDescr OID
* add avocent mpu snmprec
* add json dump test data
* update to not conflict with dell-rcs discovery
* fix styleci findings
* update Avocent.php
* update Avocent.php
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* add support for avocent mp unity kvm switches
* cleanup
* fix os name typo
* Add support for Vertiv Avocent MergePoint Unity
- Remove unnecessary sysdescr_regex in discovery file
- Only show device_bits graph in device header bar
- Use Vertiv icon
- Replace .png Vertiv icon and logo with .svg
- Disable unnecessary discovery and poller modules
- Add more snmpsim test data
* Update avocent-mp.yaml
Only disable poller and discovery modules if they cause problems
* update fail2ban better stat graphs
* style fix
* add rainbow color pallete
* cleanup colors and make it more easily understandable via using the new rainbow colour pallete
* a bit more color tweaking
* green is easier on the eyes
* style fix
* fix hgandling for smaller graphs for some things
* for <= height graphs, use area
* rework the area bit and add a alpha
* style cleanup
* more style cleanup
* mm... colourA does work a lot nicer if the same as colour
* add two more palletes and make the purple the default
* only include 1d once as that as some versions of rrd break if it is twice
* move time_diff to the proper location
* update graphs -> systems page
* update availability graph to use the stats graph for 1 day averages
* a bit of cleanup for various graphs
* a few style fixes I missed
* another style fix
* update the pingperf graph as well
* update the poller perf graph as well
* style fix
* move graphs to using generic_stats default for readability
* Add Modified V-sol MIB
* Add Vsolution Discovery OS
* Add Vsolution Discovery OS
* Add os-logo
* Add snmp test data
* Add .json test data
* Add .json actual test data
Tested against X7600 and X4300. Both of which change from being a generic device to a Samsung printer device. Subsequent poller.php runs result in toner, fuser, impressions counts, etc data being returned.
* re-add it
* add cape app page
* add initial cape graphs
* now work for the general page
* more udpates
* add cape pending
* add pending and cleanup for if there are no packages(likely cuckoo, so don't add extra items)
* rework the lack of packages a bit more
* more cuckoo related cleanupgiot
* fix cape error logging
* minor cleanups
* add a new graph and use it with cape... also lots of cape cleanups
* misc cape updates
* add percentile values for stats
* add fix for weekly
* don't display 1 day average if under 17 hours
* zero timeslots of packages not used for this time slot
* add avg stat graphs for cape
* now use the average graphs and update the app page
* add a new graph
* add CAPEv2 docs
* add tests data
* lots of style cleanup
* another tweak for the test data
* fix misc style issues
* add cape to apps page
* add nicecase for cape
* case fix
* json fix for test data
* add a missing stat
* some more test data tweaking
* more misc test updates
* more test tweaking
* more test work...
* more test data work
* add what is hopefully the final test tweak
* Update enexus.yaml
Add support for "Smartpack R"
* Update enexus.yaml
* stop adding specific models
Anything responding to the oid should be valid.
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Use 'counter' for some TrueNAS sensors
* Test Data
* Missed one
* Update index to force sensor to be re-discovered
* Switch sufix from '_Count' to '_rate'
* Update ipmi.inc.php
* Update ipmi.inc.php
Fix use default port if not specified
* Update ipmi.inc.php
Fixed for more consistency with the rest of the file
* filter_var returns the value
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix port search columns
* Port search API search more than one fields
Fixup port APIs
Change validate_column_list api helper to throw a renderable exception on error and return the valid columns
DeviceCache::get() can handle a bigger range of input
* whitespace
* Refactor exceptions a bit
* change throws type to be more generic
* Lint fixes
Edgeos on EdgeRouter Lite 3-Port (erlite-3) picked up as generic device #14611
Not sure about other edgemax devices but the value of sysDescr for the EdgeRouter Lite running v2.0.9-hotfix.4 is "Ubiquiti EdgeOS", so neither regex matches.
* 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
* Adding device's field in get_alert_rule and lis-alert-rules API function
* Converting SQL request for list/get_alert_rules to Eloquent (thanks a lot to Murrant)
* Manually added #14500 to pass pipeline
* Fixing StyleCI error + trying to fix PHPStan errors
* Trying to fix PHPStan errors (part 2)
* 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
* 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
* API graphs, variable whitelist
Restore several missing parameters that relied on graphing code fetching from $_GET directly.
Whitelist valid parameters to set on the request get
Move common parameter handling into common code
* Fix style
* Include previous
* 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