Documentation

sensu.event() function

sensu.event() is a user-contributed function maintained by the package author.

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

Function type signature
(
    apiKey: string,
    checkName: string,
    text: A,
    url: string,
    ?entityName: string,
    ?handlers: B,
    ?namespace: string,
    ?state: string,
    ?status: C,
) => int where C: Equatable
For more information, see Function type signatures.

Parameters

url

(Required) Base URL of Sensu API without a trailing slash.

Example: http://localhost:8080

apiKey

(Required) Sensu API Key.

checkName

(Required) Check name.

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

text

(Required) Event text.

Mapped to output in the Sensu Events API request.

handlers

Sensu handlers to execute. Default is [].

status

Event status code that indicates state. Default is 0.

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.

Accepted values:

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

namespace

Sensu namespace. Default is "default".

entityName

Event source. Default is influxdb.

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

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}**.",
)

Was this page helpful?

Thank you for your feedback!


Introducing InfluxDB 3.0

The new core of InfluxDB built with Rust and Apache Arrow. Available today in InfluxDB Cloud Dedicated.

Learn more

State of the InfluxDB Cloud Serverless documentation

The new documentation for InfluxDB Cloud Serverless is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.