Commit Graph

401 Commits

Author SHA1 Message Date
Tony Murray
abf4fa0004 Exclude availability module from default testing (#15462) 2023-10-16 07:02:35 -05:00
bnerickson
78a4bfb9d9 Adding Socket Statistic Application Support (#15307) 2023-10-13 22:45:03 -05:00
Tony Murray
14d9d66529 Agent: Packages fixes (+pacman) (#15415)
* 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>
2023-10-08 18:37:33 -05:00
Tony Murray
685d11d4f1 Misc fixes 42 (#15413)
* Misc Fixes

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-10-07 21:39:16 -05:00
Tony Murray
d8c372bbf4 Refactor MAC utilities into a single class (#15379)
* 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>
2023-10-06 07:34:14 -05:00
Tony Murray
be24993cbb Remove snmp functions that are barely used (#15377)
* 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>
2023-10-05 01:29:22 -05:00
Tony Murray
c1258320f8 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>
2023-10-04 10:32:59 -05:00
Tony Murray
c8041b6699 FDB Tables improve performance (#15333)
* FDB Tables improve performance
Reduce unnecessary sql queries, by using a relationship
Cache vendor oui lookups

* Oui already "clean"

* Fix typo
2023-09-25 19:49:22 -05:00
Tony Murray
bfc82a5383 Bump version to 23.9.1 2023-09-18 20:59:06 -05:00
Tony Murray
4b98bd7607 Bump version to 23.9.0 2023-09-15 07:29:15 -05:00
Tony Murray
f670a8074a Fix .env quoting issue (#15298)
Triggered when password contains # and .env file uses windows line returns.

Friends don't let friends use windows line returns
2023-09-08 08:31:41 -05:00
Tony Murray
69297c9e91 Bump version to 23.8.0 2023-08-19 09:13:28 -05:00
Tony Murray
9382959c8c Set mibs explicitly in SnmpQuery (#15199)
* Set mibs explicitly in SnmpQuery
Always override system mibs, so we have consistency
New method to control mibs

* Lint fixes
2023-08-05 14:45:15 +02:00
Tony Murray
12f8bb2040 MAC Vendor OUI use scheduler (#15187)
* 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
2023-08-03 19:29:30 -05:00
Jellyfrog
1a6fe2bff7 Update composer dependencies (#15167) 2023-07-26 22:24:37 +02:00
Tony Murray
3908bddb49 Miscellaneous fixes (#15162) 2023-07-26 01:08:10 +02:00
Andy Norwood
64c4650801 Add FDB table vendor search drop down (#15072)
* 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
2023-07-21 11:30:13 -05:00
Zane C. Bowers-Hadley
54a38dd4cd add the Mojo CAPE Submit app (#15140)
* 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
2023-07-19 22:41:51 -05:00
Tony Murray
6edb3b5046 Bump version to 23.7.0 2023-07-16 23:42:41 -05:00
Tony Murray
eaf0253412 Bump version to 23.6.0 2023-06-23 08:25:03 -05:00
Jellyfrog
b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
Jellyfrog
2b3575a5e9 Laravel 10.x Shift (#14995)
* Apply code style

* Remove explicit call to register policies

* Shift core files

* 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

* Add type hints for Laravel 10

* Shift cleanup

* wip

* wip

* sync translation

* Sync back config

* Public Path Binding

* QueryException

* monolog

* db::raw

* monolog

* db::raw

* fix larastan collections

* fix phpstan bug looping forever

* larastan errors

* larastan: fix column type

* styleci

* initialize array

* fixes

* fixes

---------

Co-authored-by: Shift <shift@laravelshift.com>
2023-05-24 22:21:54 +02:00
Jellyfrog
075267dcc9 Add AllowDynamicProperties to DynamicConfigItem (#15058) 2023-05-23 21:18:03 -05:00
Tony Murray
04bb75f5f3 Alert transport cleanup, no_proxy support and other proxy cleanups (#14763)
* 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
2023-05-23 09:25:17 -05:00
Tony Murray
02896172bd Bump version to 23.5.0 2023-05-19 10:32:19 -05:00
Tony Murray
75f8fe214f Slightly better OS module test output (#15001)
* 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
2023-04-27 14:49:52 -05:00
Jellyfrog
0a351b49fd Laravel 9.x Shift (#14504)
* 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>
2023-04-17 06:51:35 -05:00
Nick Peelman
8a64526e34 Fix a bug when creating test data; if a community contained the strin… (#14739)
* Fix a bug when creating test data; if a community contained the string 'snmp', it would cause test data to not be generated.

Add line start/end anchors, and search for specific SNMP commands, instead of a snmp<wildcard>, and a couple of other minor tweaks...

* Fix unwanted 'g'
2023-04-16 13:42:26 -05:00
Tony Murray
d83ba61408 Fix Legacy vars Processing (#14967)
if a var was set to 0, it would be set to "yes" instead of 0
2023-04-14 16:46:56 -05:00
Tony Murray
d6e1c6ee5f Bump version to 23.4.0 2023-04-06 18:52:52 -05:00
Jellyfrog
68e0b3df28 Apply fixes from StyleCI (#14899)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-03-13 22:32:22 +01:00
Jellyfrog
f111ac22fe APC: Add support for Battery Recommended Days Remaining (#14653)
* 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>
2023-03-10 14:50:56 +01:00
Henne Van Och
2140ff21c5 add more docker stats (#14767) 2023-03-01 01:02:01 +01:00
Tony Murray
c91b9b64d7 Bump version to 23.2.0 2023-02-23 16:27:42 -06:00
Zane C. Bowers-Hadley
98c033e84f CAPEv2 support (#14801)
* 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
2023-01-24 11:20:18 -06:00
Tony Murray
040ebcf917 Bump version to 23.1.0 2023-01-24 10:43:30 -06:00
Tony Murray
8b4263f2f3 Bump version to 22.12.0 2022-12-28 12:26:21 -06:00
Tony Murray
15fbd3adb2 Update PHP dependencies (fix dependencies on PHP 8.2) (#14759)
* Update dependencies (fix dependencies on PHP 8.2)
  - Removing fgrosse/phpasn1 (v2.5.0)
  - Removing php-cs-fixer/diff (v2.0.2)
  - Upgrading barryvdh/reflection-docblock (v2.0.6 => v2.1.0)
  - Upgrading brick/math (0.9.3 => 0.10.2)
  - Upgrading composer/ca-bundle (1.3.3 => 1.3.4)
  - Upgrading composer/composer (2.4.1 => 2.5.1)
  - Upgrading composer/pcre (2.0.0 => 3.1.0)
  - Upgrading composer/xdebug-handler (2.0.2 => 3.0.3)
  - Locking dflydev/dot-access-data (v3.0.2)
  - Upgrading doctrine/annotations (1.13.3 => 1.14.2)
  - Upgrading doctrine/event-manager (1.1.2 => 1.2.0)
  - Upgrading doctrine/inflector (2.0.5 => 2.0.6)
  - Upgrading dragonmantank/cron-expression (v3.3.1 => v3.3.2)
  - Upgrading fakerphp/faker (v1.20.0 => v1.21.0)
  - Upgrading filp/whoops (2.14.5 => 2.14.6)
  - Upgrading friendsofphp/php-cs-fixer (v3.4.0 => v3.13.1)
  - Upgrading guzzlehttp/psr7 (2.4.1 => 2.4.3)
  - Upgrading laravel-notification-channels/webpush (5.1.1 => 7.0.0)
  - Upgrading laravel/dusk (v6.25.1 => v6.25.2)
  - Upgrading laravel/framework (v8.83.23 => v8.83.27)
  - Upgrading laravel/serializable-closure (v1.2.1 => v1.2.2)
  - Upgrading laravel/socialite (v5.5.5 => v5.5.6)
  - Upgrading laravel/tinker (v2.7.2 => v2.7.3)
  - Upgrading league/commonmark (1.6.7 => 2.3.8)
  - Locking league/config (v1.2.0)
  - Upgrading league/flysystem (1.1.9 => 1.1.10)
  - Upgrading librenms/laravel-vue-i18n-generator (0.1.47 => 0.1.48)
  - Upgrading minishlink/web-push (v6.0.7 => v7.0.0)
  - Upgrading nesbot/carbon (2.62.1 => 2.64.0)
  - Locking nette/schema (v1.2.3)
  - Locking nette/utils (v3.2.8)
  - Upgrading nikic/php-parser (v4.15.1 => v4.15.2)
  - Upgrading nunomaduro/larastan (1.0.3 => 1.0.4)
  - Upgrading pear/net_dns2 (v1.5.2 => v1.5.3)
  - Upgrading php-amqplib/php-amqplib (v3.2.0 => v3.4.0)
  - Upgrading php-webdriver/webdriver (1.12.1 => 1.13.1)
  - Upgrading phpdocumentor/type-resolver (1.6.1 => 1.6.2)
  - Upgrading phpmailer/phpmailer (v6.6.4 => v6.7.1)
  - Upgrading phpseclib/phpseclib (3.0.16 => 3.0.18)
  - Upgrading phpstan/phpstan (1.8.5 => 1.8.11)
  - Upgrading phpunit/php-code-coverage (9.2.17 => 9.2.22)
  - Upgrading phpunit/phpunit (9.5.24 => 9.5.27)
  - Upgrading psr/cache (1.0.1 => 3.0.0)
  - Upgrading psr/container (1.1.1 => 1.1.2)
  - Upgrading psr/log (1.1.4 => 2.0.0)
  - Upgrading psy/psysh (v0.11.8 => v0.11.10)
  - Upgrading ramsey/collection (1.2.2 => 1.3.0)
  - Upgrading ramsey/uuid (4.2.3 => 4.7.0)
  - Upgrading sebastian/comparator (4.0.6 => 4.0.8)
  - Upgrading sebastian/exporter (4.0.4 => 4.0.5)
  - Upgrading sebastian/type (3.1.0 => 3.2.0)
  - Upgrading socialiteproviders/manager (v4.1.0 => v4.2.0)
  - Locking spomky-labs/pki-framework (1.0.1)
  - Upgrading symfony/console (v5.4.12 => v5.4.16)
  - Upgrading symfony/css-selector (v5.4.11 => v6.2.0)
  - Upgrading symfony/deprecation-contracts (v2.5.2 => v3.2.0)
  - Upgrading symfony/error-handler (v5.4.11 => v5.4.15)
  - Upgrading symfony/event-dispatcher (v5.4.9 => v6.2.2)
  - Upgrading symfony/event-dispatcher-contracts (v2.5.2 => v3.2.0)
  - Upgrading symfony/filesystem (v5.4.12 => v6.2.0)
  - Upgrading symfony/http-foundation (v5.4.12 => v5.4.16)
  - Upgrading symfony/http-kernel (v5.4.12 => v5.4.16)
  - Upgrading symfony/mime (v5.4.12 => v5.4.16)
  - Upgrading symfony/options-resolver (v5.4.11 => v6.2.0)
  - Upgrading symfony/polyfill-ctype (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-iconv (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-grapheme (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-idn (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-normalizer (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-mbstring (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php72 (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php73 (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php80 (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php81 (v1.26.0 => v1.27.0)
  - Upgrading symfony/routing (v5.4.11 => v5.4.15)
  - Upgrading symfony/stopwatch (v5.4.5 => v6.2.0)
  - Upgrading symfony/string (v5.4.12 => v6.2.2)
  - Upgrading symfony/translation (v5.4.12 => v5.4.14)
  - Upgrading symfony/var-dumper (v5.4.11 => v5.4.14)
  - Upgrading tecnickcom/tcpdf (6.5.0 => 6.6.2)
  - Upgrading tijsverkoyen/css-to-inline-styles (2.2.4 => 2.2.5)
  - Upgrading vlucas/phpdotenv (v5.4.1 => v5.5.0)
  - Upgrading web-token/jwt-core (v2.2.11 => 3.1.4)
  - Upgrading web-token/jwt-key-mgmt (v2.2.11 => 3.1.4)
  - Upgrading web-token/jwt-signature (v2.2.11 => 3.1.4)
  - Upgrading web-token/jwt-signature-algorithm-ecdsa (v2.2.11 => 3.1.4)
  - Upgrading web-token/jwt-util-ecc (v2.2.11 => 3.1.4)

* Remove Net_DNS2_Resolver workaround
2022-12-28 02:03:59 -06:00
Tony Murray
e84b2c0c75 Number Casting allow preceding space (#14699) 2022-12-15 16:01:01 -06:00
Tony Murray
1d3440b943 Unify time interval formatting (#14733)
* Unify time interval formatting
Use carbon for formatting, it supports locales.

* fix style

* remove baseline exceptions

* fixes found by lint
2022-12-15 15:52:53 -06:00
Tony Murray
2aa44217d0 Release notes internal features category (#14700) 2022-12-05 14:15:53 -06:00
Tony Murray
e8c3b2c924 Improve SnmpResponse value() (#14605)
* Improve SnmpResponse value
Can now return a specific oid or the first non-empty oid in a list.
Cache values() call on object to avoid repeated parsing
Improved types

* fix style

* extract getOidParts to fix errors from different parts of the code parsing differently

* new object to deal with cache

* More tests

* whitespace

* style
2022-11-30 19:50:46 -06:00
Tony Murray
bea0389938 Bump version to 22.11.0 2022-11-24 00:01:26 -06:00
Zane C. Bowers-Hadley
8511611f64 add HV Monitor, a generic means for monitoring hypvervisors (#14218)
* 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
2022-11-07 13:35:48 -06:00
Tony Murray
0801af7a81 Consolidate and improve snmptranslate usage (#14567)
* 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
2022-11-07 12:00:47 -06:00
Tony Murray
6cbe6fde4f Mock astext (#14581)
* 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
2022-11-05 01:18:52 +01:00
Tony Murray
55d81fde1e Improve embedded graph title handling (#14544)
* Do not always show graph title.
Setting the default title too early cause the titles to always be shown.
AFAIK, they should only be shown when:
 - title is set by the user or graph itself (not 100% sure)
 - the title variable is set

* Use default for empty titles too

* Don't clean titles so aggressively

* Only show title if explicitly shown

* A little more consistent default titles

* use built-in escape

* Actually show user titles if set
Handle single quotes in title

* initialize title

* $title doesn't need to be nullable
add method getTitle() to always get some text

* Revert incorrect formatting change

* whitespace fix
2022-10-30 23:56:17 -05:00
Tony Murray
4b65dc41d2 Graphing cleanup (#14492)
* WIP

* Fixes and cleanups

* Move parseAtTime to Time util class

* lint fixes, explicitly define variables

* Style fixes
2022-10-28 08:06:29 -05:00
Jellyfrog
34a58c3f9f Miscellaneous cleanup, mostly undefined variables - part2 (#14445)
* Miscellaneous cleanup, mostly undefined variables - part2

* wip

* Update Number.php

* Update BridgeMib.php

* Update Xdsl.php

* Update cisco.inc.php

* Update Cisco.php

* Update entity-sensor.inc.php

* Update entity-sensor.inc.php

* Update entity-sensor.inc.php

* Update avtech.inc.php

* Update functions.inc.php

* Update HostResources.php

* Update ports.inc.php

* Update route.inc.php

* Update cisco.inc.php

* Update Cisco.php
2022-10-18 13:30:42 +02:00
Tony Murray
ddf24809d4 Bump version to 22.10.0 2022-10-17 23:47:05 -05:00