Commit Graph

602 Commits

Author SHA1 Message Date
Tony Murray 7fe895bd08 Revert "Refactor datastores to classes (#9179)" (#11273)
This reverts commit e5dad7a64e.
2020-03-11 07:52:52 -05:00
Tony Murray e5dad7a64e Refactor datastores to classes (#9179)
* Datastores to object oriented code, using the Laravel IoC container

Change instantiation
better DI
move OpenTSDB

Small re-orgs

remove unused stuff

Fix graphs and other scripts

Use DI for all except rrd

fix up connection error handling

Add tests, fix up a "few" things
Add Config::forget()

Style fixes

Don't reference legacy code

remove accidental code paste

Add datastores phpunit groups

some tests

* rebase fixes

* some test fixes

* shorter tests

* shorter tests

* Don't except when rrdtool can't be started.

* restore tests

* fix rrd tests

* fix iterable change upstream

* fix isValidDataset

* fix invalid data bug

* fix mysql incorrect ds

* fix issue with data that is too long

* use regular data_update()

* Use log facade

* OpenTSDB mis-ordered arguments fix

* Making a singleton with different options makes different singletons.  Just use the global config settings to disable datastores.

* only filter tags for datastores that won't it don't modify the tags permanently

* Update copyrights to include original authors.

* Stats for all datastores

* Fix mysql sends different rrd / other ds names

* fix snmp last stats not initialized
remove unused function

* remove unused function and move single use function closer to its use

* InfluxDB does not need to update null or U values.
Skip write if all fields are empty

* Fix smart value checks

* fix style issues
2020-03-10 19:08:00 -05:00
SourceDoctor fa753c2c57 Fix - not - not in - Operator Crash in Device Group (#11250) 2020-03-07 16:29:46 +01:00
SourceDoctor c059225652 Changed poller member validation step and message (#11239) 2020-03-05 16:50:53 +01:00
Tony Murray c70e1b936a Bump version to 1.61 2020-03-01 22:03:32 -06:00
Tony Murray 21518a5cfd Validate that php sockets is available (#11177) 2020-02-25 19:00:12 -06:00
PipoCanaja 13e6a38ee4 Added Cambium PTP670 (#11186)
* cambium PTP670

* Wireless data

* space

* space
2020-02-26 01:28:40 +01:00
Tony Murray 9fb0f1713d Fix global settings array validate messages (#11199) 2020-02-25 07:48:05 -06:00
Tony Murray b78084f1ba Fix invalid dnos test data (#11158)
It encoded non-ascii data in the test string
2020-02-16 17:49:06 -06:00
SourceDoctor 5bfc44f812 Location based Alert Rule (#11128)
* Location base Alert Rule

* travis fix
2020-02-12 12:53:26 -06:00
joseUPV 3b8e6c619e Change Poller time validation (#11108) 2020-02-11 20:32:54 +01:00
Jellyfrog c380921d4b Speed up canAccessDevice/devicesForUser (#10992)
Relying on filtering on user_id/device_id with laravel/arrays is slow.
By splitting the cache on user_id, we can utilize faster array functions
2020-02-05 18:00:08 -06:00
Joseph Tingiris bf3522614c Add a space for times like '1 minute' (#11105)
* Add a space for short times like '1 minute'

* codeclimate, round 1
2020-02-05 17:58:52 -06:00
Martijn Schmidt a64bd45dbc Update IronWare sensors & bgp-peers discovery, allow skip_values to target a specific index appended to the OID (#10941)
* Migrate ironware sensor discovery from php to yaml.

* More sensors, add grouping.

* dynamic_discovery_get_value() becomes getValueFromData()

* Target a specific index with skip_values.

* Improve Brocade BGP session discovery/polling

This commit allows for the correct discovery of BGP sessions
with 32-bit ASNs, IPv6 neighbors using the BGP4V2-MIB which is
based on draft-ietf-idr-bgp4-mibv2-11 and also polls for IPv4
unicast received routes through the FOUNDRY-SN-BGP4-GROUP-MIB.

Copied most of the code from PR#8877 by @Mikeburke14, cleaned
up the code a little bit to match the normal LibreNMS style,
and fixed bgpPeers_cbgp discovery as well as polling for the
ipv4.unicast neighbors.

Note that older Brocade IronWare firmware versions are known
to have multiple defects relating to the BGP4V2-MIB which
might result in certain missing non-established neighbors.

Related vendor defect numbers:

- DEFECT000633962
-- Symptom: The OID bgp4V2PeerAdminStatus does not return the
            correct value
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00g

- DEFECT000583319
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
            does not display all the BGP entries
-- Reported: NI 05.6.00
-- Resolved: NI 05.8.00e

- DEFECT000550309
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
            does not display the full information
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00c

* Add ironware CER & ICX platform test data.

* Re-add ironware.json compatible with current master branch.
2020-02-01 23:28:03 +01:00
Tony Murray dc60edd8bf Include maintainers in release notes (#11002)
* Include maintainers in release notes
Use GraphQL to pull in the exact data we need

* remove changelog

* Update LibreNMS/Util/GitHub.php

Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>

* Update LibreNMS/Util/GitHub.php

Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>

* style fixes

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2020-01-30 06:15:03 -06:00
Joe Clarke 0a34322877 Do not strip tags when markdown is in use. (#11075)
Markdown supports limited HTML tags, which can help enrich messages.
Additionally, eliminate extra whitespace when markdown is used as that
will have weird output effects.
2020-01-29 05:59:23 -06:00
HostIRE 761d105847 Added OS definition and discovery for SIAE Alfo80HD (#11063)
* Added definition and sensors for SIAE Alfoplus80HD

* updated the units for the wireless rate sensor

* Added test data

* regenerated test data as requested by PipoCanaja
2020-01-27 19:39:52 +01:00
SpaceDump 25920be1db Added fix for escaping underscore while using Markdown (#11070)
* Added fix for escaping underscore while using Markdown

* Corrected indentation
2020-01-26 08:05:49 -06:00
Heath Barnhart 59f4491afc SNMP Traps for Juniper Power Supplies (#10965)
* Juniper Power Supply Trap Handlers

* Added unit test

* fixed tests
2020-01-24 05:59:59 -06:00
louis-oui a384fc2830 Do not update alert timestamp when updating a triggered alert (#10907)
* Do not update alert timestamp when updating a triggered alert

* Only update alerts timestamp if alert is triggered or recovered

* db schema

* db schema

* cleanup timestamp update
2020-01-22 15:01:25 -06:00
Joseph Tingiris a2c227ba4c Url.php: Allow findOsImage() to also use the first two words of $feature (#11049)
* Url.php: Allow findOsImage() to also use the first two words of $feature

* LibreNMS is not always using the bunded redhat.svg.
* Modern RHEL has /etc/os-release and distro ends up using it.
* The lsb release is correct, i.e. 'Red Hat Enterprise Linux Server 7.6'
* Previously, findOsImage() only considered the first word of $feature as a possibility for the icon.
* This patch allows using the first two words (with the space removed)
* i.e. 'Red Hat' becomes 'redhat' and findOsImage uses the bundled redhat.svg

* Url.php: use null as an argument rather than ''

* Url.php: only replaceFirst if there is a space in $feature
2020-01-21 19:37:10 -06:00
SourceDoctor 6ffde9ce2d PureFTPd Application (#11048)
* PureFTPd Application

* graphing connected Users
2020-01-21 18:50:11 -06:00
louis-oui e235c59d2f Add alert rule option to invert devices and groups "map to" list (#11038)
* Add alert rule option to invert map to
* Update 2019_12_17_151314_add_invert_map_to_alert_rules.php
* fix invert map to does not work if several groups are set in map to
* Clarify labels
* fix invert map to at rule creation
* clarify invert label
* Fix device in map to - not group
* dummy commit
2020-01-19 14:55:51 +01:00
Heath Barnhart a342a45b74 VMWare Guest State Traps and UI (#11035)
* Initial push

* power trap tests

* vmware heartbeat trap tests

* heartbeat trap test

* created utilclass for common functions

* Changed util class name to better reflect its use

* make vm power state changes to db

* Traps will modify DB

* Removed unecesarry relationship

* Added vminfo modelfactory, tests, and fixed format

* Added suspended state to ui
2020-01-17 18:16:14 +01:00
Kevin Krumm 10b42137e9 Revert "Add alert rule option to invert devices and groups "map to" list (#10954)" (#11036)
This reverts commit 7a8d0b9e09.
2020-01-16 08:42:53 +01:00
louis-oui 7a8d0b9e09 Add alert rule option to invert devices and groups "map to" list (#10954)
* Add alert rule option to invert map to

* Add alert rule option to invert map to

* Update 2019_12_17_151314_add_invert_map_to_alert_rules.php

* fix invert map to does not work if several groups are set in map to

* fix invert map to does not work if several groups are set in map to

* fix invert map to does not work if several groups are set in map to

* Clarify labels

* Clarify labels

* Clarify labels

* Clarify labels

* fix invert map to at rule creation

* clarify invert label
2020-01-15 11:40:01 -06:00
louis-oui e3156cbef6 Support of "disable alerting" in availability map and device summary widget (#11022)
* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* merge for last release

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Hide disabled alerting device from avaibility map

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* Widget device summary

* fix color in widget device summary

* fix color in widget device summary

* Commit to restart travis CI

* Commit to restart travis CI
2020-01-15 11:32:29 -06:00
PipoCanaja ee8297df19 Extend FS switches support, handle lowerLayerDown ifOperStatus (#10904)
* extend FS switches support

* MIB compilation

* HW and Ver

* sensors and CPU

* tests

* correct version

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to handle properly "down" as not up, for OperStat like lowerLayerDown

* try to replace "down" with "not up" :)

* fix other ifOperStatus checks
2020-01-15 08:28:36 -06:00
nistor 8d28e40c53 Fixed issue with SNMP contexts using vlan 1002-1005 on IOS devices (#11031)
* Fixed issue with SNMP contexts using vlan 1002-1005 on IOS devices

* FIX: Component modified from NULL value
2020-01-15 12:10:02 +01:00
Vitali Kari dc3fe103ad Add Lancom OAP-321 Wireless AP (#10982)
* update lancom mib

* add Lancom OAP-321

* refactoring

* switch to available function
2020-01-12 20:03:26 +01:00
Martijn Schmidt f25c91cbd1 Bugfix snmpsim collector: use the correct mibdir (#11003)
captureFromDevice() only returned data for named oids when the MIB
lived in the root mibdir, and could not retrieve data from any
vendor-specific MIB because the mibdir parameter was omitted from
the snmp function call. This meant that snmp commands for the
snmpsim data collector didn't return usable data. As a result
the test data wasn't complete for many discovery components.
2020-01-12 14:22:11 +01:00
louis-oui 0e3c472018 "Disable alerting" on device disables alert rules check (not just alert transport) (#11015)
* Fix disable notify

* Fix disable notify

* Disable all alerting

* fix db migration

* fix db migration

* fix db migration

* Add autoclearing active alerts if disable alerting set

* Add autoclearing active alerts if disable alerting set

* fix check

* Device in gray if disable_notify is set - not ignore tag
2020-01-09 18:46:52 -06:00
Tony Murray d21eb10af6 Bump version to 1.59 2020-01-04 09:08:35 -06:00
Vitali Kari 532ab1127a Mpls Path Visualization (#10936)
* update nokia mibs

* database migrations

* add code

* html code

* update db schema

* add test data

* add FIXME

* move mibs/nokia/MPLS-TE-MIB to mibs/MPLS-TE-MIB
2020-01-01 23:45:06 +01:00
Jellyfrog b361710148 Device group based access (#10568)
* Device group based access

* Use Permissions class to resolve permissions

Also give port access based on device access

* Convert more pages to use Permissions class

* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json

* Change Models and Permissions

* Clean up ajax_search LIMIT sql

* Convert more pages to use Permissions class

Co-authored-by: Tony Murray <murraytony@gmail.com>
2019-12-30 12:11:26 +01:00
SourceDoctor b125dd1eae get colors from getColorState function (#10955) 2019-12-27 10:57:29 +01:00
SourceDoctor 60f33f79b6 get colors from getColorState function (#10956) 2019-12-27 10:56:56 +01:00
SourceDoctor a1f4b1b88f Get Colors from getColorState function, for Transport Slack (#10957) 2019-12-18 23:49:22 +01:00
SourceDoctor b24bf02c2a Move alert state color definition to config (#10958) 2019-12-18 11:08:32 +01:00
SourceDoctor f835198a45 Globalize getColorForState function (#10944)
* globalize getColorForState function
2019-12-17 22:27:08 +01:00
cjwbath c2603e789f More appropriate state colours for MS Teams alerts (#10911)
* More appropriate state colours for MS Teams alerts
* Split colour lookup to new function to keep Code Climate happy
* Remove bits of whitespace
2019-12-13 16:51:34 +01:00
Tony Murray cd044addc4 Add authentication category (#10880) 2019-12-03 17:37:02 +01:00
Tony Murray ddff6dba6d Avoid null device error in deviceLink (#10882) 2019-11-26 08:14:09 -06:00
CrazyMax 58459ff0c5 Detect if LibreNMS is installed from the official Docker image (librenms/docker#46) (#10879) 2019-11-25 14:05:34 +00:00
Tony Murray 2de39f58b3 Bump version to 1.58 2019-11-25 04:54:18 +00:00
PipoCanaja 1ab645c75c Fix regression on HW discovery for Cisco Catalyst chassis (#10877)
* Catalyst fix for HW

* Try to avoid issue with stacks, chassis or standalone boxes

* formatCiscoHardware iosxe for humans

* codeclimate
2019-11-24 01:17:00 +00:00
louis-oui ef562f607e LDAP Add option to authenticate user independtly of OU (#10873)
* Add option to authenticate user independtly of OU
* Set config option in webui
* Compatibility with bind username option
* ran ./lnms translation:generate
* update doc
2019-11-22 19:29:47 +01:00
louis-oui ab2f909a9d Fix LDAP slow login and unable to login (#10872)
* Fix LDAP slow login
* Keep getUserList as is and implement fix in getUser function
* Split getUser function for CodeClimate
* Rewrite GetUser
* Fix no ldap auth when bind user configured - https://community.librenms.org/t/ldap-authentication-problem-with-webui/6115/2
2019-11-22 15:38:42 +01:00
louis-oui f19bbcab41 Revert "Fix LDAP slow login (#10760)" (#10855)
This reverts commit baab9596a0.
2019-11-20 22:58:06 +00:00
louis-oui baab9596a0 Fix LDAP slow login (#10760)
* Fix LDAP slow login
* Keep getUserList as is and implement fix in getUser function
* Split getUser function for CodeClimate
* Rewrite GetUser
2019-11-19 14:16:07 +01:00