tickscript.alert() function
tickscript.alert()
is a user-contributed function maintained by
the package author.
tickscript.alert()
identifies events of varying severity levels
and writes them to the statuses
measurement in the InfluxDB _monitoring
system bucket.
This function is comparable to
TICKscript alert()
.
Function type signature
(
<-tables: stream[M],
check: {A with tags: E, _type: D, _check_name: C, _check_id: B},
?crit: (r: {F with _time: H, _measurement: G}) => bool,
?details: (r: {I with id: J, _check_name: C, _check_id: B}) => K,
?id: (r: {I with _check_name: C, _check_id: B}) => J,
?info: (r: {F with _time: H, _measurement: G}) => bool,
?message: (
r: {
F with
_type: D,
_time: H,
_time: time,
_source_timestamp: int,
_source_measurement: G,
_measurement: G,
_measurement: string,
_level: string,
_check_name: C,
_check_id: B,
},
) => L,
?ok: (r: {F with _time: H, _measurement: G}) => bool,
?topic: string,
?warn: (r: {F with _time: H, _measurement: G}) => bool,
) => stream[{
F with
_type: D,
_time: H,
_time: time,
_source_timestamp: int,
_source_measurement: G,
_message: L,
_measurement: G,
_measurement: string,
_level: string,
_check_name: C,
_check_id: B,
}] where E: Record, I: Record, M: Record
Parameters
check
(Required)
InfluxDB check data.
See tickscript.defineCheck()
.
id
Function that returns the InfluxDB check ID provided by the check record.
Default is (r) => "${r._check_id}"
.
details
Function to return the InfluxDB check details using data from input rows.
Default is (r) => ""
.
message
Function to return the InfluxDB check message using data from input rows.
Default is (r) => "Threshold Check: ${r._check_name} is: ${r._level}"
.
crit
Predicate function to determine crit
status. Default is (r) => false
.
warn
Predicate function to determine warn
status. Default is (r) => false
.
info
Predicate function to determine info
status. Default is (r) => false
.
ok
Predicate function to determine ok
status. Default is (r) => true
.
topic
Check topic. Default is ""
.
tables
Input data. Default is piped-forward data (<-
).
Examples
Store alert statuses for error counts
import "contrib/bonitoo-io/tickscript"
option task = {name: "Example task", every: 1m}
check = tickscript.defineCheck(id: "000000000000", name: "Errors", type: "threshold")
from(bucket: "example-bucket")
|> range(start: -task.every)
|> filter(fn: (r) => r._measurement == "errors" and r._field == "value")
|> count()
|> tickscript.alert(
check: {check with _check_id: "task/${r.service}"},
message: "task/${r.service} is ${r._level} value: ${r._value}",
crit: (r) => r._value > 30,
warn: (r) => r._value > 20,
info: (r) => r._value > 10,
)
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.