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!


Introducing InfluxDB Clustered

A highly available InfluxDB 3.0 cluster on your own infrastructure.

InfluxDB Clustered is a highly available InfluxDB 3.0 cluster built for high write and query workloads on your own infrastructure.

InfluxDB Clustered is currently in limited availability and is only available to a limited group of InfluxData customers. If interested in being part of the limited access group, please contact the InfluxData Sales team.

Learn more
Contact InfluxData Sales

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.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following:

State of the InfluxDB Cloud Serverless documentation

InfluxDB Cloud Serverless documentation is a work in progress.

The new documentation for InfluxDB Cloud Serverless is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.