Documentation

Pushover event handler

Pushover is a service that sends instant push notifications to phone and tablets. Kapacitor can be configured to send alert messages to Pushover.

Configuration

Configuration as well as default option values for the Pushover event handler are set in your kapacitor.conf. Below is an example configuration:

[pushover]
  enabled = true
  token = "mysupersecrettoken"
  user-key = "myuserkey"
  url = "https://api.pushover.net/1/messages.json"

enabled

Set to true to enable the Pushover event handler.

token

Your Pushover API token.

user-key

Your Pushover USER_TOKEN.

url

The URL for the Pushover API. This should not need to be changed.

Options

The following Pushover event handler options can be set in a handler file or when using .pushover() in a TICKscript.

NameTypeDescription
devicestringSpecific list of users’ devices rather than all of a users’ devices. Multiple device names may be separated by a comma.
titlestringThe message title. By default, the app’s name is used.
urlstringA supplementary URL to show with the message.
url-titlestringA title for a supplementary URL, otherwise just the URL is shown.
soundstringThe name of one of the sounds supported by the device clients to override the user’s default sound choice.

Example: handler file

id: handler-id
topic: topic-name
kind: pushover
options:
  device: device1, device2, device3
  title: Alert from Kapacitor
  url: http://example.com
  url-title: This is an example title
  sound: siren

Example: TICKscript

|alert()
  // ...
  .pushover()
    .device('device1, device2, device3')
    .title('Alert from Kapacitor')
    .URL('http://example.com')
    .URLTitle('This is an example title')
    .sound('siren')

Pushover Priority Levels

Pushover expects priority levels with each alert. Kapacitor alert levels are mapped to the following priority levels:

Alert LevelPriority Level
OK-2 priority level.
Info-1 priority level.
Warning0 priority level.
Critical1 priority level.

Pushover Setup

Register your application with Pushover to get a Pushover token. Include the token in the [pushover] configuration section of your kapacitor.conf.

Using the Pushover event handler

With the Pushover event handler enabled and configured in your kapacitor.conf, use the .pushover() attribute in your TICKscripts to send alerts to Pushover or define a Pushover handler that subscribes to a topic and sends published alerts to Pushover.

Send alerts to Pushover from a TICKscript

The following TICKscript sends the message, “Hey, check your CPU”, to Pushover whenever idle CPU usage drops below 10% using the .pushover() event handler.

pushover-cpu-alert.tick

stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 10)
    .message('Hey, check your CPU')
    .pushover()
      .title('Alert from Kapacitor')
      .sound('siren')      

Send alerts to Pushover from a defined handler

The following setup sends an alert to the cpu topic with the message, “Hey, check your CPU”. A Pushover handler is added that subscribes to the cpu topic and publishes all alert messages to Pushover.

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 Pushover event handler to send alerts to Pushover.

pushover_cpu_handler.yaml

id: pushover-cpu-alert
topic: cpu
kind: pushover
options:
  title: Alert from Kapacitor
  sound: siren

Add the handler:

kapacitor define-topic-handler pushover_cpu_handler.yaml

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB v3 enhancements and InfluxDB Clustered is now generally available

New capabilities, including faster query performance and management tooling advance the InfluxDB v3 product line. InfluxDB Clustered is now generally available.

InfluxDB v3 performance and features

The InfluxDB v3 product line has seen significant enhancements in query performance and has made new management tooling available. These enhancements include an operational dashboard to monitor the health of your InfluxDB cluster, single sign-on (SSO) support in InfluxDB Cloud Dedicated, and new management APIs for tokens and databases.

Learn about the new v3 enhancements


InfluxDB Clustered general availability

InfluxDB Clustered is now generally available and gives you the power of InfluxDB v3 in your self-managed stack.

Talk to us about InfluxDB Clustered