docs-v2/content/flux/v0.x/stdlib/contrib/sranka/sensu/event.md

3.3 KiB

title description aliases menu weight related introduced
sensu.event() function The `sensu.event()` function sends a single event to the [Sensu Events API](https://docs.sensu.io/sensu-go/latest/api/events/#create-a-new-event).
/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/event/
/influxdb/cloud/reference/flux/stdlib/contrib/sensu/event/
flux_0_x_ref
name parent
sensu.event sensu
301
https://docs.sensu.io/sensu-go/latest/api/events/, Sensu Events API
https://docs.sensu.io/sensu-go/latest/api/apikeys/, Sensu APIKeys API
https://docs.sensu.io/sensu-go/latest/reference/handlers/, Sensu handlers
0.90.0

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

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

({{< req >}}) Base URL of Sensu API without a trailing slash. Example: http://localhost:8080.

apiKey

({{< req >}}) Sensu API Key.

checkName

({{< req >}}) Check name. Use alphanumeric characters, underscores (_), periods (.), and hyphens (-). All other characters are replaced with an underscore.

text

({{< req >}}) 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 code State
0 OK
1 WARNING
2 CRITICAL
Any other value UNKNOWN or custom state

state

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

The following values are accepted:

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

namespace

Sensu namespace. Default is "default".

entityName

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

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