docs-v2/content/flux/v0/stdlib/contrib/bonitoo-io/alerta/alert.md

3.4 KiB

title description menu weight flux/v0/tags
alerta.alert() function `alerta.alert()` sends an alert to [Alerta](https://alerta.io/).
flux_v0_ref
name parent identifier
alerta.alert contrib/bonitoo-io/alerta contrib/bonitoo-io/alerta/alert
301
single notification

alerta.alert() sends an alert to Alerta.

Function type signature
(
    apiKey: string,
    attributes: A,
    event: B,
    resource: C,
    severity: D,
    url: string,
    ?environment: E,
    ?group: F,
    ?origin: G,
    ?service: H,
    ?tags: I,
    ?text: J,
    ?timestamp: K,
    ?type: L,
    ?value: M,
) => int

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

url

({{< req >}}) (Required) Alerta URL.

apiKey

({{< req >}}) (Required) Alerta API key.

resource

({{< req >}}) (Required) Resource associated with the alert.

event

({{< req >}}) (Required) Event name.

environment

Alerta environment. Valid values: "Production", "Development" or empty string (default).

severity

({{< req >}}) (Required) Event severity. See Alerta severities.

service

List of affected services. Default is [].

group

Alerta event group. Default is "".

value

Event value. Default is "".

text

Alerta text description. Default is "".

tags

List of event tags. Default is [].

attributes

({{< req >}}) (Required) Alert attributes.

origin

monitoring component.

type

Event type. Default is "".

timestamp

time alert was generated. Default is now().

Examples

Send the last reported value and status to Alerta

import "contrib/bonitoo-io/alerta"
import "influxdata/influxdb/secrets"

apiKey = secrets.get(key: "ALERTA_API_KEY")

lastReported =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "example-measurement" and r._field == "level")
        |> last()
        |> findRecord(fn: (key) => true, idx: 0)

severity = if lastReported._value > 50 then "warning" else "ok"

alerta.alert(
    url: "https://alerta.io:8080/alert",
    apiKey: apiKey,
    resource: "example-resource",
    event: "Example event",
    environment: "Production",
    severity: severity,
    service: ["example-service"],
    group: "example-group",
    value: string(v: lastReported._value),
    text: "Service is ${severity}. The last reported value was ${string(v: lastReported._value)}.",
    tags: ["ex1", "ex2"],
    attributes: {},
    origin: "InfluxDB",
    type: "exampleAlertType",
    timestamp: now(),
)