* 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.