Commit Graph

58 Commits

Author SHA1 Message Date
Wade Fitzpatrick 27ef398907 Add alert transport for Grafana Oncall (#15330)
* Add alert transport for Grafana Oncall

* Add doc for Grafana Oncall

* Fix lint

* Fix comment lint
2023-10-18 22:24:40 -05:00
Johnny Sung de65ff55fc Implement LINE Messaging API (#14867)
* implement LINE Messaging api

* apply code clean up

* Update Linemessagingapi.php

* fix variable type

* Match branding

* Remove extra proxy

---------

Co-authored-by: Neil Lathwood <gh+n@laf.io>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-08-04 12:30:46 -05:00
Wheel 741c26dd2f Transport Messagebird voice message API (#15115)
* Messagebird voice message API

* Reverse permission change on rrd/.gitignore

* Name string
2023-06-23 15:19:26 -05:00
Wheel 3ac0129fab Messagebird transport (#15079)
* Messagebird transport

* Linting

* Styleci

* Styleci

* Minor note update
2023-06-07 08:22:36 +03:00
Tony Murray 04bb75f5f3 Alert transport cleanup, no_proxy support and other proxy cleanups (#14763)
* Add no_proxy and other proxy related settings
Set user agent on all http client requests
Unify http client usage

* Style fixes

* Remove useless use statements

* Correct variable, good job phpstan

* Add tests
fix https_proxy bug
add tcp:// to the config settings format

* style and lint fixes

* Remove guzzle from the direct dependencies

* Use built in Laravel testing functionality

* update baseline
2023-05-23 09:25:17 -05:00
Shubham Srivastava 5097d1e315 Add Zenduty Integration info to Transports.md docs (#14826) 2023-02-08 16:25:18 +01:00
support-capensis f539aed95e Fix Doc Link for Canopsis transport (#14778) 2023-01-10 14:56:24 +01:00
Zero Services GmbH f754a5107d Update ElasticSearch Index pattern for php 8.1 changes (#14775) 2023-01-08 01:58:39 +01:00
Tony Murray 302a989d4e Email Transport: embed graphs by default (#14270)
* Email embed graphs

* Allow attachment for non-html
Add setting to webui
Correct $auth setting

* Cleanups, throw RrdGraphException instead of returning an error image.
Generate the error image later, giving more control.
Reduce code duplication a little

* Style and lint fixes
Change to flags

* Add baseline for lint errors I don't know how to resolve

* oopsie, changed the code after generating the baseline

* Tiny cleanups.  Make set DeviceCache primary, it is free.

* Docs.

* email_html note

* Allow control of graph embed at the email transport level to override the global config.

* Allow control of graph embed at the email transport level to override the global config.

* Add INLINE_BASE64 to make it easier to create inline image tags
2022-09-05 20:41:55 -05:00
Zane C. Bowers-Hadley 1bdcd8fad2 assorted cleanups to alerting docs, primarily to make mdl happier (#13950)
* make mdl more happy for transports.md

* more tweaks for the splunk bits

* minor fix to entities.md

* try that again...

* ...

* okay, just leave that as is

* minor fixes to templates.md

* remote some trailling spaces

* wrap a line macros.md

* cleanup Rules.md reworked the videos section a bit to be more formatting consistent, I hope

* header cleanup for testing.md

* transports.md cleanup part 2
2022-04-26 09:37:39 +02:00
geg347 ef12e5f980 Added Basic authentication capability to Alertmanager Transport (#13867)
* Adding Basic authentication capability to Alertmanager's Transport

* Fix PHPStan linting error

* Fix StyleCI error

* Fix StyleCI error part 2
2022-03-31 21:45:44 +01:00
geg347 9036fd53b4 Added extra dynamic values alerttransport alertmanager (#13828)
* Add extra dynamic values to Alert transport for Alertmanager

* Add description to explain how extra dynamic values for Alertmanager works in the WebUI

* Add _ in dynamic label name + fix continuous-itegration error

* Fix continuous-itegration error part 2

* Updating AlertManager docs with explanation of how dynamic variables works
2022-03-14 21:39:00 +00:00
Jellyfrog 8f474dd4d4 Rework documentation (#13709)
* Rework documentation

* Slightly adjust theme

* wip

* fixes

* Remove unneeded header

* Re-added Acknowledgement.md file

* Added Acknowledgement.md to mkdocs.yml

Co-authored-by: Neil Lathwood <gh+n@laf.io>
2022-02-08 23:02:28 +00:00
Tony Murray 0b8b97bb68 Push Notifications (Mobile and PC) (#13277)
* Update manifest and add service worker
cleanup icons a bit

* Push notifications WIP

* navigate working

* cleanup

* acknowledge wired up

* Set VAPID keys on composer install

* Component to control notification permissions.

* Allow all user option to validate

* Enable on browser load if transport exists.

* Check for transport before showing user permissions
translations

* Documentation

* style fixes

* access via the attribute model

* fix alerting test

* update schema

* cleanup subscription on disable

* non-configurable db and table for webpush subscriptions (respect system connection)

* revert AlertTransport change
hopefully phpstan can figure it out

* phpstan fixes

* Support custom details display

* Match transport names to brand's preferred display

* less duplicate id errors

* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok

* Style fixes

* Style fixes 2

* Fix alert test

* Doc updates requires HTTPS and GMP

* unregister subscription when permission is set to denied

* cleanup after user deletion

* delete the right thing

* fix whitespace

* update install docs to include php-gmp

* suggest ext-gmp

* update javascript

* Update functions.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-10-06 07:29:47 -05:00
Kevin Zink d0d8a9024b Add Signal CLI transport support (#12954)
* Add Signal CLI support

* Update Signal.php

* fix style

* fix style

* fix CI style

* fix CI style

* escapeshellarg

* fix style

* fix style

* fix style
2021-06-18 00:38:09 +02:00
Sean bcedc0ed77 Improve Markdown syntax in Document (#12949)
* Use GitLab instead of Gitlab

Only change text part, the Alert.Transport.Gitlab class left as is.

* Fix href in document

* Move section in document

The agent list in this document is sorted by alphabetical order,
"SDFS info" is the only exception.

* Remove trailing spaces in document

* Align code in document

* Fix Markdown in document

- Escape underline
- Add syntax highlight
- Add two space in the end of line to make it a newline
- Add newline before list or code section

* Update LibreNMS/Alert/Transport/Gitlab.php

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-06-16 21:16:21 +02:00
Filippo Giunchedi c8c8bc3a81 Support multiple Alertmanager URLs (#12346) 2021-03-27 10:01:48 -05:00
Lee Spottiswood 283dafda1c add UKFast PSS transport (#12624)
* add UKFast PSS transport

* rename var

* use correct class signature

* fix styleci

* styleci

* styleci
2021-03-22 10:39:58 -05:00
Hans Erasmus 45c20b2dd6 Update transports docs (#12518) 2021-02-10 00:13:33 +01:00
Raphael Dannecker 73b7636c9f Matrix alert transport (#12018)
* Added Matrix as alert-channel (Feature request #4927)

* formatting

* Dokumentation of matrix-transport

* Matrix Server-URL

* Formatting
2020-08-20 12:04:17 +02:00
pepperoni-pi 28ae37c406 Added ability to use JSON directly in Msteams Transport (#11129)
* Added ability to use JSON directly in Msteams Transport

* Update Transports.md

* Update Msteams.php

* Update Msteams.php

Added boolean to fix test transport button

* Update Templates.md

Added JSON example and modified titles slightly.

* Update Templates.md

Moved MS Teams examples under "Examples" header since they are no longer formatted in HTML

* Update Templates.md

* Update Templates.md

* Update Msteams.php

changed condition to use $obj['id'] rather than $obj['msg']

* Update Msteams.php
2020-06-04 22:18:49 -05:00
Luca Olivetti 5e6d371e42 Added example for the alerta transport (#11596) 2020-05-12 15:45:00 -05:00
VTS 60552d96ae Copy and modify the syslog transport for sending alerts to Splunk in an easy to parse format (#11176)
* Create Splunk.php

* add documentation

add documentation for splunk transport rule

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-05-11 23:11:45 -05:00
Lucas Dousse 5242c26fb4 Add ASP sms provider (#11489) 2020-04-26 19:40:19 +02:00
Anael Mobilia 1b7d0dd4e9 Add transport for Smsmode (SMS provider) (#11332)
* Add transport for Smsmode (SMS provider)

* Delete Smsmode.php

* Add SMSmode to doc using API transport
2020-04-26 13:02:04 +02:00
Adam Bishop 492ab32b6d Add support for sending events to Sensu (#11383)
* Add support for sending events to Sensu

Sensu is an alerting and monitoring service (and much more) that has a
nagios compatible check API.

This transport translates LibreNMS alerts into Sensu events, and sends
them to the agent API running on the same host as the poller.

The transport has a few options, but none of them are required - if the
Sensu agent is correctly configured, alerts will be sent as soon as the
transport is enabled.

There's a fair amount of code, as I've tried to translate as much data as
possible between LibreNMS and Sensu.

* Update Transports.md

* If alerted is 0, send an "ok" alert dated rrd.step / 2 seconds ago

This makes Sensu aware of the last time the check ran successfully (ish).
If we don't send the initial "ok", Sensu will either display 'unknown',
or an incorrectly high duration for the incident.

Alerted gets set to 1 after the first alert is sent.

We choose rrd.step / 2 as:
 * rrd.step is the maximum time ago the check could have succeeded
 * we halve it, so that if a check is flapping, it is not masked

Basically, we guess that the check fails around halfway through the time
since the poller last ran.

* Add additional metadata

* Improve codeclimate slightly

* Consider names that are 2 or 3 components long
2020-04-11 14:29:13 -05:00
Kevin Krumm 1e3551a7e5 docs: Update transport doc. (#10963)
Removed the old doc that has an email address entered by comas, this is no longer needed with transports. A admin can make transport for each user or make a group of users.
2019-12-19 15:00:33 -06:00
mendoza-conicet 0ea346113a Add Headers and body to API Transports (#10614)
* Add Headers and body
add PUT Method

* fix check length of headers

* bad commit

* style check

* better body description

* Descr and RFC enforcement on 'PUT' and body

Only PUT can accept a statically defined body. GET will ignore it (RFC) and POST body is generated with the parameters.

* Process the variables as well for headers

* Update Api.php

* update docs
2019-11-01 09:00:26 +01:00
Jellyfrog c76e95d343 Markdown linting of docs (#10595)
* Remove trailing spaces

* Markdown linting of docs
2019-10-21 00:47:40 +00:00
Shao Yu-Lung (Allen) 9ac70037bb Add LINE Notify Alert Transport. (#10495)
* Add LINE Notify Alert Transport.

* Fix code style.

* Update document.

* Update Linenotify.php
2019-09-05 04:30:53 +00:00
PipoCanaja c5a915709c Transport API - Doc for placeholders (#10416)
* Transport API - Doc for placeholders

The available placeholders are the same as the Templates documentation but the syntax is not exactly identical.

* Update Transports.md

* Update Transports.md

* Update Transports.md
2019-07-23 12:32:13 -05:00
Joe Clarke 8bbc69a878 Add support for using Markdown for the Ciscospark transport (#10442)
* Add support for using Markdown.

Alert templates can be written using Webex Teams (i.e., Spark) Markdown,
which makes for some richer alerts.  This option defaults to false to
maintain Principle of Least Astonishment.

* Update Cisco Spark docs.

* Mention that Cisco Spark is now called Webex Teams
* Add support for Markdown

* Refactor text.

Do not exceed 80 characters per line.

* Refactor code to meet style guidelines.

* Remove errant tabs and use spaces instead
* Correct type check
* Remove use of 'else'
2019-07-14 16:34:22 -05:00
PipoCanaja 55f67f42fe Refactor Api transport to use Guzzle (and new variables syntax) (#10070)
* Allow new {{ $xxxx }} syntax

* Properly handle urlencode on variable values without braking the URL, and uses Blades

* Doc
Doc typo

* use Guzzle for HTTP requests

* Add Basic auth support

* Doc update

* clean

* Revert Blades, but keep the {{ $xxxx }} syntax

* Revert Blades, but keep the {{ $xxxx }} syntax

* Init Vars and comments

* Notifications

* api-options are not required

* Update notifications.rss
2019-07-04 16:55:29 +01:00
VVelox 6575042f5f go through making lots of the docs more lint happy (#10342)
* clean up all but header incrementing in Creating-Transport.md

* make Device-Dependencies.md mdl happy

* make Entities.md as mdl happy as possible... one long table line left

* make mdl as happy as possible for index.md

* clean up Introduction.md as much as possible

* minor formatting cleanup... move each icon onto its own row

* make ack and notes the same style

* clean Macros.md up

* clean Rules.md up as much as possible

* tweak one line a bit to get it to format a bit nicer

* a bit more format tweaking, making sure it does not sure with >

* clean up as much as possible for Templates.md

* make Testing.md as mdl happy as possibly

* clean Transports.md up as much as possible

* clean as many issues as possible for Alerts.md

* clean up as much of ARP.md as possible

* clean up as much as possible for Bills.md

* make DeviceGroups.md as mdl happy as possible

* cleanup Devices.md

* make as mdl happy as possible Inventory.md and index.md

* mdl cleanup for Logs.md and PortGroups.md

* make Ports.md and Routing.md as happy as possible

* clean up Services.md, Switching.md, and Systems.md as much as possible

* more markup cleanup

* lots more md cleanup udner Devloping/

* reapply bits from #10343 that accidentally got removed when merging
2019-06-20 13:53:44 -05:00
pobradovic08 2d246097d4 Documentation: Fix broken links and anchors (#10194)
* documentation: Fix broken Templates.md link

* Update AUTHORS.md

* docs: Fix broken anchor in Fast-Ping-Check.md

* docs: Changed Alerting link in Configuration.md
2019-05-06 21:50:45 -05:00
Mihai Petracovici 2df2956817 Improved option naming & validation for smseagle (#10141)
* Relax validation for smseagle hostname
* Update property description and documentation
2019-04-27 09:08:16 +02:00
angryp 15aee15388 Alertmanager fix 2 (#9860)
* Improved Alertmanager transport

* Typo fix

* Fix according to Travis fail
2019-03-01 23:09:25 -06:00
aylham cf1701624f Canopsis transport (#9795)
* Change in the Canopsis transport to make it 3.9.0 compliant and link to
the new documentation

* Add missing php72 module on Centos

* Fixing documentation for AMQP based tranport outside of the main doc
2019-02-11 09:46:09 -06:00
angryp 0c188c5995 Added Alertmanager transport (#9637)
* Added Alertmanager transport

* Fixed as per comments

* Update Alertmanager.php

* Update Alertmanager.php
2019-01-12 10:42:42 +00:00
sorano 94f7196649 Correct sound for pushover.net (#9511)
* Correct sound for pushover.net

pushover.net should now use sound= instead of critical.

* Added pushover config examples for all severities.

Added pushover config examples for all severities.
2018-12-12 07:08:51 -06:00
Paulo Coimbra 518e5f06d3 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
2018-11-08 22:26:29 +00:00
Neil Lathwood 1ee2e8e0e0 Updated to use new theme for docs site (#9320)
* Updated to use new theme for docs site

* Updated theme location

* Removed librenms.css

* Updated index page + re-added librenms.css

* Use built in theme modification

* flexbox grid, dump bootstrap

* tidy up things

* Added path and updated deploy script + mkdocs config

* Removed db schmea changes

* Updated to install python/pip 3

* Removed pip3 install

* Pip3 install

* Updated deploy-docs

* Updated deploy-docs
2018-10-27 23:04:34 +01:00
Luciano Santos 2e34c73c62 Added documentation on using groups in telegram transport (#9355)
* Telegram - group

Just added a small addition, to make the Group Chat receive alerts work.

* Update Transports.md
2018-10-20 21:18:26 +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
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
Alexey Medvedev 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
Neil Lathwood 9c250dfd74 Updated transport docs to fix table (#8934) 2018-07-23 22:05:42 +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
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
Serhat Can 9bfb5add37 Added OpsGenie integration (#8786)
I added simple details and a link to the integration doc.
2018-05-31 08:39:28 +01:00