69 Commits

Author SHA1 Message Date
Neil Lathwood 15c4e8499f Removed Legacy Transport UI https://t.libren.ms/deprecation-alerting (#9552) 2019-01-01 12:57:09 +00: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 654411aae2 Update alerting.inc.php 2018-10-21 20:00:05 +01:00
laf 1d207ec943 Renamed section from Transport -> options 2018-10-19 22:13:11 +01:00
laf e7ed9b7d35 Reorg the alert settings page to show what options are deprecated 2018-10-19 22:01:35 +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
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
Tony Murray 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
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 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
theherodied a6c328925c Added Discord transport (#8748)
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-13 22:25:09 +01:00
Tony Murray 7250376104 refactor: Don't access $_SESSION directly for Auth (#8513)
* Don't access $_SESSION directly for Auth

* fix style

* add property annotations
2018-04-07 21:55:28 +01:00
Paul Heinrichs a0c2783d27 alerting: Added Philips Hue as transport (#8320)
* Add Phillips Hue Bridge as Alerting transport

* Add Comment

* Update Transport docs

* Update Phillips to Philips Add sql schema
2018-03-09 19:30:27 +01:00
Drew Hynes 764abde504 alerting: Added Gitlab transport for alerting (#8246)
* gitlab alert transport added

* fixed SQL file and cleaned up a bit

* updated license information

* added relevant information Transports documentation

* Fixed spacing issues

* removed unnecessary text from variable

* fixed sql schema file syntax

* changed sql schema order

* fixed creation of issues for resolution events

* addressed file name conflict

* fixed spacing, again

* removed unused variable

* Update Transports.md
2018-02-27 21:21:37 +00:00
Tony Murray 30ca1e1a2e Fix alerting email issues (#8255)
* Fix alerting email issues
Variable collision

* changed the wrong line
2018-02-14 23:16:51 -06:00
Tony Murray 561846a44b fix: Fiedx issues with new config init (#8242)
* Fix non-config defaults

* update processConfig and remove file
2018-02-12 09:15:44 +00:00
Robbert 363c24a117 fix: Changed e-mail validation TLD max length to 18 (#8236) 2018-02-10 13:25:50 +00:00
FTBZ eb72a5394e feature: Copy all email alerts to default contact (#8178)
* feature: Copy all email alerts to default contact

* change in SQL and add check as requested

* Rename 233.sql to 234.sql

* tab removing
2018-02-05 08:25:24 +00:00
Zmegolaz 3740467858 Added settings validations. (#8037) 2018-01-16 22:21:21 -06:00
Neil Lathwood f84844f2a7 fix: Better validation on callback url for Pagerduty integration (#7658) 2017-11-07 09:32:09 -06:00
celalemre 973764e7d3 alerts: Added OpsGenie transport. (#7392)
* Add OpsGenie transport.

* Log response body from OpsGenie only when an error occurs.

* Move OpsGenie SQL config to a new sql file.
2017-09-28 21:20:21 +01:00
Aldemir Akpinar c592f901b0 feature: Added jira alert transport (#7040)
* feature: added jira transport

* Trying to fix travis-ci sql problem

* Surpress mysql warnings

* Fix for typo

* Update Alerting.md
2017-07-19 16:25:03 +01:00
pblasquez cc38930007 feature: Added elasticsearch transport and docs (#6687)
* Add elasticsearch transport and docs

* Fix formatting

* Fix formatting

* Remove librenms string from sql file

* Add missing states

* Use ifAlias not ifDescr

* Update Alerting.md

* Remove unused es_enabled flag

* Fix storage column names

* Fix processor columns

* Rename 194.sql to 193.sql
2017-06-01 12:16:39 +01:00
Neil Lathwood 612186dabf alerting: Added option to enable/disable option for sending alerts to normal users (#6590)
* alerting: Added option to enable/disable option for sending alerts to normal users

* Update notifications.rss

* added missing sql

* Fix schema

* Update notifications.rss
2017-05-15 23:35:26 +01:00
pblasquez c2cdf14223 feature: Added syslog alert transport (#6246)
* Add syslog alert transport and docs

* Remove redundant priority variable

* Log syslog transport events as critical
2017-03-23 08:46:28 +00:00
Neil Lathwood f6d8859bb4 feature: Added support for sending alerts to Telegram #2114 (#6202) 2017-03-22 09:02:24 +00:00
towster 605b9d2092 feature: Send default mail when no email destinations found (#6165)
* when an email is attempted to be sent but there are no recipients send to default_mail address
2017-03-14 23:22:43 +00:00
barryodonovan 0f663b3a82 feature: Add Smseagle transport support (#5989)
* added alert transport for SMSEagle hardware gateway (smseagle.eu)

* added newline

* schema file update + small code refactor

* added docs
2017-02-24 11:55:53 +00:00
Søren Rosiak 9b32fb2b91 feature: Added Cisco Spark Transport #3182
* feature: Added Cisco Spark Transport

* updated sql to be compliant
2017-02-02 23:10:39 +00:00
ToeiRei 6bc7b1991e feature: Added Rocket.Chat transport #5427
* Implement Rocket.Chat transport

* copyright stuff as I didn't have anything to hack anything on transport.rocket.php

* Update config-item.inc.php

Use space instead of tabs

* Update config-item.inc.php

kill a blank line

* Update AUTHORS.md

I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
2017-01-31 23:05:35 +00:00
Rob Nichols f98829ba9d fix: Added support for autotls in mail transport #5314 2017-01-10 10:03:47 +00:00
Tony Murray 48b0e53a54 fix: use password type for SMTP Auth #5051 2016-11-24 08:55:34 +00:00
Neil Lathwood 3735f94e20 webui: Added support for removing pagerduty config in the webui (#5004) 2016-11-20 20:03:13 -06:00
Søren Rosiak 9fb02bbcd3 feature: Add Microsoft Teams Alert Transport (#5023) 2016-11-19 14:49:18 +00:00
Søren Rosiak 23da8be9c3 feature: Add osTicket Alert Transport (#4791) 2016-10-20 19:31:30 +01:00
Bennett Blodinger 07574b27d8 Move to Font Awesome
Keeps the look more in line with the navigation bar icons.
In the future with Bootstrap 4, Glyphicons will not be included, so this
starts the transistions away.
2016-09-22 10:44:17 -04:00
Tony Murray 8c639aa5a4 PSR2 Cleanup: /html edition
Travis tests for code conformance. Ignore warnings for now.
Fixed all errors, left most warnings.
2016-08-18 21:29:30 -05:00
Guillaume Coeugnet c6a022694b Update alerting.inc.php
Code indentation
2016-04-01 10:21:11 +02:00
Guillaume COEUGNET ac89c7b00c Add canopsis port parameter 2016-04-01 10:04:58 +02:00
gcoeugnet 758453938e Update alerting.inc.php 2016-03-29 15:43:31 +02:00
Thom Seddon d2dd3e256f Fix URL path to ajax_form.php for testing alerts 2016-03-23 09:43:34 +00:00
Eldon Koyle 6a53bcf688 Add web config option for HTML emails 2016-03-15 16:55:27 -06:00
Tony Murray 9f22b18dc8 Split is removed in PHP7, replace with explode as none were using it as a regex.
Also fix two array keys without quotes in include/syslog.php
Fixes #2205
2016-02-25 14:34:06 -06:00
laf 4aaf4d8a7b Added missing from email settings field 2016-02-11 22:11:07 +00:00
laf 3429d56561 Added dropdown caret to alert setting accordians 2015-12-01 22:58:17 +00:00
laf df652f0507 Added WebUI support for VictorOps 2015-11-19 07:37:32 +00:00
laf 7b46e67a47 Final updates to support Clickatell and PlaySMS 2015-11-16 20:13:04 -08:00
laf 9c678d12cd More updates for new transports 2015-11-16 16:40:23 -08:00
laf 6ad95be58b Added WebUI PlaySMS transport 2015-11-16 10:40:09 -08:00
laf 4d8a84d604 Added WebUI support for Clickatell transport 2015-11-16 08:56:46 -08:00