docs-v2/content/kapacitor/v1.5/event_handlers/tcp.md

100 lines
2.4 KiB
Markdown

---
title: TCP event handler
description: >
The "tcp" event handler allows you to send Kapacitor alert data to a TCP endpoint. This page includes options and usage examples.
menu:
kapacitor_1_5_ref:
name: TCP
weight: 1900
parent: Event handlers
---
The TCP event handler sends JSON encoded alert data to a TCP endpoint.
## Options
The following TCP event handler options can be set in a [handler file](/kapacitor/v1.5/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using `.tcp()` in a TICKscript.
| Name | Type | Description |
| ---- | ---- | ----------- |
| address | string | Address of TCP endpoint. |
### Example: handler file
```yaml
id: handler-id
topic: topic-name
kind: tcp
options:
address: 127.0.0.1:7777
```
### Example: TICKscript
```js
|alert()
// ...
.tcp('127.0.0.1:7777')
```
## Using the TCP event handler
The TCP event handler can be used in both TICKscripts and handler files to send
alert data to TCP endpoint.
### Send alert data to a TCP endpoint from a TICKscript
The following TICKscript uses the `.tcp()` event handler to send alert data
whenever idle CPU usage drops below 10%.
_**tcp-cpu-alert.tick**_
```js
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('Hey, check your CPU')
.tcp('127.0.0.1:7777')
```
### Send alert data to a TCP endpoint from a defined handler
The following setup sends an alert to the `cpu` topic with the message,
"Hey, check your CPU". A TCP handler is added that subscribes to the `cpu` topic
and sends all alert messages to a TCP endpoint.
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 TCP event
handler to send alert data to a TCP endpoint.
_**tcp\_cpu\_handler.yaml**_
```yaml
id: tcp-cpu-alert
topic: cpu
kind: tcp
options:
address: 127.0.0.1:7777
```
Add the handler:
```bash
kapacitor define-topic-handler tcp_cpu_handler.yaml
```