Documentation

bigpanda.sendAlert() function

Flux 0.108.0+

The bigpanda.sendAlert() function is a user-contributed function maintained by the package author and can be updated or removed at any time.

The bigpanda.sendAlert() function sends an alert to BigPanda.

import "contrib/rhajek/bigpanda"

bigpanda.sendAlert(
  url: "https://api.bigpanda.io/data/v2/alerts",
  token: "my5uP3rS3cRe7t0k3n",
  appKey: "example-app-key",
  status: "critical",
  rec: {},
)

Parameters

url

BigPanda alerts API URL. Default is the value of the bigpanda.defaultURL option.

token

(Required) BigPanda API Authorization token (API key).

appKey

(Required) BigPanda App Key.

status

(Required) BigPanda alert status.

Supported statuses:

  • ok
  • critical
  • warning
  • acknowledged

rec

(Required) Additional alert parameters to send to the BigPanda alert API.

Examples

Send the last reported value and status to BigPanda
import "contrib/rhajek/bigpanda"
import "influxdata/influxdb/secrets"
import "json"

token = secrets.get(key: "BIGPANDA_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)

bigpanda.sendAlert(
  token: token,
  appKey: "example-app-key",
  status: bigpanda.statusFromLevel(level: "${lastReported.status}"),
  rec: {
    tags: json.encode(v: [{"name": "host", "value": "my-host"}]),
    check: "my-check",
    description: "${lastReported._field} is ${lastReported.status}: ${string(v: lastReported._value)}"
  }
)

Package author and maintainer

Github: @rhajek, @bonitoo-io


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.