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


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: