Commit Graph

1863 Commits

Author SHA1 Message Date
Tony Murray
0f8fb0aea3 RouterOS: use mtxrGaugeTable instead of mtxrHealthGroup (#15289)
* 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
2023-09-08 13:55:51 -05:00
Zane C. Bowers-Hadley
2618a99be5 Application Soft Delete (#15270)
* 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
2023-09-06 16:34:39 -05:00
eskyuu
298d217a8b Added support for Nutanix VM count, disk state, CPU usage and RAM usage (#15252)
* 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
2023-08-30 21:11:04 +02:00
Tony Murray
2cd207028a Implement RBAC (only built in roles) (#15212)
* 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
2023-08-28 00:13:40 -05:00
Félix Bouynot
93d7286381 Initial support for f5os (#15241)
* 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
2023-08-25 01:53:21 +02:00
Tony Murray
6e4d124619 Misc fixes 2 (#15190)
* 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.
2023-08-13 18:43:52 +02:00
Wheel
8bd8682bae APC new sensors and fix (#15179)
* 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}
2023-08-10 20:10:31 -05:00
Tony Murray
e100d17665 Netscaler, don't use 0 divisor (#15204) 2023-08-05 12:12:53 -05:00
Tony Murray
d1b7004fef Severity Enum (#14620)
* Severity Enum
Replace old Alert constants

* Fix whitespace

* Additional uses

* style fixes

* Fix test too

* More missed locations

* More
2023-08-05 12:12:36 -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
523e76db71 Fix sensor discovery fetch issue (#15193)
* Fix sensor discovery fetch issue

* value is not in an array

* Fix type

* remove exception...

* Update HarmonyEnhanced

* update test data
2023-08-04 13:25:19 +02:00
jgelinas
65b4db8172 Openmanage enterprise modular (#14408)
* 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>
2023-08-03 19:55:09 -05:00
Jellyfrog
5a56e9081e Use Laravel schema migration command directly (#14039)
* Add new schema migration command

* Apply fixes from StyleCI
2023-08-03 19:26:48 -05:00
fufroma
c030b0c00e RFC1628 - Force cast on some values before doing arithmetic (#14613)
* 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
2023-07-31 22:18:26 -05:00
Tony Murray
3908bddb49 Miscellaneous fixes (#15162) 2023-07-26 01:08:10 +02:00
Janno Schouwenburg
ffffdd2663 Fix Timos SAR Cellular RSRP and RSSI sensors (#15163)
* Fix Timos SAR Cellular RSRP and RSSI sensors

* For some reason test data generated on dev machine double quoted backslashes, fixed
2023-07-26 01:04:35 +02:00
Slashdoom
1f7d5451a2 Add VLAN Discovery for arubaos-cx (#15055)
* add vlan discovery for arubaos-cx

* style fixes

* style fixes

* string interpolation fix

* status walk not used

* add snmprec for 10.10 + vlans

* Create arubaos-cx_10.10.json

---------

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2023-07-24 21:47:46 -05:00
Zane C. Bowers-Hadley
40cceee8b4 update SMART monitoring to the use JSON (#15132)
* 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
2023-07-24 17:03:45 +02:00
fbourqui
a978476cda Fortigate ipv6 ipsec (#15150)
* 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
2023-07-20 07:50:49 -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
Zane C. Bowers-Hadley
2ac9a634b4 Logsize monitoring for LibreNMS (#15137)
* 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
2023-07-19 22:02:23 -05:00
Tony Murray
1d7d241894 Add Calix E7 (EXA) PON port sensors (#15145)
* 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
2023-07-17 08:54:04 -05:00
AdamB
b27dfa5891 Add support for PrimeKey Software Appliance (#15059)
* 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
2023-07-07 23:35:53 -05:00
Sander Blomvågnes
8081a3f3c8 Change state value for unplugged linecard (#15126) 2023-06-28 14:24:59 +02:00
Zane C. Bowers-Hadley
00cf300d1a add Suricata Extract submission stats app (#15105)
* 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
2023-06-25 20:48:26 +02:00
Cyril LAVIER
dc7b702bd8 Add regex for Supermicro switches running firmware 2.0 or newer, now called "SuperSwitch" (#15083)
* Add regex for Supermicro switches running firmware 2.0 or newer, now called "SuperSwitch".

* Add test data for Supermicro MBM switch
2023-06-24 12:22:59 -05:00
Tony Murray
0a3678d11a Convert several JunOS sensors to yaml (#15118)
* 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
2023-06-24 11:52:36 -05:00
Zane C. Bowers-Hadley
f84fca697c add Privoxy stats support (#15114)
* 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
2023-06-23 15:27:28 -05:00
Wheel
106219d9cb APC new sensors (#15090)
* 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
2023-06-23 15:08:48 -05:00
mtentilucci
278890ce0a update mlos-nsp discovery (#15117) 2023-06-23 14:43:03 -05:00
Zane C. Bowers-Hadley
5da8e70bf4 add Sneck support, making it very trivial to use Nagios style checks in a NRPE like manner (#13954)
* 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
2023-06-15 09:06:28 -05:00
Justin Lentz
b0ddd4ef15 Extend Avocent Support (#14914)
* Add files via upload

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Rename ACS6000-MIB to ACS-MIB

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Update avocent.yaml

* Create avocent_acs6048.snmprec

* Create avocent_acs6048.json

* Delete avocent_acs6048.json

* Same as avocent_6000

* Point at ACS MIB

ACS-MIB::acsSerialPortTableName

* Update avocent_6000.snmprec

Update avocent_6000 with additional MIB

* Update Test data

* Update avocent_6000.snmprec

* Update avocent_6000.snmprec

* Update avocent_6000.json
2023-06-14 22:50:44 -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
Garcia MICHEL
e547945985 Improve OpenWRT detection (#15096)
* Improve OpenWRT detection

* Add test data

* Remplace openwrt date with new one
2023-06-12 13:59:24 +02:00
Zane C. Bowers-Hadley
0ed68e33de add Linux Softnet Stat app (#15094)
* 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
2023-06-11 16:37:55 +02:00
Zane C. Bowers-Hadley
3190bdb8b2 add ZFS L2 support (#15095)
* 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
2023-06-11 16:32:28 +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
d-k-7
dd3ed41319 add sensor support for cefcModuleOperStatus (#15026)
* 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
2023-05-24 20:43:37 +02:00
Jellyfrog
153be4d583 Tests: Fix Dusk tests after 13626 (#15057) 2023-05-23 19:23:15 +02: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
Nick Peelman
da94ac5a85 Add RoomAlert 12E Switch Sensors, fix Humidity Sensor (#15049)
* 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>
2023-05-19 10:14:09 -05:00
Tony Murray
38c29e0222 Reduce OS module test noise (#15046)
* 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
2023-05-19 09:57:39 -05:00
mtentilucci
e55c4e9e1e Add support for Trellix NSP devices (#14964)
* 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
2023-05-16 17:25:29 -05:00
cjsoftuk
635acad7d6 Firebrick CPU Monitoring (#15030)
* Add FB CPU definition.

* Poll in the right OID.

* Add test data for FB CPUs.
2023-05-09 17:32:34 +02:00
bnerickson
56e9fa3742 Adding linux_config_files application support (#14776) 2023-05-09 10:23:49 -05:00
cjsoftuk
927446db7b Fix Firebrick mempool polling (#15022)
* 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.
2023-05-02 14:02:50 -05:00
cjsoftuk
bc310cffec WIP: Add support for memory monitoring on Firebrick platform (#15021)
* Add support for Firebrick memory monitoring.

* Add mempool testing for Firebrick.
2023-05-02 07:12:09 -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
Tony Murray
2f39917f3b Fix up icr-os outdated test data (#15006)
* Fix up icr-os outdated test data

* fix sensor data too
2023-04-25 20:53:17 -05:00
Mathias Bøhn Grytemark
204abe0cf2 add advantech icr-os for advantech routers (#14171) 2023-04-25 07:54:41 -05:00