Documentation

sensu.event() function

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

The sensu.event() function sends a single event to the Sensu Events API.

Function type: Output

import "contrib/sranka/sensu"

sensu.event(
  url: "http://localhost:8080",
  apiKey: "mYSuP3rs3cREtApIK3Y",
  checkName: "checkName",
  text: "Event output text",
  handlers: [],
  status: 0,
  state: "passing",
  namespace: "default",
  entityName: "influxdb"
)

Parameters

url

(Required) Base URL of Sensu API without a trailing slash. Example: http://localhost:8080.

Data type: String

apiKey

(Required) Sensu API Key.

Data type: String

checkName

(Required) Check name. Use alphanumeric characters, underscores (_), periods (.), and hyphens (-). All other characters are replaced with an underscore.

Data type: String

text

(Required) Event text. Mapped to output in the Sensu Events API request.

Data type: String

handlers

Sensu handlers to execute. Default is [].

Data type: Array of strings

status

Event status code that indicates state. Default is 0.

Data type: Integer

Status codeState
0OK
1WARNING
2CRITICAL
Any other valueUNKNOWN or custom state

state

Event state. Default is "passing" for 0 status and "failing" for other statuses.

Data type: string

The following values are accepted:

  • "failing"
  • "passing"
  • "flapping"

namespace

Sensu namespace. Default is "default".

Data type: String

entityName

Event source. Use alphanumeric characters, underscores (_), periods (.), and hyphens (-). All other characters are replaced with an underscore. Default is influxdb.

Data type: String

Examples

Send the last reported status to Sensu
import "influxdata/influxdb/secrets"
import "contrib/sranka/sensu"

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

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

    sensu.event(
      url: "http://localhost:8080",
      apiKey: apiKey,
      checkName: "diskUsage",
      text: "Disk usage is **${lastReported.status}**.",
    )

Package author and maintainer

Github: @sranka
InfluxDB Slack: @sranka


Set your InfluxDB URL

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.