124 Commits
Author SHA1 Message Date
JellyfrogandGitHub 152497a098 PHPStan: Enable more checks (#14318)
* PHPStan: Enable more checks

* Fixes

* Fixes

* Deprecation fixes
2022-09-09 07:08:06 -05:00
Tony MurrayandGitHub 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
Tony MurrayandGitHub ec8629fb63 Discord ability to attach graph images (#14276)
* Discord ability to attach graph images
Must use @signedGraphTag()
Needs more work on the graph side of things still: issues with CORs and other.

* Fixes

* alert data is an array for transports

* No need to decode, that was a bug before
2022-09-05 16:20:10 -05:00
Nash KaminskiandGitHub 797fe7477d Improvements to PagerDuty alert formatting (#14143)
* Split PagerDuty payloads into an array delimited by newlines

* Remove empty lines in PagerDuty message
2022-07-27 02:51:02 -05:00
Marek WobstandGitHub 207aaf3064 Add rich (=html) support for messages via Matrix (#14054)
Mails may be colorful now, too.
2022-07-20 23:05:38 -05:00
Tony MurrayandGitHub 9f749ae778 Update Larastan (#14031)
* Update Larastan

* fix as many as I can

* update baseline for the remaining

* fix style

* Update Log::event phpdoc
2022-06-13 08:57:21 +02:00
Nash KaminskiandGitHub 24e1c96790 Allow the use of a custom URL for accessing the PagerDuty API and correct API schema violation (#14010)
* Allow the use of a custom URL for accessing PagerDuty

* styleci

* PagerDuty custom details must be an Object, not string

* styleci
2022-06-04 13:54:35 -05:00
TheMysteriousXandGitHub afe3a25738 Use display name when sending alerts to Sensu (#13967)
* Use display name when sending alerts to Sensu

* system->hostname should always be an FQDN or IP
2022-05-27 09:07:29 -05:00
DaftBritandGitHub cedaf8e3ae Setting card summary to alert title (#13989) 2022-05-24 12:21:09 +02:00
TheMysteriousXandGitHub 95aaa31dd9 Sensu: Correct type hint (#13915)
* Correct type annotation

Not 100% sure this is correct as I don't know what the previous change was trying to correct - but they're definitely not all strings.

* Correct the correction
2022-04-13 14:25:56 +02:00
geg347andGitHub 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
MrXermonandGitHub 40ff020433 Fixed #13851. (#13852) 2022-03-15 22:36:48 +01:00
geg347andGitHub 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
djamp42andGitHub c61ccf5c48 Change text to show alert termplate msg (#13521)
In the initial pull request this was brought up but never addressed, https://github.com/librenms/librenms/pull/9305#issuecomment-427930650  The only reason i can think of is due to SMS message length, but you could be mindful of that with a alert template.  Submitting this to see if anyone objects to changing it.
2021-11-16 17:48:01 +01:00
Tony MurrayandGitHub 1ff48018fa Fix slack errors when variables are not set (#13476) 2021-11-05 22:30:30 -05:00
Tony MurrayandGitHub 0862496e26 Fix api transport mult-line parsing (#13469)
* API transport fix parsing
parse templates after parsing user options, not before

* API transport tests

* fix style and lint

* remove accidental item

* fix more type issues
2021-11-03 13:37:57 -05:00
Tony MurrayandGitHub 2c77edf4d2 Better handling of some alerting errors (#13446)
* Better handling of some alerting errors

* Better error output

* Consolidate simple template parsing

* Fixes reported by phpstan (one was a bug, yay!)

* add back forgotten trim

* don't remove the template if there is no match

* Match previous behavior, which was inconsistent.

* use anonymous class for tests instead

* Oopsie, Stringable is PHP8+

* fix style
2021-10-29 22:12:20 -05:00
Hannele KormanoandGitHub 688ec422de Drop PDConnect Install links (#13407)
* Drop PDConnect Install links

This flow has been removed.

* Update some terminology while I'm here

History time notes just for fun: 
 - it was called "service key" when you could only have one integration per service
 - it was called "integration key" when you could only have integrations on services
 - it's now called "routing key" to be inclusive of account-level routing keys

* Delete some code that should be unused now

* Tidy up imports

* I think these are also unused now
2021-10-22 19:53:36 +02:00
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 <[email protected]>
2021-10-06 07:29:47 -05:00
LaandGitHub e5f540eed8 fix alert transport api with POST method (#13288) 2021-10-02 23:56:49 +02:00
ottoreiandGitHub b2d34cac4a Fix PagerDuty transport's group field (#13235)
* Do not poll passive interfaces

* Bug

* Update payload
2021-09-13 21:14:11 +02:00
JellyfrogandGitHub 258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
JellyfrogandGitHub 26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
mzacchiandGitHub 71cd81269a Update Api.php to include Options variable in the Body for POST requests (#13167)
* Update Api.php
* Update Api.php
Correct syntax for variable replacement : '{{ $' . $metric . ' }}'
* style
Co-authored-by: PipoCanaja <[email protected]>
2021-08-28 23:19:06 +02:00
Tony MurrayandGitHub d8d0ccd03d Common contexts for polling (#13158)
* Common contexts for polling
Don't store contexts on the device array, use the device model
Also should be easier to add different contexts later.

* rename variables for consistency
2021-08-23 01:22:28 -05:00
ottoreiandGitHub bc56f94f8f PagerDuty transport: Add EU service region (#13154) 2021-08-20 10:04:51 +02:00
geg347andGitHub a4a04e6f09 Adding html_entity_decode function to fix HTML encoded characters in Slack Transport Alert (#13120) 2021-08-09 18:34:43 -05:00
Tony MurrayandGitHub 2b8eb74b7a Detect sending non-html emails as html (#13114)
* Detect sending non-html emails as html
and use <br /> for line returns instead of \r\n

* Fix style
2021-08-09 09:17:32 -05:00
igorek24andGitHub 2f267ca739 Add SignalWire (Twilio alternative) alert transport support (#13107)
* Add SignalWire (Twilio alternative) alert transport support

* Add SignalWire (Twilio alternative) alert transport support
2021-08-05 10:26:29 +02:00
Kevin ZinkandGitHub 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
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 <[email protected]>
2021-06-16 21:16:21 +02:00
JellyfrogandGitHub a8c8a9a4a2 Misc cleanup (#12758)
* Fix Docblock

* Misc

* Parameter #2 $callback of function array_filter expects (callable(mixed, mixed): bool)|null, 'strlen' given

* Parameter #2 $data of function hash_hmac expects string, int given

* Unreachable statement - code above always terminates.

* Update Device.php
2021-04-20 12:47:22 +02:00
JellyfrogandGitHub 58af994c6b Linting (#12677)
* Fix Canopsis Transport

* Lint Hipchat

* Lint IRCBot.php

* Misc

* Update Hipchat.php

* Update Notification.php
2021-03-31 17:29:22 +02:00
JellyfrogandGitHub 6c59f368b0 Linting: Fix misc problems (#12675) 2021-03-29 17:43:05 -05:00
JellyfrogandGitHub efb157f5fb Fix more PHPDoc (#12665)
* Fix PHPDoc

* Fix PHPDoc
2021-03-28 12:18:47 -05:00
Filippo GiunchediandGitHub c8c8bc3a81 Support multiple Alertmanager URLs (#12346) 2021-03-27 10:01:48 -05:00
JellyfrogandGitHub 3cfffb9912 Cleanups (#12642)
Should only be cosmetic
2021-03-24 09:13:43 -05:00
JellyfrogandGitHub 58a154d894 Fix a bunch of bugs (#12643) 2021-03-23 23:08:42 +01:00
Lee SpottiswoodandGitHub 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
pbaldoviandGitHub 9f208360b3 Add Google Chat Transport (#12558)
* Add Google Chat Transport

* Bug. False response on succesfully sended messages

* Style CI patch
2021-03-06 21:48:20 +01:00
JellyfrogandGitHub 20b4215204 Swich links to https (#12511)
* Switch librenms links to https

* Convert librenms links in comments

* Switch gnu.org url to https

* switch php urls to https
2021-02-09 00:29:04 +01:00
abrezinskyandGitHub 240edd2143 Use a proxy server for the PagerDuty transport. (#12294)
* Use a proxy server for the PagerDuty transport.

We don't use the get_guzzle_proxy() function since tcp:// doesn't work
with all of the HTTP transports that Guzzle supports.  Instead we use
the standard get_proxy() function.

Tested against Squid

* formatting only
2020-11-04 15:03:48 +01:00
Yuwei BaandGitHub fd2c1361ef Update Telegram.php (#12228)
Return Telegram response body when failed so users will know where went wrong, bad template etc.
2020-10-19 09:27:01 -05:00
JellyfrogandGitHub 29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
JellyfrogandGitHub 0d56bbd946 Apply fixes from StyleCI (#12123) 2020-09-21 15:51:53 +02:00
JellyfrogandGitHub 77c531527c Apply fixes from StyleCI (#12117)
* Apply fixes from StyleCI

* Disable style check
2020-09-21 14:54:51 +02:00
thomcatdotrocksandGitHub dfab530525 Matrix txnid fix (#12057)
* Fix Matrix alerting txnid

This fixes the issue I brought up in #12018.  I can confirm that I now get a new message from the LibreNMS bot every time I test my Matrix transport.

* Update AUTHORS.md
2020-09-04 16:38:19 +02:00
Raphael DanneckerandGitHub 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
kleinem86andGitHub a4f5af069c Added Proxy support for Api Transport (#11968) 2020-07-29 16:00:55 +02:00
pepperoni-piandGitHub 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