* 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
* 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>
* Reduce os module test noise
JSON stores 1.0 as 1, so format the actual data in the same way.
Add tests too to make sure this behavior doesn't break
* Only change floats
* 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
* 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.
* Slightly better OS module test output
Maybe faster
Remove forced --debug in phpunit
* No assertions is ok
* Use always true assert instead
* Restore route poller module skip
* Sneaky whitespace
* 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>
* 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>
* 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
* 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>