License
MIT License
The Senso Go Pushover Handler is a Sensu Event Handler for sending incident notifications to Pushover.
The Sensu Go Pushover handler for sending notifications.
Usage:
sensu-go-pushover-handler [flags]
Flags:
-C, --criticalPriority uint The priority for Critical status messages (default 1)
-h, --help help for sensu-go-pushover-handler
-b, --messageBody string The message body, in token substitution format (default "{{.Check.Output}}")
-m, --messageTitle string The message title, in token substitution format (default "{{.Entity.Name}}/{{.Check.Name}}")
-a, --pushoverAPIURL string The Pushover API URL (default "https://api.pushover.net/1/messages")
-s, --messageSound string The sound for the message (default "pushover")
-O, --okPriority uint The priority for OK status messages (default 0)
-t, --pushoverToken string The Pushover API token
-u, --pushoverUserKey string The Pushover API user key
-U, --unknownPriority uint The priority for Unknown status messages (default 1)
-W, --warningPriority uint The priority for Warning status messages (default 0)
-E, --emergencyExpire uint How long, in seconds, to continue sending the same notification to the user, only relevant to Priority 2 messages (default 3600)
-R, --emergencyRetry uint How often, in seconds, to send the same notification to the user, only relevant to Priority 2 messages (default 60)
Assets are the best way to make use of this plugin. If you're not using an asset, please consider doing so! If you're using sensuctl 5.13 or later, you can use the following command to add the asset:
sensuctl asset add nixwiz/sensu-go-pushover-handler
If you're using an earlier version of sensuctl, you can download the asset definition from this project's Bonsai asset index page or one of the existing releases or create an executable script from this source.
To build from source, from the local path of the sensu-go-pushover-handler repository:
go build -o /usr/local/bin/sensu-go-pushover-handler main.go
api_version: core/v2
type: Handler
metadata:
namespace: default
name: pushover
spec:
type: pipe
command: sensu-go-pushover-handler -b http://sensu-backend.example.com:3000
filters:
- is_incident
- not_silenced
runtime_assets:
- nixwiz/sensu-go-pushover-handler
secrets:
- name: SENSU_PUSHOVER_TOKEN
secret: pushover#token
- name: SENSU_PUSHOVER_USERKEY
secret: pushover#userkey
timeout: 10
Security Note: The Pushover Token and UserKey should always be treated as
security sensitive configuration options and in this example, they are loaded
into the handler configuration as environment variables using secrets.
Command arguments are commonly readable from the process table by other
unpriviledged users on a system (ex: ps and top commands), so it's a better
practice to read in sensitive information via environment variables or
configuration files on disk. The --pushoverToken and --pushoverUserKey flags
are provided as an override for testing purposes.
N/A
See the instructions above for asset registration.
Install and setup plugins on Sensu Core.
This handler makes use of Pushover's standard API mechanism. This means creating an application token, as well as
a user API key.
For defining the message title and body, tokens from the events attributes are used.
Variable | Setting | Annotation |
---|---|---|
SENSU_PUSHOVER_TOKEN | same as -t / --pushoverToken | sensu.io/plugins/pushover/config/pushoverToken |
SENSU_PUSHOVER_USERKEY | same as -u / --pushoverUserKey | sensu.io/plugins/pushover/config/pushoverUserKey |
N/A | same as -b / --messageBody | sensu.io/plugins/pushover/config/messageBody |
N/A | same as -m / --messageTitle | sensu.io/plugins/pushover/config/messageTitle |
Note: The command line arguments take precedence over the environment variables above.
Note: Annotations take precedence over command line arguments above.
N/A
Please describe the reason for reporting this asset. Our moderators will be notified and will disable the asset if it is found to be inappropriate.
×