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.
*Function type: Output*
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
.
*Data type: String*
apiKey
Required Sensu API Key.
*Data type: String*
checkName
Required Check name. Use alphanumeric characters, underscores (_
), periods (.
), and hyphens (-
). All other characters are replaced with an underscore.
*Data type: String*
text
Required Event text. Mapped to output
in the Sensu Events API request.
*Data type: String*
handlers
Sensu handlers to execute. Default is []
.
*Data type: Array of strings*
status
Event status code that indicates state. Default is 0
.
*Data type: Integer*
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.
*Data type: string*
The following values are accepted:
"failing"
"passing"
"flapping"
namespace
Sensu namespace. Default is "default"
.
*Data type: String*
entityName
Event source. Use alphanumeric characters, underscores (_
), periods (.
), and hyphens (-
). All other characters are replaced with an underscore. Default is influxdb
.
*Data type: String*
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}**.",
)
Package author and maintainer
Github: @sranka
InfluxDB Slack: @sranka