* 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
* 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
* 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
* Make the Discord transport more formatted for Discord.
* Generate the fields using a function for cleaner code.
* Handle cases where the elapsed time does not exist in the object.
* Send Device group membership to Pagerduty
Send device group membership to pagerduty. This allows routing (event rules) on the Pagerduty side to make decisions based on group membership inside LibreNMS
* Simplified changes
Rolled all changes into one line per @murrant sugguestions
* Allow manual configuration of Pagerduty Integration Key
Pagerduty supports a global event queue per account and provides the integration key for it. This allows you to enter the key directly and bypass the OAuth workflow if desired.
* Update Pagerduty.php
Fixed spacing.
* 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
Markdown supports limited HTML tags, which can help enrich messages.
Additionally, eliminate extra whitespace when markdown is used as that
will have weird output effects.
* 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
* 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'
* 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
* Merge pull request #54 from librenms-plugins/revert-52-PluginNamespaceCorrection
Revert "Adding namespace LibreNMS\Plugins;"
SMS Eagle prevent user mis-configuration
Only allow URLs, but automatically append http:// to ones that are only hostname
* restore whitespace
Windows puts line returns as \r\n, when parsing LibreNMS previously left the \r, which could cause issues
Centralize the code so we just have one place to fix.
Try to fix SMSEagle, it had the options wrong (copied from another transport)
* 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