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
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 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.
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!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Flux and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.