Commit Graph
2810 Commits
Author SHA1 Message Date
TheGreatDocandTony Murray 6908063fae Fixed routing edit to use LegacyAuth (#9188) 2018-09-12 08:11:32 -05:00
Tony MurrayandGitHub 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
TheGreatDocandTony Murray 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
TheGreatDocandTony Murray 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 MurrayandGitHub 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
TheGreatDocandTony Murray 67e883f1a0 Fixed template to alert mapping (#9173) 2018-09-08 08:53:14 -05:00
TheGreatDocandNeil Lathwood 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
PipoCanajaandTony Murray 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 LathwoodandGitHub fe45eacae9 Fixed print date selector (#9142) 2018-09-04 10:24:02 +01:00
Neil LathwoodandGitHub 3446cf7989 Fixed url to graphs from date selector (#9109) 2018-08-30 20:58:12 +01:00
Neil LathwoodandTony Murray 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 LathwoodandTony Murray 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
bonzai86andTony Murray 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
dsgagiandNeil Lathwood 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
TheGreatDocandNeil Lathwood 24993e7bd3 Fixed PeeringDB AS Selection table (#9096)
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`

One note: As bgpLocalAs field in database is a varchar, ordering could be inconsistent with 4-byte asn as it will order using the first char.
If you have 2 ASN (203524 and 32137) and your order by ASC (default) you will get:
203524
32137
2018-08-28 10:54:11 +01:00
Neil LathwoodandGitHub 84478b4367 Fixed query for alert settings (#9085) 2018-08-27 12:21:25 +01:00
Tony MurrayandNeil Lathwood e9ff8c48b6 Fixed IN db queries (#9077)
Most were fine as they hardcoded the in into the query.
Change them all to use PDO properly.
Did not fix IRCBot, they are are all hardcoded.

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-26 13:42:21 +01:00
Alexey MedvedevandNeil Lathwood e448190a68 Added transport modules Kayako Classic and SMSFeedback (#9027)
Hello! I've made a first version of Alert Transporting module for Kayako Classic Servicedesk. May be it is possible to use with Kayako OnPremise version (not sure).

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 22:41:59 +01:00
Tony MurrayandNeil Lathwood d83b675090 Check for incorrect heartbeats in rrdtstep.php script (#9041)
Also, fix some incorrect config names (rrd_step -> rrd.step)

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 22:21:55 +01:00
Tony MurrayandGitHub 73b8dae345 Fix customers display (#9048)
Was trying to inject sql
2018-08-21 15:45:37 -05:00
Neil LathwoodandTony Murray d65ea76355 Fix top interfaces for non-admin users (#9038) 2018-08-19 20:21:03 -05:00
Neil LathwoodandGitHub 478502ac4a Fix laravel start from PDO PR (#9037)
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-19 22:44:04 +01:00
Neil LathwoodandGitHub 2d72d8144e Convert old templates title as well as body (#9034)
* Convert old templates title as well as body

* Update convert-template.inc.php
2018-08-19 09:28:57 +01:00
Neil LathwoodandGitHub 65e07d1951 Fixed widgets from updated dbFacile changes (#9033)
* Fixed widgets from updated dbFacile changes

* Updated top interfaces
2018-08-18 17:07:42 +01:00
Neil LathwoodandGitHub bc2fe6aeb1 Tidy up some transport code from previous pr (#8927) 2018-08-17 22:38:00 +01:00
Nick HilliardandNeil Lathwood 50210234c1 Use rrdtool_escape() for sensors instead of manually padding text (#9029)
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-17 21:53:55 +01:00
Evil.2000andNeil Lathwood 86c097574b Added hiding of disabled ports in graph, device overview and device ports view. (#9017)
When disabling or ignoring ports in the "Ports Settings" (http://<nms_host>/device/device=<device_id>/tab=edit/section=ports/) then the ports are still shown under the Port tab for a specific device (http://<nms_host>/device/device=<device_id>/section=ports/) and in the Overall Traffic Graph.
To keep the view and graph more clear, this change only shows the ports which are not disabled or ignored.

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.

- [y] 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-17 18:24:11 +01:00
dsgagiandTony Murray 1ea2ed273e Update alerts.inc.php (#8977)
Also sort by timestamp, after sorting/grouping by severity.
2018-08-11 16:41:40 -05:00
PipoCanajaandNeil Lathwood dea988ab79 Display MAX rrd value in Service Graphs (#9001)
Hi

This patch does add the MAX graph (AREA) for the Service graphs. And the Max numerical value is as well taken from the MAX RRD value instead of AVERAGE. 

When scaling to larger amount of time, displaying like today the average only makes all spikes disappear, and the Max value does not make much sense.

I also added a color choice to *pinkify* the "Loss" graphs. 

Exemple with HTTP graphs polling google: 

![http-exemple](https://user-images.githubusercontent.com/38363551/43886912-7760b28c-9bbd-11e8-875b-b2afe140bdf9.png)

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`
2018-08-10 21:57:33 +01:00
Tony MurrayandNeil Lathwood f45e1997c5 Line up ping graph legend (#8955)
![image](https://user-images.githubusercontent.com/39462/43288765-7ff46116-90ee-11e8-80ec-a1f37e5027ae.png)

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-04 22:33:18 +01:00
PipoCanajaandNeil Lathwood f659ed8c41 Added 'Disabled' and 'Down' state for devices/links rendered on NetworkMap (#8926)
Hello

Here is a proposal for a dedicated color on disabled devices displayed on the Network Maps. Usecase is that during a migration, we are "disabling" the old devices and we delete them only a few days/weeks later. This change allows to see the productive devices as well as the disabled ones and clearly know which is which. 

Thanx

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-04 22:05:15 +01:00
TheGreatDocandNeil Lathwood a883264df9 Fixed Eventlog search (missing OR in SQL query) (#8981)
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-04 21:45:14 +01:00
Neil LathwoodandTony Murray 5b24934f8a Update convert-template.inc.php (#8980) 2018-08-03 17:13:03 -05:00
Tony MurrayandNeil Lathwood 5bc91addb2 Fix template conversion (#8976)
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-03 20:56:22 +01:00
Tony MurrayandNeil Lathwood 3b6fbd99ee Convert alert templates in place (#8951)
* Convert alert templates inplace

* Update copyright

* Update convert-template.inc.php
2018-07-31 21:54:12 +01:00
Tony MurrayandNeil Lathwood deb405fac9 Alert transport fixes (#8967)
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-31 21:53:03 +01:00
Tony MurrayandNeil Lathwood 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
TheGreatDocandTony Murray 290e07ca49 Fixed typo in new alert rule html (#8958) 2018-07-27 16:26:31 -05:00
Paul HeinrichsandTony Murray 046a97fe76 Remove testing data (#8945) 2018-07-25 09:43:55 -05:00
Neil LathwoodandGitHub 3a2774ae1e Fixed test transport form (#8942) 2018-07-25 09:00:24 +01:00
vivia11andTony Murray 2d4d4ce43b Make alert transport form compatible with sql strict mode (#8931)
* Edit is_default so it is compatible with sql strict mode

* whitespace fix

* Evaluate is_default earlier

* Fix logic
2018-07-24 00:30:53 -05:00
Tony MurrayandNeil Lathwood 153d23b222 fix foldersize() recursion (#8930)
previously, it tried to add an array to an integer...
2018-07-23 17:54:02 +01:00
TheGreatDocandNeil Lathwood b844dd44c8 Asterisk Application support (#8914)
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`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183
2018-07-21 20:48:31 +01:00
vivia11andNeil Lathwood 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
angrypandTony Murray 064ab1c297 Added missing Config dependency (#8919) 2018-07-18 07:12:33 -05:00
Tony MurrayandNeil Lathwood 7cde27338b Fix errors in vars.inc.php (#8913)
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-17 09:19:29 +01:00
Neil LathwoodandGitHub 6487bb6512 Revert "fix stupid error in vars.inc.php" (#8909)
* Revert "test-template.php fixed after #8803 PR"

This reverts commit 2c26c08020.

* Revert "fix stupid error in vars.inc.php (#8904)"

This reverts commit 2f681a3df3.
2018-07-17 00:30:21 +01:00
Tony MurrayandGitHub 2f681a3df3 fix stupid error in vars.inc.php (#8904) 2018-07-16 16:05:23 -05:00
Richard MayhewandTony Murray 4bca036433 Updated Old Template URL to point to the correct location within docs (#8905) 2018-07-16 14:28:43 -05:00
Neil LathwoodandGitHub 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