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.
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
.
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.
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}**.",
)
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, the following resources are available:
InfluxDB Cloud customers can contact InfluxData Support.