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:
resourceeventseverityservicegroupvaluetexttagsattributestypetimestamp
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}]For more information, see Function type signatures.
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.