License
MIT License
The Sensu Slack Handler is a Sensu Event Handler that sends event data
to a configured Slack channel.
Help:
Usage:
sensu-slack-handler [flags]
sensu-slack-handler [command]
Available Commands:
help Help about any command
version Print the version number of this plugin
Flags:
-c, --channel string The channel to post messages to (default "#general")
-h, --help help for sensu-slack-handler
-i, --icon-url string A URL to an image to use as the user avatar (default "https://www.sensu.io/img/sensu-logo.png")
-u, --username string The username that messages will be sent as (default "sensu")
-w, --webhook-url string The webhook url to send messages to
-t, --descriptionTemplate The Slack notification output template, in Golang text/template format
Assets are the best way to make use of this handler. 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 sensu/sensu-slack-handler
If you're using an earlier version of sensuctl, you can download the asset
definition from this project's Bonsai Asset Index
page.
Create the handler using the following handler definition:
---
api_version: core/v2
type: Handler
metadata:
namespace: default
name: slack
spec:
type: pipe
command: sensu-slack-handler --channel '#general' --username 'sensu'
filters:
- is_incident
runtime_assets:
- sensu/sensu-slack-handler
secrets:
- name: SLACK_WEBHOOK_URL
secret: slack-webhook-url
timeout: 10
Security Note: The Slack webhook URL should always be treated as a security
sensitive configuration option and in this example, it is loaded into the
handler configuration as an environment variable using a secret. Command
arguments are commonly readable from the process table by other unprivaledged
users on a system (ex: ps and top commands), so it's a better practise to read
in sensitive information via environment variables or configuration files on
disk. The --webhook-url flag is provided as an override for testing purposes.
api_version: core/v2
type: CheckConfig
metadata:
namespace: default
name: dummy-app-healthz
spec:
command: check-http -u http://localhost:8080/healthz
subscriptions:
- dummy
publish: true
interval: 10
handlers:
- slack
All configuration options of this handler can be overridden via the annotations
of checks and entities. For example, to customize the channel for a given
entity, you could use the following sensu-agent configuration snippet:
# /etc/sensu/agent.yml example
annotations:
sensu.io/plugins/slack/config/channel: '#monitoring'
Download the latest version of the sensu-slack-handler from releases,
or create an executable script from this source.
From the local path of the sensu-slack-handler repository:
go build
To contribute to this plugin, see CONTRIBUTING
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.
×