Publish event handler

The publish event handler publishes events to another topic.

Options

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.

Example: handler file

id: handler-id
topic: topic-name
kind: publish
options:
  topics:
    - system
    - ops_team

Using the publish event handler

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

This documentation is open source. See a typo? Please, open an issue.


Need help getting up and running? Get Support