Commit Graph

2846 Commits

Author SHA1 Message Date
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
Anders Lowinger
36ea8a043e Fix do not include template text in HTML page (#9476) 2018-11-26 09:52:18 -06: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
Tony Murray
ec69150099 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.
2018-11-19 21:04:33 +00: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
Misha Komarovskiy
4efb95e059 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>
2018-11-19 14:36:23 +00:00
Neil Lathwood
93433ce4b1 Fixed altering transport mapping in rules clearing all mappings (#9455) 2018-11-18 22:41:52 -06:00
Neil Lathwood
b93e66efbe 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
2018-11-10 21:06:51 +00:00
Jellyfrog
40a84b5131 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.
2018-11-08 22:08:39 +00:00
Rémy Jacquin
d736adc289 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
2018-11-08 22:01:45 +00:00
Rémy Jacquin
4e8acdd894 Added ability to sort alert schedules by status (#9257)
Signed-off-by: Rémy Jacquin <remy@remyj.fr>
2018-11-05 08:10:27 +00:00
VirTechSystems
b8cf24c30e Allow 6 or 12 icons across on server stats widget (#9408)
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.
2018-10-30 23:17:23 +00:00
Tony Murray
0ec8f18459 Graph of overall poller performance (#9381)
* Graph definitions

* Stacked.

* Add display

* remove old poll-log, add redirect

* Handle undefined data in graphs

* Standard pollers

* Change doc to send to the global poller module page.

* remove test code :)

* Link parent menu
2018-10-26 21:04:30 +01:00
JohnSPeach
03e8bd743e Allow F5 APM graphs to display automatically (#9377)
* Update f5.inc.php

RRD file needs to be named bigip_apm_sessions for the graph to automatically appear.

* Update and rename bigip_apm_curr_sessions.inc.php to bigip_apm_sessions.inc.php

It seems that both this file and the RRD file need to be named bigip_apm_sessions for the graphs to appear automatically

* Create 270.sql

Missed this from the original pull request - the graph has to be named bigip_apm_sessions to automatically display
2018-10-25 15:39:45 -05:00
CrazyMax
00b752a862 Redesign alert template modal (#9364)
* Redesign alert template modal

* Check if alert is used in an other template

* Fix selectbox while creating new template

* Use 'pre' font family for alert template textarea

* Remove limit

* Remove and try to mimic bootstrap-select with select2 lib
2018-10-25 15:31:12 -05:00
Jellyfrog
a31f477290 Show device "features" in correct column (#9366) 2018-10-25 05:58:04 -05:00
VirTechSystems
3fcf51d177 Added support for ip to sysName option in csv export and graphs (#9352)
* Update html/includes/common/server-stats.inc.php

allow 6 icons wide on server stats

* sysname to ip config following

follow ip to sysname config option on csv export and graphs

* Revert "Update html/includes/common/server-stats.inc.php"

This reverts commit db10e46f04.

* formatting

* syntax fix

too many brackets

* Update html/includes/graphs/multiport/bits_separate.inc.php

bad tab

* format_hostname

Use format_hostname to resolve the sysname.

* Update bits_separate.inc.php
2018-10-22 21:58:36 +01:00
angryp
0cf11b02d3 Removed redundant grouping from SQL query in FDB Search (#9338) 2018-10-21 20:03:35 +01:00
Andy Rosen
4e5a0fa4d7 Added Twilio SMS as an Alerting Transport (#9305)
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-10-17 17:19:28 +01:00
JohnSPeach
001d7d7643 Added F5 APM current sessions graphing (#9334)
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.

While this creates the graphs under Apm for the F5s, there is no data. I can pull the data manually. Maybe I have the definition incorrect in includes/polling/os/f5.inc.php?

snmpget -m /opt/librenms/mibs/f5/F5-BIGIP-APM-MIB -v 3 -u <user> -l authPriv -a SHA -A  <password> -x AES -X <password> <server>  apmAccessStatCurrentActiveSessions.0
F5-BIGIP-APM-MIB::apmAccessStatCurrentActiveSessions.0 = Wrong Type (should be Counter64): Gauge32: 1245

or maybe it's because the OID has the incorrect type in it, although the result is actually correct.
2018-10-17 17:16:52 +01:00
PipoCanaja
417e518ae2 Oxidized list now checks device permission based on user (#9331)
* webui: display only devices that the user is allowed to view in oxidized node list, and explain why some devices known in oxidized are not displayed because unknown in LibreNMS

* webui: display only devices that the user is allowed to view in oxidized node list, and explain why some devices known in oxidized are not displayed because unknown in LibreNMS (CodeClimate)
2018-10-17 17:12:24 +01:00
Tony Murray
10432b1764 Escape services commands properly. (#9269)
* Attempt to escape services commands properly.

* Add LC_NUMERIC="C" back

* Updated create-service to only faily if a dbUpdate fails
2018-10-17 16:46:07 +01:00
cchance27
dd39a1ab03 Allow zoom to be decimal and switch zoomSnap to 0.1 for World map (#9259)
Allow 1 decimal place for initial zoom and lower zoom snap interval to improve initial zoom in widgets.

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-10-06 23:08:11 +01:00
Tony Murray
7c09f698a4 Don't call to legacy auth to get dashboards. (#9297)
Can cause a lot of ldap calls for example.
Should improve dashboard page load time on certain auth methods.

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-10-06 22:56:22 +01:00
Neil Lathwood
d1772ea1f2 Check if array exists for new alert rules and create if not (#9303)
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.

Fixes: https://community.librenms.org/t/i-can-t-add-alert-rules-from-the-collection-webgui/5737
2018-10-06 22:15:07 +01:00
Tony Murray
71e5aac527 Fixed devices state filter when state = 0 (#9277)
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-10-03 21:45:42 +01:00
Tony Murray
6242f941f6 Update Eventlog WebUI/backend to use ajax (#9252)
* WIP Eventlog table

* Initial Eventlog rework

* fromdevice is not a request parameter

* updates

* remove unneeded field

* Cleanups
2018-09-24 08:07:00 +01:00
Tony Murray
21ca8bf0b0 Update syslog display and backend (#9228)
* Update syslog display backend
select boxes now dynamically load instead of loading all on pageload
select and table ajax backends completely redone with Laravel (just syslog for now)
duplicate url creation to Url utility class for now (uses Device model instead of array)
build short hostname functionality into Device->displayName() helper

* Fix whitespace

* Some tidying up. Split out displayName() and shortDisplayName()

* Enable auto-sizing.
Fix small error in Url

* Eager load device
Use bootstrap theme for select2
2018-09-20 21:33:03 +01:00
TheGreatDoc
c30d494505 Fixed edit dashboard permissions + moved to toastr (#9236)
* Fixed edit dashboard permissions + moved to toastr

* Moved $_POST to $vars
2018-09-20 12:21:38 -05:00
Neil Lathwood
4f6e2b488a Update new_alert_rule.inc.php (#9240) 2018-09-20 12:35:54 +01:00
TheGreatDoc
1a89e27de7 Disable used rules in template map for select them (#9212)
* Disable used rules in template map for select them

* WIP Enable/Disable options dynamically

* Enable/Disable options dynamically

* Even better. Selected options for template are not disabled

* Didnt work so reverting back

* Update attach_alert_template.inc.php
2018-09-20 00:04:52 +01: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
TheGreatDoc
ba8497d484 Added Transit+Peering to Port Aggregator in the graph widget (#9234) 2018-09-19 15:50:40 -05:00
Neil Lathwood
466b5a35a8 Added ability to set a custom SQL query for alert rules. (#9094)
* Added support for AVG in rules

* More updates

* Final work to have advanced sql queries

* Added missing use

* Fix exception when invalid json is passed

* Fixed api for alert rules

* updated docs
2018-09-19 07:47:45 -05:00
TheGreatDoc
cf31776a6b Show sensors warnings values + moved to json and toastr (#9210)
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-09-16 18:23:12 +01:00
PipoCanaja
9aa429c8dc WebUI: Use generate_url for Oxidized List device (#9200) 2018-09-13 21:10:28 -05:00
TheGreatDoc
6908063fae Fixed routing edit to use LegacyAuth (#9188) 2018-09-12 08:11:32 -05: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
TheGreatDoc
9f0afa2927 Fixed edit processors/storage/memory search query (#9172)
* Fixed edit processors search query

* Fixed 2 more search queries
2018-09-08 09:43:56 -05:00
Tony Murray
3c530d6a4f Sanitize data in dashboard add/edit/delete (#9171)
* sanitize data in dashboard add/edit/delete

* handle access differently
2018-09-08 08:54:03 -05:00
TheGreatDoc
67e883f1a0 Fixed template to alert mapping (#9173) 2018-09-08 08:53:14 -05: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
PipoCanaja
3f806fdff3 WebUI: Oxidized Device List: Link to config and refreshDevice Btn (#9129)
* WebUI: Direct link to oxidized config from list, oxidized refresh device capability

* WebUI: Direct link to oxidized config from list, oxidized refresh device capability

* Move oxidized_node_update in functions.php to avoid code duplication

* Update refresh-oxidized-node.inc.php

* Update functions.php
2018-09-04 19:09:27 -05:00
Neil Lathwood
fe45eacae9 Fixed print date selector (#9142) 2018-09-04 10:24:02 +01:00
Neil Lathwood
3446cf7989 Fixed url to graphs from date selector (#9109) 2018-08-30 20:58:12 +01:00
Neil Lathwood
e603fcfd6f Converted PagerDuty to new transport format (#9092)
* Converted PagerDuty to new transport format

* Attempt at oauth for transports

* clean

* missing images

* reverted wrong file. phpstorm saved me...

* fix typo

* Updated to help the display

* Fix validation error, start to try to send alerts.
Editing the transport, deletes the service_key...

* Ignore hidden config options

* Fix up api call, proper feedback.

* hide oauth field in print list
2018-08-29 09:44:29 -05:00
Neil Lathwood
f2253d70fd SNMP v3 auth is no longer checked for case sensitivity + push pass v3 creds to front of queue (#9102)
* Match api code to addhost.php for v3 config order

* Updated v3 auth checks for case insensitivity + docs
2018-08-29 09:16:33 -05:00
bonzai86
9350b54464 feature: Added dynamic graphs with RrdGraphJS by oetiker (#9087)
* feature: Added dynamic graphs with RrdGraphJS by oetiker (https://github.com/oetiker/RrdGraphJS)

* fixed DragCursor.cur

* refactoring, only js when needed

* doc: added use of dynamic graphs switch in Configuration.md

* Updated to use Config, schema + example gif

* Rename 261.sql to 262.sql
2018-08-29 08:25:16 -05:00
dsgagi
31a21ba2bc Additional parameters for list_alerts and list_devices API calls (#9040)
- Add filtering by severity in list_alerts.
- Added ability to filter only active devices (not ignored and not disabled) in list_devices.

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-28 17:44:47 +01:00