content/flux/v0/stdlib/contrib/bonitoo-io/alerta/alert.md
alerta.alert() sends an alert to Alerta.
(
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 %}}
({{< req >}}) (Required) Alerta URL.
({{< req >}}) (Required) Alerta API key.
({{< req >}}) (Required) Resource associated with the alert.
({{< req >}}) (Required) Event name.
Alerta environment. Valid values: "Production", "Development" or empty string (default).
({{< req >}}) (Required) Event severity. See Alerta severities.
List of affected services. Default is [].
Alerta event group. Default is "".
Event value. Default is "".
Alerta text description. Default is "".
List of event tags. Default is [].
({{< req >}}) (Required) Alert attributes.
monitoring component.
Event type. Default is "".
time alert was generated. Default is now().
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(),
)