PagerDuty v1 event handler
PagerDuty is an incident management platform that helps teams detect and fix infrastructure problems quickly. Kapacitor can be configured to send alert messages to PagerDuty.
This page is specific to PagerDuty’s v1 API which has been deprecated. PagerDuty recommends migrating to their v2 API. View the PagerDuty API migration guide for more information about upgrading. If using the v2 API, view the PagerDuty v2 event handler documentation.
Configuration
Configuration as well as default option values for the PagerDuty v1
event handler are set in your kapacitor.conf
.
Below is an example configuration:
[pagerduty]
enabled = true
service-key = ""
url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json"
global = false
enabled
Set to true
to enable the PagerDuty v1 event handler.
service-key
Your PagerDuty Service Key.
url
The PagerDuty API v1 URL. This should not need to be changed.
global
If true
, all alerts will be sent to PagerDuty without explicitly specifying
PagerDuty in TICKscripts.
Options
The following PagerDuty v1 event handler options can be set in a
handler file or when using
.pagerDuty()
in a TICKscript.
Name | Type | Description |
---|---|---|
service-key | string | The PagerDuty service key to use for the alert. |
Example: handler file
id: handler-id
topic: topic-name
kind: pagerduty
options:
service-key: 'myservicekey'
Example: TICKscript
|alert()
// ...
.pagerDuty()
.serviceKey('myservicekey')
PagerDuty Setup
To allow Kapacitor to send alerts to PagerDuty
enable a new “Generic API” integration.
Use the generated “Integration Key” as the service-key
under the [pagerduty]
section of your kapacitor.conf
.
Using the PagerDuty v1 Event Handler
With the PagerDuty v1 event handler enabled in your kapacitor.conf
, use the
.pagerDuty()
attribute in your TICKscripts to send alerts to a PagerDuty or
define a PagerDuty v1 handler that subscribes to a topic and sends published
alerts to PagerDuty.
The examples below use the following PagerDuty v1 configuration defined in the kapacitor.conf
:
PagerDuty v1 settings in kapacitor.conf
[pagerduty]
enabled = true
service-key = "myservicekey"
url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json"
global = false
Send alerts to PagerDuty from a TICKscript
The following TICKscript uses the .pagerDuty()
event handler to send the
message, “Hey, check your CPU”, whenever idle CPU usage drops below 10%.
pagerduty-cpu-alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('Hey, check your CPU')
.pagerDuty()
Send alerts to PagerDuty from a defined handler
The following setup sends an alert to the cpu
topic with the message,
“Hey, check your CPU”.
A PagerDuty v1 handler is added that subscribes to the cpu
topic and publishes
all alert messages to PagerDuty.
Create a TICKscript that publishes alert messages to a topic.
The TICKscript below sends an alert message to the cpu
topic any time CPU
idle usage drops below 10% (or CPU usage is above 90%).
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 PagerDuty
v1 event handler to send alerts to PagerDuty.
pagerduty_cpu_handler.yaml
topic: cpu
id: pagerduty-cpu-alert
kind: pagerduty
options:
service-key: 'myservicekey'
Add the handler:
kapacitor define-topic-handler pagerduty_cpu_handler.yaml
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Kapacitor and this documentation. To find support, use the following resources: