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.
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
.
apiKey
(Required) Opsgenie API authorization key.
entity
Alert entity used to specify the alert domain.
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.
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: [],
}),
)()
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 Flux and this documentation. To find support, use the following resources:
InfluxDB Cloud customers can contact InfluxData Support.