Commit Graph

131 Commits

Author SHA1 Message Date
PipoCanaja
e2f835ad9d
FDB table with history capabilities (#9804)
* Migration script and data feeding

* Adding the columns in the GUI

* build schema

* update FDB test data

* Use of timestamps()

* ignore created_at and updated_at in tests, and regenerate test impacted

* daily.sh does the cleaning

* space cleaning codeclimate

* Use carbon instead of str-val

* handle when $fdb_entry->updated_at and created at are null

* handle when $fdb_entry->updated_at and created at are null (force travis rerun)

* Doc update

* Doc update
2019-02-21 13:23:01 +01:00
Neil Lathwood
5d74839139 Removed legacy transports and templates code (#9646)
* Removed legacy transports and templates code

* Add notification

* abstract LnmsCommand

* Only issue alerts "legacy" alerts to mail for default contacts, etc.

* Prevent no contacts error when default contact is not specified, or there are no contacts for other reasons.

* remove eval \o/

* Update notifications.rss
2019-02-15 07:58:59 -06:00
Tony Murray
5f0015ab8b
Fix cisco component alert macro (#9805) 2019-02-13 10:10:04 -06:00
Vitali Kari
d60a0da7de Add support for Nokia ISAM (#9793)
* add mibs,first commit

* adds support for Nokia ISAM Plattform

* remove some comments

* change os polling to multi oid

* Restore file headers

* Fix discovery by sysObjectID

* first deactivate checks against IHUB (timos), It not necessary so long we can not provide more thatn one snmp community per device

* move snmp state and temperature from pre-cache

* Update os_schema.json
2019-02-12 20:23:02 -06:00
Lucas Dousse
0b1c737659 Add conditions for bgp admin status = stop (#9773)
I propose this change so that bgp sessions down volunteer is not on alert
2019-02-04 08:52:26 -06:00
Tony Murray
dc6ff2a323
lnms bash completion (#9747)
* lnms bash completion
Initial version

* fix style

* Refactor for readability
Include default options for all commands

* fix php5.6
always show - options
2019-01-28 08:45:47 -06:00
Tony Murray
ce6fae8dd1
Rewrite netcmd and ripe whois tools (#9724)
* Port RIPE whois to Laravel

* remove netcmd.php and port to laravel.
Escape CLI and set it to stream output live.

* fix browser buffer bust on a few browsers.
2019-01-25 15:30:58 -06:00
PipoCanaja
d4f32a250e Support for Alcatel OmniPCX (#9375)
* device: support for Alcatel OmniPCX Server

* device: support for Alcatel OmniPCX Server - add test data

* rename

* Add a new versatile type of sensor, without unit - doc extension

* tests data updated for omnipcx

* new count test after funny rebase

* clean

* tests

* index in yaml file ...

* Update omnipcx.json

* try to add pbx state

* Change function snmpwalk_cache_oid to allow snmpvalue without index

* testdata

* Adapt the discovery_schema (to allow a non_indexed oid)

* Update snmp.inc.php
2019-01-22 17:34:45 -06:00
Martijn Schmidt
e0da083f5c New OS: Schleifenbauer, entity-physical improvements, various html page fixes (#9471)
* Fix some comment and documentation typos.

* Fix various entphysical page display issues.

- Resolve flickering during loading (missing liClosed for nested items).
- Clicking a sensor actually takes you to the matching graph now.

* Add a few nicecase() calls to clean up html page display.

* Create discover_entity_physical() function

- Add discover_entity_physical() function into includes/discovery/functions.inc.php
- This allows for an easy implementation of OS-specific entity-physical discovery.
- Update includes/discovery/entity-physical/entity-physical.inc.php to use the new function.

* Add power_consumed and power_factor sensors.

* Two new icons, make more entPhysical data visible.

* Pre-commit fix: blank line found at end of control structure.

* Add Schleifenbauer OS support.

* Now really fix the comment typo.

* Fix parsing mistakes.

* Add a generic count sensor.

* Make the Schleifenbauer discovery use count instead of state sensors.

* Don't place count sensor at the top, add sane limits for Schleifenbauer

* Finetuning the rrd_options, changing Schleifenbauer sensor names.

* Update schleifenbauer.svg

* optimize logo too

* add test data

* fix sensor value display (spaces break it)

* update entPhysicalIndex
2019-01-20 12:24:11 -06:00
Vitali Kari
b55938f031 Nokia vrf bgp (#9622)
* first commit

* clean code

* add snmpsim data for bgp

* renumber sql patch

* clear public ip

* update  misc/db_schema.yaml

* add test data and renumber sql-schema

* sql-schema

* sql-schema

* Update module_tables.yaml

* Update module_tables.yaml

* Update timos.json

* Update timos.snmprec

* Rename 281.sql to 282.sql

* update test data

* db migration

* Update 2019_01_16_195644_add_vrf_id_and_bgpLocalAs.php

* update db schema

* Update 2019_01_16_195644_add_vrf_id_and_bgpLocalAs.php

* Update 2019_01_16_195644_add_vrf_id_and_bgpLocalAs.php

* Update db_schema.yaml

* update schema
2019-01-19 11:44:32 -06:00
PipoCanaja
b4741442c5 VRP: implement NAC data polling (#9592)
* VRP: implement NAC data polling

* typo

* Add and alter ports_nac table

* SQL syntax

* Adding fields in the GUI

* Set the default column visibility depending on OS

* ./build-schema.php

* Add vlan support for Cisco and correct ios_nac testdata

* Improve date display and column ordering

* Add vrp_nac testdata

* revert old DB schema

* db in migration syntax

* build-schema

* moment.duration() for time_left and time_elapsed
2019-01-19 11:26:52 -06:00
Kevin Krumm
8f07eceda3 Alert Rules: fix for critical and warning rule (#9688)
* Alert Rules: added sensor alert

To sensor alert Critical and Warning. 
sensors.sensor_alert = \"1\"

* Update alert_rules.json
2019-01-19 09:26:05 -06:00
Tony Murray
10f6eac677
Validate database constraints (#9670)
* Validate database constraints

* Fix some differences with migrations

* Update functions.php
2019-01-17 08:59:42 -06:00
PipoCanaja
8e80121c33 Add group to sensor 1st discovery + template syntax {{ $xxx }} (#9667)
* add group to sensor initial discovery and use dynamic_discovery_get_value template syntax on them

* spaces

* switching to YamlDiscovery::replaceValues

* testdata from ibmc

* testdata from nxos

* testdata from omnitron-iconverter

* testdata from vrp

* adapt discovery_schema to accept variables

* remove pattern

* Update discovery_schema.json
2019-01-15 20:56:30 -06:00
Paul Heinrichs
ebe2ecf524 Laravel migrations (#8868)
* Add migrations and seeds

* Fix spacing validation issues

* Fix linting

* Update tabs to spaces

* Update daily and install process

* Make build-base.php use the new migrations if empty or at dbschema 1000.
Seed 1000 into the database.
Temp fix for the route table index length (this table basically isn't used...)

* Fix typo in seed.
Hard code legacy schema checks to version 1000 (999 would have worked as is)

* Port association table no longer exists

* Make database validate again

* DB schema, remove as many DB::statement as possible

* update migrations
add librenms cli entry point (artisan)
update validate to check laravel migrations

* remove statements from users migration

* Fix up daily.sh and the 1000 migration

* Update migrations to current state
Take advantage of environment variables to set DB credentials.

* Fix style issues

* Update schema

* fix test db collation

* Fix migration table definition

* update db migrations

* Update migrations

* Update stats callback.  Just count the total migrations applied.

* Update 1000.sql.

* update migrations

* remove the graph type seeder, it is no longer needed

* update docs

* fix whitespace

* remove extra schema

* update tests

* fix sort

* add message

* dbSchema should actually be 1000

* add character set to db create

* Fix some artisan issues

* Update schema
2019-01-14 06:44:23 -06:00
Tony Murray
63c85429ae Added support for grouping sensors (#9606)
Improves visual identification for sensors

 - [x] Docs

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2019-01-11 22:42:56 +00:00
Tony Murray
daffa7e274
Eventlog updates (#9633)
* Eventlog updates
remove host from eventlog table, retain in api
allow most fields nullable

* updated schema

* revert auth for legacy log_event function
safer check in the model

* add function modifiers
2019-01-10 00:52:00 -06:00
Tony Murray
5620d1bd1b
Allow strings for skip value comparisons (#9635) 2019-01-09 22:20:05 -06:00
Tony Murray
a97ccda0b9
Fix wireless sensor edit messages and collection alert rule (#9624)
* Fix wireless sensor edit messages and collection alert rule

* fix alert rule quotes

* json type
2019-01-09 19:40:27 -06:00
Tony Murray
ef8d7adad0
Remove graph_types definitions from DB (#9618)
* Remove graph_types from DB.

This is silly since defining them in definitions.inc.php already does the same thing.
Adds missing ones in definitions.inc.php and rewrites others since I already wrote them before I realized they were duplicates.

* remove dead table

* Remove graph_types inserts from schema files.

* update db_schema.yaml
2019-01-08 13:46:45 -06:00
Tony Murray
b3bb742bd8
Database consistency pass (#9612)
* Database consistency pass
Change ids to unsigned ints
Also change int timestamp fields to unsigned to fix the Y2038 BUG :D

* reduce the amount of queries and hopefully temporary tables

* oopsie
2019-01-05 09:28:31 -06:00
Tony Murray
f10cbddacc Refactored Alert schedule (#9514)
* add AlertSchedule model and relationships
change table structure to match the expected layout

* Update maint schedule map ui

* better index name

* Laravel queries
fix some issues with the ui: restricting start incorrectly and loading empty days error

* handle date limiting properly

* Another attempt add schedule constraints

* use Auth

* Update WorldMap widget to use check isUnderMaintenance

* Rename 275.sql to 276.sql

* Rename 276.sql to 277.sql
2019-01-03 22:42:12 +00:00
Tony Murray
c2e52cfab6
Fix db schema oopsie (#9586) 2018-12-21 10:24:37 -06:00
Jose Augusto Cardoso
aa25b2b47a NAC Polling (Network Access Control) (#9227)
* RouterOS wireless sensors update (#9401)

* bug-fix and new features

Fixed incorrect OID for rate, renamed rate to TX-Rate as per update from mikrotik.

Added support for link distance

* Fixed indent issue

* Added support for using Transport name in templates (#9411)

* Added ability to sort alert schedules by status (#9257)

Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Converted Polling From Ports to New Module (cisco-nac)

* Converted Polling From Ports to New Module (cisco-nac)

* Fixed alert util (#9428)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fixed AlertUtil - again (#9429)

* Update BEGEMOT-HAST-MIB (#9427)

FIX: 
Due to a missing import and the uppercase after some SYNTAX this mib is not bein compiled correctly everywhere.
For example the one from Horizon OpenNMS fails with some errors 
ERROR: Cannot find symbol UNSIGNED32, Source: BEGEMOT-HAST-MIB.txt, Row: 321, Col: 17

The proposed change prevent the errors.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fixing Travis CI and Code Climate Issues

* Fixing Travis CI and Code Climate Issues

* Fixing Travis CI and Code Climate More Issues

* Fixing Travis CI and Code Climate More Issues

* Fixes delta calculation for bgpPeers_cbgp metrics (#9431)

The values in the $peer['c_update'][$oid] array are set only if they have
changed. If the value has not changed, then zero is substituted for real
values, which leads to incorrect calculation of delta values and records
in the database:

SELECT AcceptedPrefixes,AcceptedPrefixes_prev,AcceptedPrefixes_delta
FROM bgpPeers_cbgp
WHERE device_id=115;

| AcceptedPrefixes | AcceptedPrefixes_prev | AcceptedPrefixes_delta |
|------------------|-----------------------|------------------------|
|               21 |                    21 |                    -21 |

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Improve Junos state sensor discovery (#9426)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

Tested on MX and EX series, works fine.
Skip slots that are empty and pull all sensors in jnxFruTable, data from old code is preserved.

* Added alerts schedule notes into device notes (#9258)

* Add alerts schedule notes into device notes

Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Update preferences.inc.php

* Show port description and dns name in FDB table (#9370)

- Added Port Description field to FDB Table
- Added DNS Name field to FDB Table
- Fixed sorting by port in FDB Table

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Update draytek.inc.php (#9432)

* Removed unnecessary model checks in HiveOS Wireless (#9409)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added format field to Telegram Messages (#9404)

* Add format field to Telegram Messages

Added Telegram field to send formatted messages as Mardown or HTML

* Update Telegram.php

* Correct Mistypo.

* Correct mistypo

* Correct Mistypo

* Correct mistypo

* Update Transports.md

* Add Format field on Telegram Examples

* Change Telegram Format field to type select

* Add "blank" option to Format field

* Update Telegram.php

* Update Telegram.php

* Update Telegram.php

* Disable page refresh on health sensors pages, autorefresh most tables (#9386)

* Disable page refresh on health sensors pages
Refresh all bootgrid tables every 5 minutes

* Update legacy_index.php

* Update librenmsv1.blade.php

* Style cleanup in hiveos file (#9440)

Fix code style check for https://github.com/librenms/librenms/pull/9438

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Ensure the checks for ASA context devices are strict (#9441)

* Show visually in webui + cli when using deprecated templates or transports (#9413)

* Show visually in webui + cli when using deprecated templates or transports

* Fixed query

* Added Bing geocode lookup support (#9434)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added ScreenOS Syslog Hook (#9438)

* Add ScreenOS Syslog Hook

Adds Syslog Hook for ScreenOS
https://community.librenms.org/t/juniper-screenos-syslog-hook/6146

* Update Syslog.md

* Update syslog-notify-oxidized.php

* Discovery YAML. Do not implicitly append $index (#9315)

Require it explicitly. Makes it easier to understand and matches the style of other values

Questionable YAML changes (either broken before or now broken):
secureplatform: haStatCode
ptp600: receiveModulationMode

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Update Syslog.md (#9443)

Fixed the screenOS output added in #9438 which was confusing mkdocs output. Refer to the docs currently https://docs.librenms.org/Extensions/Syslog/ - It's all mashed up at the bottom

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fix ping.php poller groups setting
confusion between dispatch(new PingCheck($groups)) and PingCheck::dispatch($groups)

* Replaced Other to Disabled on Metod Column

* Replaced Other to Disabled on Metod Column

* Removed Extra Character < on Authz Icon

* Removed Extra Character < on Authz Icon

* Created sql-schema (261)

* Created sql-schema (261)

* Update docs for virtual images (#9456)

* Added Traffic to the Windows OS overlib graph (#9445)

WebUI: added Traffic to the Windows OS overlib graph

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Update World-Map.md to include pros/cons (#9442)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added allow ipv6 address localhost nginx-status docs (#9458)

Following the modification of the SNMP Nginx agent (e0dcd4a064), linux distributions make requests in IPV6, so you must allow ::1 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fixed altering transport mapping in rules clearing all mappings (#9455)

* Change unpolled devices toast to be based on rrd step (#9391)

* Change unpolled devices toast to be based on rrd step

* Update message

Change it back to 3x

* Added resources/links and devices/hostname/links API calls for xDP (#9444)

* api: Add list_links and get_link api calls

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* api: Add get_links api call

Signed-off-by: Misha Komarovskiy <zombah@gmail.com>

* Update detection for Allied and Radlan OS (#9454)

"1.3.6.1.4.1.207.1.4.128" is currently reporting as allied, when it should be reporting as radlan.

Refer to https://community.librenms.org/t/allied-telesis-discovery/6189/8

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Updated HiveOS wireless detection (#9459)

* Added ability to record traceroutes for devices down due to ICMP (#9457)

* Added ability to record traceroutes for devices down due to ICMP

* Update Templates.md

* Updated schema

* Update dev-overview-data.inc.php

* Filter email options based on backend in Alert settings (#9461)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Update Configuration.md

* Updated detection for AKCP devices (#9460)

* Updated support for Avocent devices (#9462)

* Updated support for Avocent devices

* Add ACS8048 hardware to json

* Update avocent.inc.php

* Update avocent_8000.json

* Syslog name translation (#9463)

* Check to see if a host exists in a lookup table to translate received name to what LibreNMS knows

* Added some documentation on how this is configured

* Use \LibreNMS\Config instead of accessing $config directly

* Fix codeclimate finding: Additional blank lines after USE statement

* murrant suggested a much cleaner way of doing this!

* fix snmp engine time (#9470)

* Added more sensors for IRD (PBI Digital Decoder) (#9339)

* added over bitrate graph

* added bitrate

* added more state sensors

* Update ird.snmprec

* Update ird.json

* Update Ird.php

* Update Ird.php

* Update Ird.php

* Update ird.json

* Updated json test data

* Update ird.snmprec

* Updated json data

* fix test value

* fix num_oid

* Add new sysDescr string for AlliedWare Plus products. (#9430)

* Add new sysDescr string for AlliedWare Plus products.

Release 5.4.8-2.1 of AlliedWare Plus will change the format of the
sysDescr string. This patch updates Allied Telesis yaml files to work with
this change.

Signed-off-by: Luuk Paulussen <luuk.paulussen@alliedtelesis.co.nz>

* save-test-data.php: Use correct variable for 'os' argument.

Signed-off-by: Luuk Paulussen <luuk.paulussen@alliedtelesis.co.nz>

* Create awplus_5.4.8-2.json

* Update awplus_5.4.8-2.json

* add a tool for working with JSON apps (#9084)

* add initial work on script for working with json apps

* finish the code portion

* -h now done

* rename it to be slightly more accurate

* make hash key strings

* exit if -a is not present

* now exit after checking the file if -s or -t is given

* now properly add the applications key

* snmp_max_oid per Os support and snmpv1 multi_oid fix (#9343)

* Added snmp_max_oid config at Os level.

* Added check for snmpv1 on multi_oid requests.

* Check  device_oid_limit on multi get

* Use array_chunk

* Update snmp.inc.php

* remove dump, unused variable and extra plodes

* per device settings should take priority over OS

* Update Settings.md

* don't discard the data :P

* fixing option to let user pick saved test data filename, exit if ther… (#9242)

* fixing option to let user pick saved test data filename, exit if there are many os/variant combination for a single output filename

* fixing style issues

* Update save-test-data.php

* Update save-test-data.php

* Add support for Firebrick Hardware (#9403)

* Added support for Firebrick devices

* Added support for Firebrick devices

* Update firebrick.inc.php

* Update firebrick.inc.php

* Update firebrick.svg

* Update firebrick.svg

* Added SNMP Check

* Added SVG View Box

* Display XML in config tab

* Update firebrick.svg

* Update firebrick.yaml

* Update showconfig.inc.php

* Create firebrick.json

* Check sysDescr for JunOS version. (#9247)

* Cisco: change notKnown status to unknown and not warning (#9222)

* Cisco: change notKnown status to unknown and not warning

* Update cisco.inc.php

* Improve the Logical Checking if Data Exist on DB

* Improve the Logical Checking if Data Exist on DB

* Update SQL-Schema File Name

* Update SQL-Schema File Name

* add app for getting status of TCP connections for specified services (#8090)

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* remove dump of get_portactivity_ports function added during rebase

* update to the current json_app_get

* add portactivity snmprec

* add the portactivity test data

* whoops bad merge when rebasing... fix

* minor formatting cleanup and add a missing comma

* fix some odditities with what one of the tests is doing

* whoops... include the use for the exception

* set the response to okay

* attempt to make snmpsim array check happy again

* the json now lints

* more making metric testing happy

* one more update to make travis-ci happy

* now flattens arrays also add array_flatten

* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named

* go through and properly add all the metrics

* tested with the newest one and it works

* whoops, clean up json and remove prototype that was used when putting it together

* doh! make it happy with laravel now

* see if a minor changing in formatting for the numbers makes the polling unit test happy

* order them properly

* remove a comma

* a few more minor fixes

* Replace dbFetchRows to dbFetchRow on Some Exist Checks

* Replace dbFetchRows to dbFetchRow on Some Exist Checks

* Fix Some Code Climate Issues

* Fix Some Code Climate Issues

* Fixed More Code Climate Issues

* Fixed More Code Climate Issues

* Fix do not include template text in HTML page (#9476)

* Fixed $speed lenght in port parser when > 32 characters (#9479)

* Fix global read check for demo account (#9482)

* Improve documentation for service plugins (#9414)

* Begin adding preinstalled plugin documentation.

Also add information about how the titles of the plugins are displayed and detected.
Make page visible on the websites Table of Contents.

* Add note about plugin loading based on file name.

* Added all monitoring-plugins URLs.

* Format URLs on the service plugin docs list.

* Correct a URL on the plugins list.

* Removed leftover text from plugin list docs.

* Add pkg-nagios-plugins-contrib plugins to docs.

* Add DSA pkg-nagios-plugins-contrib plugins to docs

* Added a few missing lines of pkg-nagios-plugins-contrib text.

* Remove links plugins we dont have URL for.

Add a few more pkg-nagios-plugins-contrib ones.

* Remove list. Point to the main sources directly.

* order by sensor_descr aswell (#9478)

Sort sensors by sensor_descr

* Fix os additional information for some that were broke (#9466)

* Fix os additional information for several OS.
$poll_device is not available, use $device

* fix draytek test data

* Fixed Procera ports ifIndex and ports added by the poller (#9384)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Change group owner for php/session for CentOS 7 nginx install (#9393)

By default on CentOS 7, /var/lib/php/session is root:root.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Refactored and update Location Geocoding (#9359)

- Fix location so it is a regular database relation (this allows multiple devices to be accurately linked to one location and saves api calls)
- Parse coordinates from the location more consistently
- Add settings to webui
- ~~Used [PHP Geocoder](http://geocoder-php.org/), which has lots of backends and is well tested. (also includes reverse and geoip)~~
- Google Maps, Bing, Mapquest, and OpenStreetMap supported initially.
- Default to OpenStreetMap, which doesn't require a key.  They will liberally hand out bans if you exceed 1 query per second though.
- All other Geocoding APIs require an API key. (Google requires a credit card on file, but seems to be the most accurate)
- Update all (I think) sql queries to handle the new structure
- Remove final vestiges of override_sysLocation as a device attribute
- Update existing device groups and rules in DB
- Tested all APIs with good/bad location, no/bad/good key, and no connection.
- Cannot fix advanced queries that use location

This blocks #8868

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added Aprisa support (#9435)

* Created 4RF Aprisa XE support

* Made requesed change by @laf

* cleanup

* Fix sensor index and add test data

* Added support for Waystream products (#9481)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

This has been running in two production networks for > 3 months without any issues.

* Marathon detection

* support for Marathon based UPSs

* added Marathon Power logo

* testing marathon ups

* Fix for #9485 (#9486)

* Fix for #9485

* Update ajax_search.php

* Testing Maraton ups device type

* Fix issues cause by new location and other misc (#9490)

* Fix issues cause by new location and other misc
fix some queries so we return devices with null locations
remove unnecessary query of all ports on ports page lists
make locations menu available to non-admins for the legacy menu
fix a few issues with the old network-map

* fix graphs

* fix oxidized query

* added rfc1628 compat and removed discovery file

* small changes to verbiage

* Changes to display

* Fixed test on over section

* Removed Current graph.  Not available from this device.

* Locations UI and editing (#9480)

* Better handling of errors
Mapquest seems to return the center of the US on error.......

* Editable locations WIP

* Change to bootgrid ajax table WIP

* Graphs working, using handlebars
update js libs
add current location button

* remove sql query, change icon

* Add the map to the device view, only when gps is expanded.
Allow edit on device page, share js code

* fix chevron rotation, improve click area

* extra warning

* fix overview layout (remove containers)

* fix style

* fix html divs, change collapse ui a bit
move css, update css/js versions

* start zoomed out on new locations

* don't double load scripts, zoom to 17

* fix php-md errors, remove unused use statement

* improve non-admin experience

* Move locations page to Laravel
More functions in Url and Html util classes
reduce code duplication

* translation buttons too

* fix whitespace

* move formatters to the frontend

* small changes

* disable traffic for locations with no devices

* change down 0 to green from gray

* missing "

* Fix paginate all

* working fix for paginate all

* allow sort by counts

* fix down sort

* a little safety

* Don't call the function twice

* btn-xs

* Added json test data

* Fix locations page search (#9501)

* Add bing layer to leaflet (#9497)

Also, polyfill for IE used by both bing and google maps

* Change locations default sort order (#9502)

* changed variable name to resolve issue with Gitlab transport

* removed else to satisfy codeclimate checks

* changed tabs to spaces

* added CISCO-NAC-TC-MIB

* added CISCO-NAC-TC-MIB

* Added changelog for 1.46 release (#9510)

* Add additional composite index to speed up display of pages where a device has a lot of syslogs. In our environment, this took page loads for some devices from over 60 seconds to nearly instant

* Forgot to add db_schema.yaml in previous commit

* Update cucs mib to fix warnings (#9517)

* Added HPE Comware temperature limit (#9518)

Changed the Temperature High threshold for a HPE Comware Switch to the values provided by snmp.
This means the actual threshold configured in the switch is used over any predefined/auto calculated thresholds by LibreNMS.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added Comtrol device detection (#9491)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fixed integers fields in alert rules to be string (#9496)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Focus and select location on override (#9503)

* Focus and select location on override

* Submit location on enter key

* SAF CFM wireless device support (#9450)

* Added support for SAF CFM L4 wireless device

* Added copyright statement according to LibreNMS documentation

* Added snmp test data and excluded some discover modules from os definition

* Style issue fixed

* More descriptive function

* MIB file rename

* Rename MIB file and change other files accordingly

* Added test data

* Removed debug statement

* Last checks

* Style changes

* Style changes

* Style changes

* Style changes

* Code restructure to make it more readable

* Fixed error in foreach

* Style issues

* Formatting of states within Yaml changed to make it more readable

* Omit default arguments

* Better code and modules only in CFM-M4P-MUX

* Chaged cfml4 to cfm

* Update Sensor.php

* Update Sensor.php

* Better handling of scientific numbers

* Better handling of scientific numbers

* New test data

* Correction on handling trailing zeros

* Different way of cleaning the numbers based on Tony's input

* Audiocodes initial support (#9508)

* Create audiocodes family with very basic sensors

* audiocode polling php and test files

* audiocode polling php and test files

* audiocode test files

* audiocode cleaning

* tests with selective polling disabled

* GitHub test script updates  (#9507)

* GitHub test script updates
add --reject to apply so it will skip binary files since GitHub does not create diffs for them correctly
Add new directories to the removal cleanup. Remove non-existant ones.

* Cleaner way to apply skip png files explicitly.
That way patches are still atomic.

* [UI] Fix last column of table (#9506)

* [UI] Fix last column of table

* move td outside of if and remove else

* Add Device Dragonwave Harmony Enhanced (#9499)

* Add Dragonwave Harmony Enhanced MC Device

* Remove single quote from null and 10 divisor

* Update and rename HarmonyEnhancedMc.php to HarmonyEnhanced.php

* Rename harmony-enhanced-mc.yaml to harmony-enhanced.yaml

* Update and rename harmony-enhanced-mc.yaml to harmony-enhanced.yaml

* Rename harmony-enhanced-mc.inc.php to harmony-enhanced.inc.php

* Rename harmony-enhanced-mc.snmprec to harmony-enhanced.snmprec

* Update HarmonyEnhanced.php

* Update HarmonyEnhanced.php

* Update HarmonyEnhanced.php

* Update HarmonyEnhanced.php

* More Code Climate Fixes

* Create harmony-enhanced.json

* Dynamic_discovery_get_value in can_skip_sensor to use all oids in skip_values (#9495)

* Use of dynamic_discovery_get_value in can_skip_sensor in order to use all available oids in skip_values

* Use LibreNMS\Device\YamlDiscovery code instead of keeping duplicated function can_skip_sensor

* Fix Travis errors

* Device management fall back to http if https isn't available.
Adds a slight delay on management clicking, may be blocked by popup blocker...

* Updated harmony OS poller to use multi get (#9525)

* docs: fix images doc (#9527)

There is no capital I in the password...

* fix error when location is missing from the DB (#9523)

* get geolocation at first poll (#9522)

* get geolocation at first poll

based on the logic of code, we will have to wait 2 days from adding new device for lat and lng to be updated

* Update Location.php

* Update Location.php

* Fixed Typo in YamlDiscovery.php (#9530)

Hi,

As far as I understand the code, it seems that array_reduce should be array_replace in this line, isn't it ?

PipoCanaja

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Fixed alert log showing only green instead of all by default (#9529)

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

By default, when you access Alert History it was showing only OK (Green) ones instead of all. You had to hit filter to show them.

* Fixed customers page (#9521)

move customers table backend to Laravel

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Added detection if this is a git based install or not. (#9379)

Not sure about the warning or text.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.

* Change snmp-scan heading (#9492)

* Fixed plugins using d_echo (#9498)

Move d_echo to helpers.php and include in autoload
Don't remove from common.php yet to be extra safe.

* Use Eloquent for DB access
Move print-nac into nac.inc.php
Rename module to generic nac, If implemented for other OS later this can be extended but the name should be the same
Add items required for testing

* Use Eloquent for DB access
Move print-nac into nac.inc.php
Rename module to generic nac, If implemented for other OS later this can be extended but the name should be the same
Add items required for testing

* test github

* test github

* test git

* test git

* Added Network Access Control polling and store on DB

* Added Network Access Control polling and store on DB

* Added NAC tab on device page

* Added NAC tab on device page

* Added NAC tab page on device main page

* Added NAC tab page on device main page

* Fixed Auth ID data parsing

* Fixed Auth ID data parsing

* Filter Device ID on NAC Tab page

* Filter Device ID on NAC Tab page

* Converted IP Address form HEX to DEC format

* Converted IP Address form HEX to DEC format

* Formated grid on NAC print page

* Formated grid on NAC print page

* Added AuthC status

* Added AuthC status

* removed useless lines

* removed useless lines

* Fix some typos

* Fix some typos

* Fix Code Climate Issues

* Fix Code Climate Issues

* Fixed more Code Climate Issues

* Fixed more Code Climate Issues

* Fixed more Code Climate Issues

* Fixed more Code Climate Issues

* converted dbQuery() to dbUpdate()

* converted dbQuery() to dbUpdate()

* Fixed more Code Climate Issues

* Fixed more Code Climate Issues

* Removed Hex to Dec test codes

* Removed Hex to Dec test codes

* removed unused classes

* removed unused classes

* Change my own IP Hex to Dec conversion to IP::fromHexString Class

* Change my own IP Hex to Dec conversion to IP::fromHexString Class

* CLA Signature

* CLA Signature

* Merge all dbUpdate on only one call

* Merge all dbUpdate on only one call

* Replaced Table to Bootgrid

* Replaced Table to Bootgrid

* Converted Polling From Ports to New Module (cisco-nac)

* Converted Polling From Ports to New Module (cisco-nac)

* Fixing Travis CI and Code Climate Issues

* Fixing Travis CI and Code Climate Issues

* Fixing Travis CI and Code Climate More Issues

* Fixing Travis CI and Code Climate More Issues

* Replaced Other to Disabled on Metod Column

* Replaced Other to Disabled on Metod Column

* Removed Extra Character < on Authz Icon

* Removed Extra Character < on Authz Icon

* Improve the Logical Checking if Data Exist on DB

* Improve the Logical Checking if Data Exist on DB

* Replace dbFetchRows to dbFetchRow on Some Exist Checks

* Replace dbFetchRows to dbFetchRow on Some Exist Checks

* Fix Some Code Climate Issues

* Fix Some Code Climate Issues

* Fixed More Code Climate Issues

* Fixed More Code Climate Issues

* added CISCO-NAC-TC-MIB

* added CISCO-NAC-TC-MIB

* Use Eloquent for DB access
Move print-nac into nac.inc.php
Rename module to generic nac, If implemented for other OS later this can be extended but the name should be the same
Add items required for testing

* Use Eloquent for DB access
Move print-nac into nac.inc.php
Rename module to generic nac, If implemented for other OS later this can be extended but the name should be the same
Add items required for testing

* no way to set device attrib and no need...

* no way to set device attrib and no need...

* add db schema

* add db schema

* fix link in device page, links for ports

* fix link in device page, links for ports

* Use ajax for table

* Use ajax for table

* fix tests

* fix tests

* change the columns to find existing entries to port_id and PortAuthSessionDomain

* change the columns to find existing entries to port_id and PortAuthSessionDomain

* Update 274.sql

* Update 274.sql

* Reorder Columns on NAC Page to Better Presentation

* Reorder Columns on NAC Page to Better Presentation

* rename database columns and update schema

* rename database columns and update schema

* add iftype to test data, rename variable

* add iftype to test data, rename variable

* correct types...

* correct types...

* Update 274.sql

* Update 274.sql

* order capture output

* Add model observer for nicer discovery output

* Add copyright to poller module

* Handle multiAuth, multiDomain and normal modes seperatly for determining unique entries.

* Use mac_address as the unique identifier

* update index

* Improve the data variety a bit

* remove accidental schema
2018-12-19 21:18:30 -06:00
Tony Murray
fad0bffc43 Escape SNMP & IPMI shell commands (#9537)
hopefully doesn't break anything
Mostly issues with snmp oids and options containing spaces.  Try to remove all of those.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2018-12-16 13:42:50 +00:00
PipoCanaja
377b77dc80 feature: Macros for xDP neighbours alert rules (#9531)
* Macros for xDP devices

* Documentation for macros.port_has_xdp_neighbours

* Stupid typo while renaming macro port_has_xdp_neighbours_device
2018-12-10 22:20:53 -06:00
Tyler Sweet
5c2f5c1444 Forgot to add db_schema.yaml in previous commit 2018-12-03 11:14:08 -06:00
Tony Murray
3e35ee0e7d Refactored and update Location Geocoding (#9359)
- Fix location so it is a regular database relation (this allows multiple devices to be accurately linked to one location and saves api calls)
- Parse coordinates from the location more consistently
- Add settings to webui
- ~~Used [PHP Geocoder](http://geocoder-php.org/), which has lots of backends and is well tested. (also includes reverse and geoip)~~
- Google Maps, Bing, Mapquest, and OpenStreetMap supported initially.
- Default to OpenStreetMap, which doesn't require a key.  They will liberally hand out bans if you exceed 1 query per second though.
- All other Geocoding APIs require an API key. (Google requires a credit card on file, but seems to be the most accurate)
- Update all (I think) sql queries to handle the new structure
- Remove final vestiges of override_sysLocation as a device attribute
- Update existing device groups and rules in DB
- Tested all APIs with good/bad location, no/bad/good key, and no connection.
- Cannot fix advanced queries that use location

This blocks #8868

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2018-11-28 22:49:18 +00:00
VVelox
c5bb60907c add app for getting status of TCP connections for specified services (#8090)
* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* remove dump of get_portactivity_ports function added during rebase

* update to the current json_app_get

* add portactivity snmprec

* add the portactivity test data

* whoops bad merge when rebasing... fix

* minor formatting cleanup and add a missing comma

* fix some odditities with what one of the tests is doing

* whoops... include the use for the exception

* set the response to okay

* attempt to make snmpsim array check happy again

* the json now lints

* more making metric testing happy

* one more update to make travis-ci happy

* now flattens arrays also add array_flatten

* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named

* go through and properly add all the metrics

* tested with the newest one and it works

* whoops, clean up json and remove prototype that was used when putting it together

* doh! make it happy with laravel now

* see if a minor changing in formatting for the numbers makes the polling unit test happy

* order them properly

* remove a comma

* a few more minor fixes
2018-11-22 09:05:38 -06:00
Alan Gregory
c78f92a4c2 snmp_max_oid per Os support and snmpv1 multi_oid fix (#9343)
* Added snmp_max_oid config at Os level.

* Added check for snmpv1 on multi_oid requests.

* Check  device_oid_limit on multi get

* Use array_chunk

* Update snmp.inc.php

* remove dump, unused variable and extra plodes

* per device settings should take priority over OS

* Update Settings.md

* don't discard the data :P
2018-11-21 13:25:39 -06:00
Neil Lathwood
ceea9d4981 Added ability to record traceroutes for devices down due to ICMP (#9457)
* Added ability to record traceroutes for devices down due to ICMP

* Update Templates.md

* Updated schema

* Update dev-overview-data.inc.php
2018-11-19 09:58:59 -06:00
Tony Murray
1d48cf7db2 Discovery YAML. Do not implicitly append $index (#9315)
Require it explicitly. Makes it easier to understand and matches the style of other values

Questionable YAML changes (either broken before or now broken):
secureplatform: haStatCode
ptp600: receiveModulationMode

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`.  If there are schema changes, you can ask on discord how to revert.
2018-11-10 23:45:24 +00:00
Neil Lathwood
86d862fb25
Added support for allowing alerts to un-ack (#9136)
* Add support for allowing alerts to un-ack

* Updated db_schema.yaml

* Update and rename 263.sql to 265.sql

* Fix up ui a bit.

* Renamed sql file
2018-09-19 23:38:01 +01:00
Tony Murray
32a7c50189
Use Laravel authentication (#8702)
* Use Laravel for authentication
Support legacy auth methods
Always create DB entry for users (segregate by auth method)

Port api auth to Laravel

restrict poller errors to devices the user has access to

Run checks on every page load.  But set a 5 minute (configurable) timer.
Only run some checks if the user is an admin

Move toastr down a few pixels so it isn't as annoying.

Fix menu not loaded on laravel pages when twofactor is enabled for the system, but disabled for the user.
Add two missing menu entries in the laravel menu

Rewrite 2FA code
Simplify some and verify code before applying

Get http-auth working
Handle legacy $_SESSION differently.  Allows Auth::once(), etc to work.

* Fix tests and mysqli extension check

* remove duplicate Toastr messages

* Fix new items

* Rename 266.sql to 267.sql
2018-09-11 07:51:35 -05:00
TheGreatDoc
d475665601 Added BGP Peer Descriptions (#9165)
* Added BGP Peer Descriptions

* Fixed formatting

* Added to device routing tab too

* Some text formatting

* Test files

* Added default null to bgpPeerDescr

* Added db_schema.yaml

* Fix default value for bgpPeerDescr

* Fixed Order and Search box

* Added glyphicon for success/error

* Switch to toastr notification

* Removed unused bootstrap code
2018-09-10 22:54:46 -05:00
Tony Murray
8c83838f99 Fixed latency over 1s causes db update to fail (#9157)
* fix latency over 1s causes db update to fail

* Moved schema file 264-265.sql
2018-09-06 23:11:28 +01:00
TheGreatDoc
4bb9ac7797 Fixed PeeringDB module (#9158)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`

Fixed "Show connected IXes" that I broke in my past PR (Sorry for that)
Changed remote_as in pdb_ix_peers from varchar to unsigned int for correct ordering.
Also I've corrected a typo in the "Show connected IXes" button
2018-09-05 19:26:18 +01:00
Tony Murray
4d9924242f
Database schema cleanup (#9064)
* target db_schema

* Database schema cleanup
Remove several inconsistencies (mostly with data types and lengths)
Make things a bit nicer to implement with Laravel database migrations.
poller* tables had f'd up indexes

* Update tests, extra noise because db returns numeric types now.

* Update test data again.

* fix 253 migration for mysql 5.3
2018-09-05 07:34:50 -05:00
TheGreatDoc
192ed630bb Update devices.bgpLocalAs field from varchar to int (#9098)
* Update devices.bgpLocalAs field from varchar to int

* Fixed reorder

* Fix to requested changes

* Fix reorder again
2018-08-28 14:27:18 -05:00
Tony Murray
4158615f85 Fixed OSPF duplicate DB entries (#9051)
Re-write ospf polling using Eloquent

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-08-21 14:06:49 +01:00
VVelox
e134a55556 convert zfs over to use json_app_get (#8573)
* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml
2018-08-19 17:44:11 -05:00
Tony Murray
50bb72f530 Remove port association mode map from the database (#8941)
* Remove port association mode map from the database

* Renamed sql file

* Renamed sql file
2018-08-05 09:50:13 +01:00
Tony Murray
9bc0c542a5 Allow ping checks to be ran separately from polling (#8821)
Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-30 22:58:38 +01:00
Steve Johnson
ac3fa28f7e Added Citrix Netscaler HA sensors and alerts (#8800)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [ ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-25 22:51:06 +01:00
Steve Johnson
4abf27b28e fix: Match interface counter64 OIDs with unsigned bigint (#8940)
* fix: Match interface counter64 OIDs with unsigned bigint

* move to one line, add ifInOctets

* Update db_schema.yaml

* Update db_schema.yaml
2018-07-24 23:43:53 -05:00
vivia11
e1118b628a Added Alert Transports Mapping (#8660)
Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-21 20:34:59 +01:00
Neil Lathwood
54284800c7
Fixed alert rules that use columns in value (#8925)
DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-21 10:07:17 +01:00
Neil Lathwood
ad6ec7f72a
Refactor alert templates to use Laravel Blade templating engine (#8803)
* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars
2018-07-14 22:15:43 +01:00
Tony Murray
0ba76e6d62 New python service for poller, discovery + more (#8455)
Currently has a file handle leak (and will eventually run out of handles) related to the self update process.

Either need to fix that or rip out self-update and leave that up to cron or something.


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-06-30 12:19:49 +01:00
Tony Murray
e736f5efec Updated YAML schema validation (#8808)
Changed some values to be explicitly boolean


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-06-15 09:45:20 +01:00