Documentation

opsgenie.sendAlert() function

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

The opsgenie.sendAlert() function sends an alert message to Opsgenie.

Function type: Output

import "contrib/sranka/opsgenie"

opsgenie.sendAlert(
  url: "https://api.opsgenie.com/v2/alerts",
  apiKey: "YoUrSup3R5ecR37AuThK3y",
  message: "Example message",
  alias: "Example alias",
  description: "Example description",
  priority: "P3",
  responders: ["user:john@example.com", "team:itcrowd"],
  tags: ["tag1", "tag2"],
  entity: "example-entity",
  actions: ["action1", "action2"],
  details: "{}",
  visibleTo: []
)

Parameters

url

Opsgenie API URL. Defaults to https://api.opsgenie.com/v2/alerts.

Data type: String

apiKey

(Required) Opsgenie API authorization key.

Data type: String

message

(Required) Alert message text. 130 characters or less.

Data type: String

alias

Opsgenie alias usee to de-deduplicate alerts. 250 characters or less. Defaults to message.

Data type: String

description

Alert description. 15000 characters or less.

Data type: String

priority

Opsgenie alert priority. Valid values include:

  • P1
  • P2
  • P3 (default)
  • P4
  • P5

Data type: String

responders

List of responder teams or users. Use the user: prefix for users and teams: prefix for teams.

Data type: Array of strings

tags

Alert tags.

Data type: Array of strings

entity

Alert entity used to specify the alert domain.

Data type: String

actions

List of actions available for the alert.

Data type: Array of strings

details

Additional alert details. Must be a JSON-encoded map of key-value string pairs.

Data type: String

visibleTo

List of teams and users the alert will be visible to without sending notifications. Use the user: prefix for users and teams: prefix for teams.

Data type: Array of strings

Examples

Send the last reported status to a Opsgenie
import "influxdata/influxdb/secrets"
import "contrib/sranka/opsgenie"

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

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

    opsgenie.sendAlert(
      apiKey: apiKey,
      message: "Disk usage is: ${lastReported.status}.",
      alias: "example-disk-usage",
      responders: ["user:john@example.com", "team:itcrowd"]
    )

Package author and maintainer

Github: @sranka
InfluxDB Slack: @sranka


New! Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: