alerta.endpoint() function
alerta.endpoint()
is a user-contributed function maintained by
the package author.
alerta.endpoint()
sends alerts to Alerta using data from input rows.
Usage
alerta.endpoint
is a factory function that outputs another function.
The output function requires a mapFn
parameter.
mapFn
A function that builds the object used to generate the POST request. Requires an r
parameter.
mapFn
accepts a table row (r
) and returns an object that must include the following fields:
resource
event
severity
service
group
value
text
tags
attributes
type
timestamp
For more information, see alerta.alert()
parameters.
Function type signature
(
apiKey: string,
url: string,
?environment: A,
?origin: B,
) => (
mapFn: (
r: C,
) => {
D with
value: O,
type: N,
timestamp: M,
text: L,
tags: K,
severity: J,
service: I,
resource: H,
group: G,
event: F,
attributes: E,
},
) => (<-tables: stream[C]) => stream[{C with _sent: string}]
Parameters
url
(Required) (Required) Alerta URL.
apiKey
(Required) (Required) Alerta API key.
environment
Alert environment. Default is ""
.
Valid values: “Production”, “Development”, or empty string (default).
origin
Alert origin. Default is "InfluxDB"
.
Examples
Send critical alerts to Alerta
import "contrib/bonitoo-io/alerta"
import "influxdata/influxdb/secrets"
apiKey = secrets.get(key: "ALERTA_API_KEY")
endpoint =
alerta.endpoint(
url: "https://alerta.io:8080/alert",
apiKey: apiKey,
environment: "Production",
origin: "InfluxDB",
)
crit_events =
from(bucket: "example-bucket")
|> range(start: -1m)
|> filter(fn: (r) => r._measurement == "statuses" and status == "crit")
crit_events
|> endpoint(
mapFn: (r) => {
return {r with
resource: "example-resource",
event: "example-event",
severity: "critical",
service: r.service,
group: "example-group",
value: r.status,
text: "Status is critical.",
tags: ["ex1", "ex2"],
attributes: {},
type: "exampleAlertType",
timestamp: now(),
}
},
)()
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.