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