Commit Graph

16818 Commits

Author SHA1 Message Date
Joseph Tingiris
02bc15c206 Asterisk app: add IAX2 peer graphs (#11078)
* Asterisk app: add IAX2 peer graphs

* It's an entirely new graph and will not break existing graphs.
* The asterisk extend script must be updated to provide the appropriate poller data.
* The PR for librenms-agent/snmp/asterisk is here: https://github.com/librenms/librenms-agent/pull/274

* code climate, round 1

* clarified unit text

* code climate, round 2

* changes needed to properly generate test data

* linux_asterisk-v1 test data
2020-02-03 18:47:27 +01:00
SourceDoctor
051ca6503f Remove also associations on scheduled maintenance deletion (#11093) 2020-02-03 11:26:44 -06:00
SourceDoctor
6d9deedcc1 Maintenance Mode for a complete Location (#11089)
* Maintenance mode for a complete location

* updatedatabase query

* updatedatabase query

* add missing select
2020-02-03 11:26:08 -06:00
Martijn Schmidt
07f3c91e6c Revert ironware BGP-peers changes from PR #10941 (#11096)
* Revert ironware BGP-peers changes from PR #10941.

* Regenerate test data without BGP4V2-MIB support.

* Initialise $local_ip

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-03 14:32:45 +01:00
SourceDoctor
c07678d55f Mark Devices in Maintenance Mode (#11092)
* Mark Devices in Maintenance Mode

* code climate fix
2020-02-02 08:33:01 -06:00
Kevin Zink
ee72fa4d3c Added WUT Humidity and Temperature Sensors (#11053)
* Added WUT 57606,57613,57720

* Added os wut-*

* fixed MIB Names and try to generalize wut

* more general sysObjectID mapping, and mib directory

* Delete WUT-57606-MIB

* Delete WUT-57613-MIB

* Delete WUT-57720-MIB

* Rename wut-57613.snmprec to wut_57613.snmprec

* Rename wut-57720.snmprec to wut_57720.snmprec

* Rename wut-57606.snmprec to wut_57606.snmprec

* Delete wut-57606.yaml

* Delete wut-57720.yaml

* Delete wut-57613.yaml

* Delete wut-57606.yaml

* Delete wut-57720.yaml

* Delete wut-57613.yaml

* Update wut.yaml

* Try to correct the Temperature part

This should work for temperature, according to MIB. Pressure and Humidity are not described in this mibfile, so we cannot poll them.

* change wut.yaml

* Add and fix wut_57720

* after ./scripts/save-test-data.php ?

* Add test data

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-01 23:29:05 +01: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
Albert Siersema
398d5fe2b7 Fixed missing PoE graphs for Cisco devices (#11087)
* Fixed missing PoE graphs for Cisco devices where portIfIndex can't be retrieved from CISCO-STACK-MIB

* Codeclimate & Travis error corrections

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-01 11:01:36 +01:00
SourceDoctor
36388e25ea Show Alert Detail for Applications (#11088)
* alert detail for applications

* add link on alert application
2020-01-31 17:59:56 -06:00
Joseph Tingiris
1535d6589d mock.snmp.inc.php: Fix snmptranslate exception (#11085)
* Running ./scripts/pre-commit.php -p -u [-m applications] fails all tests that have 1.3.6.1.4.1.8072 with messages similar to ...

Exception: Could not translate oid: NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."distro"
Tried: snmptranslate -IR -On NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."distro" -M /opt/librenms/mibs

* OIDs with double quotes must be single quoted.  All OID translations work with single quotes, regardless.
2020-01-31 15:07:45 +01:00
SourceDoctor
d893acccda remove redundant information from alert fallback detail (#11081) 2020-01-31 05:42:46 -06:00
SourceDoctor
f0cdf7314b Don't dnslookup if overwrite IP is configured (#11084)
* don't dnslookup if fix IP assigned

* change if statement
2020-01-31 05:38:39 -06:00
SourceDoctor
7950893cd1 Alternate Poller IP instead of Hostname (#10981)
* optional alternative poller ip

* add missing schema update

* .

* enhance API Call 'add_device' with overwrite_ip key

* .

* .

* updating docs
2020-01-30 06:20:30 -06: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
Tony Murray
67b28ec4cd Fix Air Fiber port stats (#11079)
* Fix Air Fiber port stats
Define OS port polling includes in a standard way.
Move Air Fiber code to os port polling include.

* Update snmp data

* fix accidental change

* Some formatting fixes

* should be null
2020-01-30 05:40:58 -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
Joseph Tingiris
3f53eed245 alert.inc.php: Fix missing ACK & Notes modals (#11076)
* BUG: From a device page, click Alerts and attempt to ACK or add a Note.  Nothing happens because the modals are not on the page.
* This patch corrects pages/device/alert.inc.php to include both modal/alert_notes.inc.php and modal/alert_ack.inc.php
2020-01-27 20:02:28 -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
SourceDoctor
e33518ada1 Change Poller Group on Device Settings (#11071)
* change Poller Group on Device

* code climate fix
2020-01-27 06:19:14 -06:00
SourceDoctor
27be237791 Order Poller Group by Name (#11072)
* order poller group by name

* sql query nicement
2020-01-27 06:18:31 -06:00
SourceDoctor
2bd19c655b enhance poller group management (#11073) 2020-01-27 06:17:52 -06:00
cjwbath
198e29c831 Oxidized GUI tweaks (#11066)
* Don't overwrite real port ids with zeros in the FDB

* Remove space to make codeclimate happy

* Provide links to device config view for oxidized config search results

* Use a bootgrid for Oxidized nodes so we can sort, search etc.

* Add a space for codeclimate
2020-01-27 05:31:43 -06: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
SourceDoctor
692247ddf3 only show uptime seperator '-' if uptime present (#11069) 2020-01-26 08:04:52 -06:00
Joseph Tingiris
817cf42896 Fixed device SNMP edit form (and better feedback) (#11068)
* Fixed device SNMP edit form (and better feedback)

* snmp.inc.php: Fix SNMP Edit form (better feedback)
* The feedback for Max Repeaters and Max OIDs is much better.  The constant false errors on save have been corrected.  The are no longer applicable and muted when SNMP is turned off. Their feedback now clearly shows the user what has been done.
* Rename & relabel $no_checks as $force_save (Force Save) because that's simpler and more clearly defines what the code is doing when you turn it on.
* Reorder the Force Save checkbox to be right above the Save button so it's even more clear what it does.  Force Save and Save are the only elements on the form that do *not* have a database setting.  They're ephemeral and now grouped as such.
* Embedded comments about the use of === false as tests for setAttrib() and forgetAttrib()

* snmp.inc.php: code climate updates, round 1

* remove blank lines
* refactor duplicate code blocks
* remove join on string
* move print_messages to the bottom of the form

* snmp.inc.php: code climate, round 2

* avoid deeply nested control flow statements (8)

* snmp.inc.php: when to $force_save and $device_isssnmable

* move $force_save outside of if ($snmp_enabled) so it works properly
when snmp is disabled.
* only check isSNMPable() if snmp is enabled

* snmp.inc.php: move $device_snmp_details

* $device_snmp_details are only needed for isSNMPable(), so only call
them within the same contingency

* snmp.inc.php: cleanup & hardening

* add SNMP Settings header (to better mimic Device Settings, etc)
* use Toastr for feedback, rather than print_message & print_error
* after editing, always unset($_POST) and the other variables used for editing
* unless the save is forced, if !$device_issnpable then don't save *anything* in the database and revert *all* previous form settings (some already were being reverted & some weren't)
* more variables were ordered alphabetically, unused variables were and removed
* for snmpver, don't use .toggle(); use .hide() & .show() so the form reverts properly when it fails

* snmp.inc.php: clarify placeholder for max repeaters

* snmp.inc.php: code climate, round 3

* correct blank line found at the end of control structure (2)
* correct space before opening parenthesis of a function call prohibited (3)
2020-01-26 08:04:00 -06:00
LEV82
71ccb6a15c Updated test data for arubaos, fs-switch, ifotec, lcos, siklu and trendnet, to pass Travis tests (#11067)
* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent

* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent

* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent

* Updated test data for arubaos, fs-switch, ifotec, lcos, siklu and trendnet, to pass Travis tests

* Updated test data for arubaos, fs-switch, ifotec, lcos, siklu and trendnet, to pass Travis tests
2020-01-25 07:39:45 -06:00
SourceDoctor
5f3ad6465e Renice Device Module Naming like in global Settings (#11061) 2020-01-24 08:58:34 -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
LEV82
9ce7c83caa Add bad_ifoperstatus for filtering interfaces having a status for example 'notPresent' (#10977)
* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent

* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent

* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent
2020-01-24 05:58:01 -06:00
Hayden
46028521d2 add aggregate totals to multiport_bits graph, similar to port_bits (#11065) 2020-01-24 05:48:35 -06:00
ccperilla
21a8ebc31e SNMP counters validation (#11037)
* SNMP counters validation

Validation step added before counters are updated in table 'bill_port_counters'.

Avoid wrong data to be added to the table in case the SNMP polling function return an invalid value.

check --> https://community.librenms.org/t/wrong-billing-record-in-delta/8540

* SNMP counters validation #11037

--> Fixed lin identation.

*Updated message to be printed out in logs.

* SNMP counters validation #11037

Fixed blank spaces.

* SNMP counters validation #11037

Removing white spaces

* SNMP counters validation #11037

Sorry, more white spaces...
2020-01-24 05:44:55 -06:00
JohnSPeach
2960fc10f5 Add sensors to Infoblox discovery (nios.yaml) (#11043)
* Update nios.yaml

I tried to pull them all in using {{ index }}, but it didn't actually work.....
This adds the DHCP, DNS and NTP service statuses.

* Dynamic service discovery

* typo

* Create nios_status.snmprec

* Create nios_status.json

* Array

* Typo, more

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-01-24 00:33:41 +01:00
Joseph Tingiris
68419b1130 Fix FatalThrowableError in forgetAttrib() (#11064)
* From a device's SNMP edit form, when attempting to remove previously set Max Repeaters or Max OIDs values, a fatal error

was being thrown.
* Fix Call to a member function delete() on null {"userId":2,"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to a member function delete() on null at /opt/librenms/app/Models/Device.php:406)

* This patch corrects the ability to use the device's SNMP edit form to remove device attributes that had been previously set.  The values of Max Repeaters or MaxOIDs can now be deleted from the database.
2020-01-23 15:48:14 -06:00
louis-oui
6931df8990 Alertlog stats dashboard widget (#10967)
* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Dashboard for alertlog stats

* Cleanup

* Cleanup

* Cleanup

* date selection

* date selection

* fix js rule details

* cleanup js

* dummy commit to reload CI/CD

* dummy commit to reload CI/CD
2020-01-23 08:16:30 -06:00
louis-oui
4395b002ab Add 'alert history' widget for dashboard (#10901)
* add alert history dashboard

* add sql-schema

* only alert

* add settings

* add settings

* fix display alert details

* fix db-schema

* add filtering by severity

* fix code climate

* Update common.php
2020-01-23 05:27:57 -06:00
louis-oui
945be18ea6 Always update widget seeds when db update (#10917)
* Always update seeds when db update WIP

* Only update widget seed
2020-01-22 15:03:12 -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
Josh Baird
1c043069b1 Fixed Siklu Voltage Sensor (#10997)
* Fix Siklu Voltage

* Update tests

* Another test fix attempt

* Decimals..

* Ok, enough.

* Restore currently used index value and correctly push num_oid

* Update siklu.json

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-01-22 09:32:39 +00: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
Joseph Tingiris
3629db9464 fdb-table.inc.php: Fix SQL constrain violation, 'port_id' cannot be null (#11055)
* fix SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'port_id' cannot be null
* If $entry['port_id'] truly is null (on insert) then Illuminate throws a fatal error and all subsequent processing stops.
* Cisco ISO (and others) may have null ids. We still want them inserted as new
* strings work with DB::table->insert().
2020-01-21 10:46:34 +01:00
TheGreatDoc
f99c45b4c1 Update Installation-CentOS-7-Apache.md (#11056)
Fixed typo
2020-01-21 08:53:14 +00:00
O Palivan
05d6e696f0 Create CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB (#11052) 2020-01-20 21:52:50 +01:00
arrmo
0439a6202c Minor updates for dd-wrt, clarify snmp source better (#11051) 2020-01-20 12:36:51 +01:00
SourceDoctor
0b18ae7d89 Centralize Application Display Naming (#11047)
* centralize Application Display Naming
* remove space character
* function call corrections
* Travis fix
2020-01-19 22:31:40 +01:00
cjwbath
0c16f21a2e Don't overwrite real port ids with zeros in the FDB (#11041)
Avoid writing "0" as port id when the data came back incomplete from the snmp poll, and when the existing data in the DB already contains a port. Keep the existing port id instead.
2020-01-19 22:30:13 +01:00
PipoCanaja
cd85976ed8 add Zyxel MGS-3712 Sensors (#11050)
* intermediate commit

* test data
2020-01-19 22:01:36 +01:00
Vitali Kari
f4a9787178 Added Zyxel MGS-3712 Sensors (#11050)
* intermediate commit
* test data
2020-01-19 22:01:17 +01:00
Vitali Kari
f0187034e8 test data 2020-01-19 21:37:19 +01: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