161 lines
4.1 KiB
Markdown
161 lines
4.1 KiB
Markdown
---
|
|
title: Sensu event handler
|
|
list_title: Sensu
|
|
description: >
|
|
The Sensu event handler allows you to send Kapacitor alerts to Sensu. This page includes configuration options and usage examples.
|
|
menu:
|
|
kapacitor_1_6_ref:
|
|
name: Sensu
|
|
weight: 1400
|
|
parent: Event handlers
|
|
---
|
|
|
|
[Sensu](https://sensu.io/) is a service that provides infrastructure, service,
|
|
and application monitoring as well as other metrics.
|
|
Kapacitor can be configured to send alert messages to Sensu.
|
|
|
|
## Configuration
|
|
Configuration as well as default [option](#options) values for the Sensu event
|
|
handler are set in your `kapacitor.conf`.
|
|
Below is an example configuration:
|
|
|
|
```toml
|
|
[sensu]
|
|
enabled = true
|
|
addr = "sensu-client:3030"
|
|
source = "Kapacitor"
|
|
handlers = ["hander1-name", "handler2-name"]
|
|
```
|
|
|
|
#### `enabled`
|
|
Set to `true` to enable the Sensu event handler.
|
|
|
|
#### `addr`
|
|
The Sensu Client `host:port` address.
|
|
|
|
#### `source`
|
|
Default "Just-in-Time" (JIT) source.
|
|
|
|
#### `handlers`
|
|
List of [Sensu handlers](https://docs.sensu.io/sensu-core/1.3/guides/intro-to-handlers/) to use.
|
|
|
|
|
|
## Options
|
|
The following Sensu event handler options can be set in a
|
|
[handler file](/kapacitor/v1.6/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using
|
|
`.sensu()` in a TICKscript.
|
|
|
|
| Name | Type | Description |
|
|
| ---- | ---- | ----------- |
|
|
| source | string | Sensu source for which to post messages. |
|
|
| handlers | list of strings | Sensu handler list. If empty, uses the handler list from the configuration. |
|
|
| metadata | map of key value pairs | Adds key values pairs to the Sensu API request. |
|
|
|
|
### Example: handler file
|
|
```yaml
|
|
id: handler-id
|
|
topic: topic-name
|
|
kind: sensu
|
|
options:
|
|
source: Kapacitor
|
|
handlers:
|
|
- handler1-name
|
|
- handler2-name
|
|
metadata:
|
|
key1: value1
|
|
key2: 5
|
|
key3: 5.0
|
|
```
|
|
|
|
### Example: TICKscript
|
|
```js
|
|
|alert()
|
|
// ...
|
|
.sensu()
|
|
.source('Kapacitor')
|
|
.handlers('handler1-name', 'handler2-name')
|
|
.metadata('key1', 'value1')
|
|
.metadata('key2', 5)
|
|
.metadata('key3', 5.0)
|
|
```
|
|
|
|
## Using the Sensu event handler
|
|
With the Sensu event handler enabled and configured in your `kapacitor.conf`,
|
|
use the `.sensu()` attribute in your TICKscripts to send alerts to Sensu or
|
|
define a Sensu handler that subscribes to a topic and sends published alerts
|
|
to Sensu.
|
|
|
|
_**Sensu settings in kapacitor.conf**_
|
|
```toml
|
|
[sensu]
|
|
enabled = true
|
|
addr = "123.45.67.89:3030"
|
|
source = "Kapacitor"
|
|
handlers = ["tcp", "transport"]
|
|
```
|
|
|
|
### Send alerts to Sensu from a TICKscript
|
|
The following TICKscript uses the `.sensu()` event handler to send the message,
|
|
"Hey, check your CPU", to Sensu whenever idle CPU usage drops below 10%.
|
|
|
|
_**sensu-cpu-alert.tick**_
|
|
```js
|
|
stream
|
|
|from()
|
|
.measurement('cpu')
|
|
|alert()
|
|
.crit(lambda: "usage_idle" < 10)
|
|
.message('Hey, check your CPU')
|
|
.sensu()
|
|
```
|
|
|
|
### Send alerts to Sensu from a defined handler
|
|
|
|
The following setup sends an alert to the `cpu` topic with the message,
|
|
"Hey, check your CPU".
|
|
A Sensu handler is added that subscribes to the `cpu` topic and publishes all
|
|
alert messages to Sensu.
|
|
|
|
Create a TICKscript that publishes alert messages to a topic.
|
|
The TICKscript below sends an alert message to the `cpu` topic any time idle CPU
|
|
usage drops below 10%.
|
|
|
|
_**cpu\_alert.tick**_
|
|
```js
|
|
stream
|
|
|from()
|
|
.measurement('cpu')
|
|
|alert()
|
|
.crit(lambda: "usage_idle" < 10)
|
|
.message('Hey, check your CPU')
|
|
.topic('cpu')
|
|
```
|
|
|
|
Add and enable the TICKscript:
|
|
|
|
```bash
|
|
kapacitor define cpu_alert -tick cpu_alert.tick
|
|
kapacitor enable cpu_alert
|
|
```
|
|
|
|
Create a handler file that subscribes to the `cpu` topic and uses the Sensu
|
|
event handler to send alerts to Sensu.
|
|
|
|
_**sensu\_cpu\_handler.yaml**_
|
|
```yaml
|
|
id: sensu-cpu-alert
|
|
topic: cpu
|
|
kind: sensu
|
|
options:
|
|
source: Kapacitor
|
|
handlers:
|
|
- tcp
|
|
- transport
|
|
```
|
|
|
|
Add the handler:
|
|
|
|
```bash
|
|
kapacitor define-topic-handler sensu_cpu_handler.yaml
|
|
```
|