Documentation

bigpanda.endpoint() function

Flux 0.108.0+

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

The bigpanda.endpoint() function sends alerts to BigPanda using data from input rows.

import "contrib/rhajek/bigpanda"

bigpanda.endpoint(
  url: "https://api.bigpanda.io/data/v2/alerts",
  token: "my5uP3rS3cRe7t0k3n",
  appKey: "example-app-key"
)

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.

Usage

bigpanda.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:

For more information, see bigpanda.sendAlert() parameters.

Examples

Send critical alerts to BigPanda
import "contrib/rhajek/bigpanda"
import "influxdata/influxdb/secrets"
import "json"

token = secrets.get(key: "BIGPANDA_API_KEY")
endpoint = bigpanda.endpoint(
  token: token,
  appKey: "example-app-key"
)

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
      status: "critical",
      check: "critical-status-check",
      description: "${r._field} is critical: ${string(v: r._value)}"
      tags: json.encode(v: [{"name": "host", "value": r.host}]),
    }
  })()

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.