pagerduty.endpoint() function
The pagerduty.endpoint()
function sends a message to PagerDuty that includes output data.
*Function type: Output*
import "pagerduty"
pagerduty.endpoint(
url: "https://events.pagerduty.com/v2/enqueue"
)
Parameters
pagerdutyURL
The PagerDuty API URL. Defaults to https://events.pagerduty.com/v2/enqueue
.
*Data type: String*
Usage
pagerduty.endpoint
is a factory function that outputs another function. The output function requires a mapFn
parameter.
mapFn
A function that builds the record used to generate the POST request. Requires an r
parameter.
*Data type: Function*
The returned record must include the following fields:
routingKey
client
client_url
class
eventAction
group
severity
component
source
summary
timestamp
For more information, see pagerduty.sendEvent()
Examples
Send critical statuses to a PagerDuty endpoint
import "pagerduty"
import "influxdata/influxdb/secrets"
token = secrets.get(key: "PAGERDUTY_TOKEN")
e = pagerduty.endpoint(token: token)
crit_statuses = from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> e(mapFn: (r) => ({ r with
routingKey: r.routingKey,
client: r.client,
clientURL: r.clientURL,
class: r.class,
eventAction: r.eventAction,
group: r.group,
severity: r.severity,
component: r.component,
source: r.source,
summary: r.summary,
timestamp: r._time,
})
)()