content/kapacitor/v1/reference/event_handlers/publish.md
The publish event handler publishes events to another topic.
The following publish event handler options can be set in a handler file.
| Name | Type | Description |
|---|---|---|
| topics | list of string | List of topic names to publish events. |
id: handler-id
topic: topic-name
kind: publish
options:
topics:
- system
- ops_team
The following setup sends an alert to the cpu topic with the message,
"Hey, check your CPU".
A publish handler is added that subscribes to the cpu topic and publishes new
alerts to other topics.
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 publish
event handler to publish alerts to other topics.
publish_cpu_alerts_handler.yaml
id: publish-cpu-alert
topic: cpu
kind: publish
options:
topics:
- system
- ops_team
Add the handler:
kapacitor define-topic-handler publish_cpu_alerts_handler.yaml