content/kapacitor/v1/reference/event_handlers/tcp.md
The TCP event handler sends JSON encoded alert data to a TCP endpoint.
The following TCP event handler options can be set in a handler file or when using .tcp() in a TICKscript.
| Name | Type | Description |
|---|---|---|
| address | string | Address of TCP endpoint. |
id: handler-id
topic: topic-name
kind: tcp
options:
address: 127.0.0.1:7777
|alert()
// ...
.tcp('127.0.0.1:7777')
The TCP event handler can be used in both TICKscripts and handler files to send alert data to TCP endpoint.
The following TICKscript uses the .tcp() event handler to send alert data
whenever idle CPU usage drops below 10%.
tcp-cpu-alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('Hey, check your CPU')
.tcp('127.0.0.1:7777')
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
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('Hey, check your CPU')
.topic('cpu')
Add and enable the TICKscript:
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
id: tcp-cpu-alert
topic: cpu
kind: tcp
options:
address: 127.0.0.1:7777
Add the handler:
kapacitor define-topic-handler tcp_cpu_handler.yaml