7594 Commits

Author SHA1 Message Date
Bennet Gallein 8fdd1be3a0 feat(apps/mysql): add error-state to non-responsive mysql-servers (#13993)
* feat(apps/mysql): add error-state to non-responsive mysql-servers

* feat(alerting): add alert-rule for offline mysql-servers

* fixup! feat(alerting): add alert-rule for offline mysql-servers

* chore(style): replaced ticks

* fixup! chore(style): replaced ticks

* feat: added migration to make app_status field bigger

* feat: moved error-detection to the application_update function

* fixup! feat: moved error-detection to the application_update function

* chore: updated schema

* chore: fix styling

* Cleaner way to handle the error states

* regex should not include OK

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-06-10 16:22:41 -05:00
hjcday 30da27256b Update Teltonika Sensors for FW R_00.07.02 (#14012)
* Updated MIB

* Add I/O state monitoring, bytes transferred couter

* Update snmprec data

* Update rutos-rutx_rutx11.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-06-07 22:34:39 -05:00
Tony Murray b8f2002150 Procurve hardware description cleanup (#14007)
* Procurve hardware description cleanup
Include part number and other details where available
Covers 100% of known sysDescr
Adds Aruba Instant On parsing
adds string replacements for OS fields

Could use hardware: ENTITY-MIB::entPhysicalDescr.1, but strings contain a lot of fluff and some are just "HP", I leave that for another PR

* restore .gitignore.........

* less specific

* Change regex cosmetically
2022-06-07 09:27:32 +02:00
Kevin Wallace 1b1859051f Add additional OpenBSD PF graphs (#13963)
* Add additional OpenBSD PF graphs

Some of these were already present for PFSense (matches, badoffset,
fragmented, short, normalized, memdropped) and reuse existing graph
types; the others are are added as new types.

* collect-snmp-data.php: support IPv6 hosts

* Add SNMP data for new OpenBSD OIDs

* Stack all OpenBSD PF drops into a single graph/rrdfile

* Pull additional drops in to pf_drops

The MIB descriptions don't say "drop", but reading the OpenBSD source:

https://github.com/openbsd/src/blob/c471a73b6524ed1e52e6e48ecbdea0a4a57c470a/sys/net/pfvar.h#L1196

it's clear that badoff, frag, short, and norm are all drop reasons.
Pull them in into the stacked drop graph, too.

* ./scripts/save-test-data.php -o openbsd -v pf

* Include device_graphs in saved os module test data

* Revert "Include device_graphs in saved os module test data"

This reverts commit a85c902fe9.

* Update to use SnmpQuery

Co-authored-by: Kevin Wallace <kevinwallace@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-06-06 23:49:42 -05:00
Tony Murray 52f70d6bcf Fix printer count sensors when extra garbage. (#14014)
Remove double include
2022-06-06 23:14:10 -05:00
Nash Kaminski acfd09287a Add support for Cisco Nexus 3550 series (formerly Exalink Fusion) devices (#13992)
* Add support for Cisco Nexus 3550-F (formerly Exalink Fusion) devices

* Refactor to refer to the Exalink Fusion as the Cisco Nexus 3550 (post m&a of Exablaze by Cisco) as well as use YAML based OS discovery

* Rename Cisco N3550 ports include

* styleci fixes to n3550 ports include

* Correct N3550/Exalink OS discovery and improve tests

* Improve N3550 OS discovery and poller support

* styleci

* Rename Cisco Nexus 3550 OS from ciscon3550 -> exalink-fusion

* Update file header
2022-06-04 15:39:21 -05:00
Tony Murray 2f4c7ce401 Remove DefaultWidgetSeeder (#14006)
* Remove DefaultWidgetSeeder

* Fix style
2022-06-04 13:11:44 -05:00
Sebastian Heiden faaca7e6f4 Fix OS Detection for USW-Flex-XG (#13999)
* Fix OS Detection for USW-Flex-XG

* Only include OS module
2022-06-01 00:41:04 -05:00
Tony Murray 32f1ce494e Dashboard code cleanup (#13996)
* Dashboard Cleanup
Remove static widgets table, list of available widgets should not be in the database.
Remove legacy ajax scripts
Cleanup and reorganize controllers

* reorganize code to put all dashboard things into it's controller
better url scheme while supporting the original

* lint clean ups

* properly formatted language file

* style fixes

* update schema
2022-05-31 08:08:40 -05:00
Martin22 4e5355b11d Racom Ray2 and Ray3 - Modulation states added (#14001) 2022-05-31 13:17:31 +02:00
Chris A. Evans 5a085f79e5 Feature: Add support to REST API for creating Maintenance Schedules for Device Groups (#13985)
* Add support to REST API for creating Maintenance Schedules for Device Groups

* Update documentation to include the maintenance_devicegroup API endpoint

* Fix quotes

* Fix whitespace

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-05-27 10:38:47 -05:00
Bobdave 4b3f6b7235 Fix Netscaler VServer database updates during polling (#13995) 2022-05-27 14:23:06 +03:00
Nash Kaminski c49885182f Improve support for Arista/Metamako MOS devices (#13988)
* Improve support for legacy Arista/Metamako MOS devices

* Fix indentation in license text

* Fix formatting in OS discovery

* Add hardware type discovery for Arista/Metamako MOS

* style fixes

* Implement hardware model detection for Arista MOS

* Refactor to use YAML based OS discovery

* Reformat test data for arista-mos_metamux48,  0.16 code

* Enable lm_sensors polling of Arista MOS devices

* Remove bgp-peers data from arista-mos test files
2022-05-24 10:45:20 +02:00
Anton Lundin f40693b503 Workaround issues with lldp information from GS108Tv1 (#13971)
The GS108Tv1 doesn't present the same information over snmp as they do
over lldp. This tries to detect such a remote device and figure out
which remote port we actually should map it to.
2022-05-23 13:10:28 +03:00
Charly Forot e34e6e07a5 BGP unnumbered support for Cumulus (#13785)
* Add Cumulus-BGPUN-MIB
* Add bgpPeerIface column into bgpPeers table
* update mysql database for BGP unnumbered support
* Rename BGP unumbered MIB for Cumulus
* remove duplicate Cumulus BGPUM mib
* Use custom BGPUN minb for Cumulus while polling bgp peers
* Update BGP peers discovery for Cumulus with unumbered support
* Update BGP peers polling for Cumulus with unumbered support
* Correct typing error
* Add BGP unumbered Cumulus tests units
* Remove unused SQL file
* Update migrations databse by adding bgpPeerIface into bgpPeers table
* Correct spacing error for continous integration
* Update DB column bgpPeerIface to point to ifIndex
* fix: bgpPeerIface column exist
* fix: use Eloquent instead of dbFetch deprecated
* fix: delete unused namespace
* fix: type bgpPeerIface
* fix: add root cumulus mib lacking
* move root cumulus mib into mibs/
* fix: missing root cumulus MIB
* fix: bgpPeerIface not expected for other OS
* fix: add bgpPeerIface into json tests for other OS
* fix: add bgpPeerIface for poller tests OS
* add relathionship between bgpPeers and Ports tables
* Revert "fix: bgpPeerIface not expected for other OS"
This reverts commit f979482106.
* fix: HasOne not imported
* fix: CI php placement of use line
* fix: bgpPeerIface has not default value
* updates way to fill bgpPeerIface
* remove relationship between BgpPeer and Ipv4Address/Ipv6Address
* fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
* updates cumulus tests
* updates bgpPeerIface already filled
* fix : bgpPeerIface wrong ifIndex
* fix: update cumulus test for polling bgpPeerIface
* fix: CI PHP syntax
* fix: update cumulus test for polling bgpPeerIface
* fix: update cumulus test for polling bgpPeerIface
* Fix Fortigate Test
* Tests
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2022-05-22 14:27:28 +02:00
Marvin Kuurstra 28a5811923 Fix polling and discovery of FortiGate cluster sensors (#13980) 2022-05-20 00:01:43 +03:00
NonStop Networks f71f5d0340 Add Cisco Business Wirless to ciscowlc.yaml (#13984)
* Cisco Business Wirless OS Support CBW100/200 AP

* ciscowlc.yaml update

* Cisco Business Wireless
2022-05-18 08:32:47 +02:00
Tony Murray 5076deccf3 Improve the efficiency of some queries (#13974)
* Improve the efficiency of some queries
Mostly by switching from whereIn to whereIntegerInRaw.
This inserts integers directly into the query instead of using placeholders (also escapes them)

also remove extra json_encode/json_decode in PingCheck

* Fix return types

Probably will result in some missing baseline exceptions.

* Update PingCheck.php

* whitespace
2022-05-16 09:57:58 +02:00
sajiby3k a7147a17e1 Submitting change to oxidized group api to include device purpose or device notes (#13976) 2022-05-14 12:13:44 -05:00
Simon Lockhart 7d3ca73394 Add Eaton SC200 OS model (#13978)
* Add Eaton SC200 OS model

* Remove module disables from eaton-sc200 model
2022-05-12 15:04:19 +02:00
Simon Lockhart 7b08a58e8b Fortigate LTE sensor addition (#13977)
* Update Fortigate OS model to include 4G/LTE stats

* Add Fortigate 60F_3G4G test data

* zero interface counters in fortigate_60f3g4g.snmprec
2022-05-11 18:43:32 +02:00
Martin22 17efcac2eb Added BKE power supply support. (#13972)
* Added BKE power supply support.

* Delete unnecessary snmprec file.

* Renaming the mib file
2022-05-10 10:00:34 +02:00
Zane C. Bowers-Hadley 1416f46197 Remove alert keys from component for Suricata (#13959) 2022-05-06 04:06:20 +03:00
Zane C. Bowers-Hadley 3da935a3e6 variable fixes (#13956) 2022-04-29 07:41:23 -05:00
Dan Kerse 83519458b5 Don't use bulkwalk for PrimeKey Appliances (#13958)
Using GetBulk on PrimeKey is inefficient, partly because the mibs are not
organised into tables. Moving to standard walks improves polling speed by around
10 percent.

Also changed over graphs to something more useful.
2022-04-29 13:23:42 +02:00
Lee Keitel 70bae66057 Fix avtech12e sensors (#13943)
* Fix IPv6 in service check host (#13939)

* Add hostName cleaning to Clean

* Apply RFC 5952 formatting to Clean::hostName output

* Use more liberal cleaning for hostnames

* Remove unwanted whitespace

* Apply Clean::hostName() to all relevant fields

* Fix docstring

* Use IP::isValid inline

* Update Clean.php

* Update services.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>

* Fix avtech 12E environment sensor

Updated MIB for newer internal sensor object schema in 12E models.

Updated discovery yaml file to retrieve temperature and humidity
data from internal and digital sensors.

Added test data for roomalert12e model.

Co-authored-by: Sander Steffann <sander@steffann.nl>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-04-26 09:40:50 +02:00
Zane C. Bowers-Hadley cdf457fbc5 add Suricata monitoring (#13942)
* add poller

* add a generic alert graph

* add support for .total

* add the initial work on the suricata app page

* add applayer flow sources

* more rrd work and add more fields

* add a missing graph to the suricata page

* add suricata to the apps page

* all working now for suricata

* add some suricata alert examples

* all done with the php

* update the application docs for Suricata

* add another note about Suricata stats in the docs

* add the test file

* add the test JSON

* remove a unneeded newline from the appication docs

* correct the type uptime type

* packets graph should by packets/sec

* minor formatting cleanup

* one more minor formatting cleanup

* shot in the dark to see if something fixes the angry linter

* fix snmpsim file

* add metrics

* add values to the metrics

* add a missing comma to the json

* add a missing line to snmprec and cleanup json a bit

* a few more minor changes to see if this makes it happy... regened via scripts/json-app-tool.php

* see if this will make it happy

* add suricata to app discovery and hope that fixes it... take a shot in the dark as to why the linter errors strangely on two of the files

* fix json

* add a missing ] to the json

* rename two graphs so it does not trigger one alert and add a missing metric

* whoops, *_alertString is not a metric
2022-04-25 20:30:49 -05:00
Peca Nesovanovic dd6c8388d9 [mikrotik] fixed RouterOS ipv4/ipv6 routes (#13902)
* fixed RouterOS ipv4/ipv6 routes

* refresh test data

* Added allowUnordered() to route/ip-forward-mib

* move allowUnordered to YAML

* ipCidrRouteEntry -> ipCidrRouteTable
2022-04-23 08:42:24 -05:00
Tony Murray 014213680f Move Config loading to a service provider (#13927)
* Move Config loading to a service provider
That way other service providers can depend on it
Move various random listener registrations into the EventServiceProvider
Various startup cleanup

* Config::persist Set live variable before persisting incase db update fail

* Disable strict mode for legacy code (init.php)

* Disable debug after os test data is gathered

* remove Eloquent::boot it is never used

* remove Eloquent::version

* lint fixes

* style fixes

* there is no c_echo here
2022-04-22 19:12:07 -05:00
Sander Steffann d4479e12dd Fix IPv6 in service check host (#13939)
* Add hostName cleaning to Clean

* Apply RFC 5952 formatting to Clean::hostName output

* Use more liberal cleaning for hostnames

* Remove unwanted whitespace

* Apply Clean::hostName() to all relevant fields

* Fix docstring

* Use IP::isValid inline

* Update Clean.php

* Update services.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-04-22 10:05:55 -05:00
mzacchi 4aaf6f2905 netscaler new counter metrics (#13323)
* Update netscaler.yaml

* Create netscaler.snmprec_sensors.snmprec

* Rename netscaler.snmprec_sensors.snmprec to netscaler_sensors.snmprec

* Create netscaler_sensors.json

* Update netscaler.json

* Update netscaler.yaml

* Update netscaler.json

* Delete netscaler_sensors.json

* Delete netscaler_sensors.snmprec

* Update netscaler.yaml

* Update netscaler.json

* Update netscaler.snmprec

Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Neil Lathwood <gh+n@laf.io>
2022-04-22 01:57:36 -05:00
Tony Murray d026e9f0cc Allow unordered OIDs (global and per-os) (#13923)
* Allow unordered OIDs (global and per-os)
Fix global no_bulk setting, was ignored before
(to fix global needed to rework Config::getCombined() a bit to allow a global prefix to be specified)
Removed invalid use of getCombined and updated tests

* fix whitespace

* update os schema
2022-04-21 21:49:26 -05:00
Tony Murray 8b82341cb7 Fix services command injection (#13932)
* fix services command injection

* Clean more variables

* Update services.inc.php

* Update services.inc.php
2022-04-20 21:32:36 -05:00
Tony Murray 849fa21ea0 Revert "Fiberstore Network Management Unit (#13813)" (#13925)
This reverts commit c5502789b9.
2022-04-15 12:22:36 -05:00
Jonathan J Davis c5502789b9 Fiberstore Network Management Unit (#13813)
* FS OAP OEO and EDFA mibs

* definitions and discovery yaml

* current dbm state temperature and voltage updates

* update on poller and discovery modules

* test data

* removing unneeded pollers and discovery modules as requested

* update to os test data

test data now reflects fs-nmu details instead of module details as module may not be present at previous oid or module may not be present at all in the device

* OS update and Test Date Updates

* channels numbers

* removal of default true poller and discovery modules

* reintroduced previous OEO module data

* StyleCI fixes

* Update fs-nmu.inc.php

* Update fs-nmu.inc.php

* Update fs-nmu.inc.php

* Update fs-nmu.inc.php

* Update fs-nmu.inc.php

Co-authored-by: Neil Lathwood <gh+n@laf.io>
2022-04-15 10:30:41 -05:00
Simon Smith 68b49a0df1 support tplink routers (#13922)
* support tplink TD-W routers

* use sysDescr_regex instead

* Create tplink_dsl

* Rename tplink_dsl to tplink_dsl.snmprec

* add test tplink td-w9970

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-04-15 08:08:00 -05:00
Tony Murray f024ce5405 Improve alert template saving (#13910)
Instead of checking if the result is empty to see if the template parses, just catch exceptions.
2022-04-14 18:29:29 +02:00
Tony Murray 0a84098211 Port Validation Page to Laravel (#13921)
* Revamp validate web page
 to load page then validate, instead of validate then load page

* style fixes

* lint cleanups

* fixes

* translations and a couple fixes

* style fixes

* move result serialization into the class.
2022-04-14 11:22:40 -05:00
ottorei e495769f17 Add ISIS-details to alert details (#13920)
* Add ISIS-details to alert details

* Apply fixes from StyleCI

Co-authored-by: StyleCI Bot <bot@styleci.io>
2022-04-14 00:36:13 -05:00
Tony Murray 5d0670cdf6 Fix port mini graphs (#13911)
* Fix port mini graphs

* fix whitespace

* taller
2022-04-12 16:30:22 -05:00
Tony Murray 10a25d709f Fix Hytera error (#13909)
Divide by Zero
2022-04-12 08:27:31 -05:00
Dan Kerse 128286a40b PrimeKey Improvements (#13901)
* Use OID names for indexing

* Fewer, (mostly) longer walks

* Use bulkwalk
2022-04-11 22:25:20 +01:00
Tony Murray acdf51deca Print full error message in poller/discovery output (#13903)
It was previously missing the file and line number the error occurred on.  Only showing the error message and stack trace before.
2022-04-09 14:21:10 -05:00
Dan Kerse b33bbd472e Add support for PrimeKey Hardware Appliance (#13806)
* Add support for PrimeKey Hardware Appliance

https://doc.primekey.com/ejbca-appliance
https://doc.primekey.com/signserver-appliance

https://doc.primekey.com/ejbca-appliance/operations/webconf-configurator-of-hardware-appliance/monitoring

* Correct off-by-one error for Galera states

* Add load multiplier

* Don't poll transaction ID, it's too messy

* Tabs -> spaces

* Don't modify system load. (Is this a %age or not?)

* CUP moves Load -> Count

* CPU moves Load -> Count

* Now I have MiBs. Attempts to use them are to date unsuccessful

* Removed numeric oids entirely

I'm not sure how easy it will be to conver this to YAML.

* Formatting

* More formatting

* Numeric it is

* Fix States

* Numeric oids

* Shorten Descriptions

* Add DB threshold

* Percent -> Yaml

* Temperature -> Yaml. Relaxed num_oid validation

* Fanspeed -> Yaml

* Volgate -> Yaml

* Count -> Yaml

* State -> Yaml

* Tweak snmp_flags

* minimize icon

* Check if first_word function is required

* Incorporate feedback

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-04-08 06:23:00 -05:00
James b3019f7944 Enhancements for Zyxel OS (#13897)
* Add DBm and State Sensors

Added extra MIB files
Added Dbm levels on ports
Added Stacking State Sensors

* Added include for zynos.inc.php

File patch - includes/discovery/ports/zynos.inc.php

* Create ZYXEL-STACKING-MIB

Official Zyxel MIB

* Create ZYXEL-TRANSCEIVER-MIB

Official Zyxel MIB

* Added test file zynos_xgs4600.json

* Create zynos snmprec test file

* CENSORED zynos_xgs4600.json

* Created new polling file for Zynos ports

Converts zynos SWP port style to be 1/1 style

* Created new discovery for Zynos ports

Changes zynos SWP ports to be 1/1 style during discovery

* Fixing ci complaints in discovery/ports/zynos.inc.php

* Fixing ci complaints in polling/ports/os/zynos.inc.php

* fixing more ci complaints in discovery

* Updated Zynos.snmprec

* Updated zynos.json

* Updated zynos.json

* Removed ifDescr pre-cache

* Removed pre-cache from zynos.yaml

* Reverted zynos.snmprec

* Restored zynos.json

* Updated zynos polling to use zeropad

* Updated zynos discovery to use zeropad

* Updated zynos.yaml

Updated zynos.yaml to include ifname: true to change port names and added '/^ZyXEL/' to sysDescr_regex

* Update zynos.inc.php

* Update zynos.inc.php

* Update zynos_xgs4600.json

* Update zynos_xgs4600.snmprec

* Re-Generated Zynos.json

* Fixed ifOperStatus in Zynos.json

* Delete zynos.inc.php

* Update ports.inc.php

* Added new test data

* Updated zyxel test data and discovery

* Update ports.inc.php

* Update zynos.snmprec

* Updated zynos.json

* Update Zynos.json

* Fix StyleCI issues

* Update zynos.json

* Update zynos.json

* Update zynos.json

* Updated zynos mgs3712.json

* Update zynos_mgs3712.json

* Added back old SFP discovery

-SFP Temperature
-SFP Voltage
2022-04-07 20:49:03 -05:00
Tony Murray 75ba74fe5b Migrate addhost.php to lnms device:add (#13870)
* Migrate addhost.php to lnms device:add
Have snmp-scan.py call lnms device:add (make exit codes line up so this works)
Fix issue with ping only devices trying to detect os via snmp
Reorder options in device:add help and improve formatting
Update docs to remove references to addhost.php
Fix a bit of code that was in functional code

* fixes

* fix snmp version message
2022-04-04 10:41:18 -05:00
Mark Westerterp 971404f416 Added "Ping Response" graph to "Ping Only" Device Overview page (#13886)
* Add Ping performance to Device Overview page

Only if device type is "Ping Only"

* Re-use $perf_url
2022-04-03 14:15:23 +01:00
Claude Brown 958556dc18 Ensure 'add_device' API returns indexed-array (as per documented behaviour) (#13887) 2022-04-03 14:03:03 +01:00
Lucas Dousse 427438a08f remove fixed size for vendor column (#13881)
* remove fix size for column mac adresse

* remove fix size for column mac adresse in port arp tab
2022-03-31 15:43:29 +02:00
Neil Lathwood d2ef957fa8 Added support for Dell PowerVault ME4024 (#13883) 2022-03-31 15:41:52 +02:00