opsgenie.endpoint() function
The opsgenie.endpoint()
function is a user-contributed function maintained by
the package author and can
be updated or removed at any time.
The opsgenie.endpoint()
function sends an alert message to Opsgenie using data from table rows.
Function type: Output
import "contrib/sranka/opsgenie"
opsgenie.endpoint(
url: "https://api.opsgenie.com/v2/alerts",
apiKey: "YoUrSup3R5ecR37AuThK3y",
entity: "example-entity"
)
Parameters
url
Opsgenie API URL.
Defaults to https://api.opsgenie.com/v2/alerts
.
Data type: String
apiKey
(Required) Opsgenie API authorization key.
Data type: String
entity
Alert entity used to specify the alert domain.
Data type: String
Usage
opsgenie.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
mapFn
accepts a table row (r
) and returns a record that must include the
following fields:
message
alias
description
priority
responders
tags
actions
details
visibleTo
For more information, see opsgenie.sendAlert()
.
Examples
Send critical statuses to Opsgenie
import "influxdata/influxdb/secrets"
import "contrib/sranka/opsgenie"
apiKey = secrets.get(key: "OPSGENIE_APIKEY")
endpoint = opsgenie.endpoint(apiKey: apiKey)
crit_statuses = from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_statuses
|> endpoint(mapFn: (r) => ({
message: "Great Scott!- Disk usage is: ${r.status}.",
alias: "disk-usage-${r.status}",
description: "",
priority: "P3",
responders: ["user:john@example.com", "team:itcrowd"],
tags: [],
entity: "my-lab",
actions: [],
details: "{}",
visibleTo: []
})
)()
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, the following resources are available:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.