content/flux/v0/stdlib/contrib/sranka/sensu/event.md
sensu.event() sends a single event to the Sensu Events API.
(
apiKey: string,
checkName: string,
text: A,
url: string,
?entityName: string,
?handlers: B,
?namespace: string,
?state: string,
?status: C,
) => int where C: Equatable
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
({{< req >}}) Base URL of Sensu API without a trailing slash.
Example: http://localhost:8080
({{< req >}}) Sensu API Key.
({{< req >}}) Check name.
Use alphanumeric characters, underscores (_), periods (.), and hyphens (-).
All other characters are replaced with an underscore.
({{< req >}}) Event text.
Mapped to output in the Sensu Events API request.
Sensu handlers to execute. Default is [].
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 |
Event state.
Default is "passing" for 0 status and "failing" for other statuses.
Accepted values:
"failing""passing""flapping"Sensu namespace.
Default is "default".
Event source.
Default is influxdb.
Use alphanumeric characters, underscores (_), periods (.), and hyphens (-).
All other characters are replaced with an underscore.
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}**.",
)