* Improved Latency graph
Store loss+jitter info in rrd instead of database
New graph icmp_perf (legacy ping_perf still valid referencing part of the newer data)
Delete device_perf table
* Change loss to an area so it is more visible
* Style fixes
* Cleanups from phpstan & tests
* exit_code fix
* Remove alert usage of device_perf
* Don't use magic __get
* Add test for bulkPing
Add host to previous tests
* style fixes
* Fix issue fping error responses
* Pretty up Slack formatting.
* Normalize spaces by turning every instance of two or more spaces into
one space.
* Allow for custom URL links even when strip_tags() is in effect by
transformaing "standard" markdown syntax into Slack link markdown
after strip_tags() is run.
* Document the changes to the Slack transport.
While here, flesh out the Slack docs to match the configuration options
one currently sees in the transport.
* Use backticks to escape things from markdown rendering.
* We don't need this other escaping now.
* Fix custom link due to line break.
* Fix spelling typo.
---------
Co-authored-by: Joe Clarke <jclarke@cisco.com>
The @signedGraphTag section is wrong, it should not be "device_id" that fails to load, it needs to just be "device"
The server link below that is also wrong, it should not be "id", it should be "device"
* Add custom Field to Jira Payload
Allmost every Jira setup is diffenerent and requires customise information to be added to the API post.
This change will allow you add a custom fields to the '"fields": { }' using json format.
Examples: are provided in the TransportUI
* applying StyleCI fixes
* Updating Jira transport
* Updating Jira transport
* Updating Jira transport
* styleci fixes
* Renaming variables to align with existing conventions
* Fixing imput checks to make sure values are legit
* style
* Fix minor typo
---------
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Justin Lentz <monkeybrains7@gmail.com>
* 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>
* 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
Removed links to videos about how to create rules. The videos no longer describe the process for adding rules or wildcards. The new alerting UI is too different from the old one for them to be useful.
* 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
* More secure external graph access
Add @signedGraphTag() and @signedGraphUrl() blade directives
Takes either an array of graph variables or a url to a graph
Uses a signed url that is accessible without user login, embeds signature in url to authenticate access
See Laravel Signed Url for more details.
Adds Laravel route to graphs (does not change links to use it yet)
@graphImage requires the other PR
Also APP_URL is required in .env
* missing files from rebase
* Fix url parsing with a get string
* allow width and height to be omitted
* Documentation
* Add to, otherwise it will always be now
* Doc note for to and from relative security
* fix vars.inc.php (Laravel has a dummy url here)
* 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
* 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
* 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>
* 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>
* 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
* 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