opsgenie.endpoint() function
opsgenie.endpoint()
is a user-contributed function maintained by
the package author.
opsgenie.endpoint()
sends an alert message to Opsgenie using data from table rows.
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
.
Function type signature
(
apiKey: string,
?entity: string,
?url: string,
) => (
mapFn: (
r: A,
) => {
B with
visibleTo: [string],
tags: E,
responders: [string],
priority: string,
message: string,
details: D,
description: string,
alias: string,
actions: C,
},
) => (<-tables: stream[A]) => stream[{A with _sent: string}] where D: Stringable
Parameters
url
Opsgenie API URL. Defaults to https://api.opsgenie.com/v2/alerts
.
apiKey
(Required) (Required) Opsgenie API authorization key.
entity
Alert entity used to specify the alert domain.
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:
Customers with an annual or support contract can contact InfluxData Support.