2.8 KiB
2.8 KiB
title | description | aliases | menu | weight | flux/v0.x/tags | introduced | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
monitor.check() function | The `monitor.check()` function checks input data and assigns a level (`ok`, `info`, `warn`, or `crit`) to each row based on predicate functions. |
|
|
202 |
|
0.39.0 |
The monitor.check()
function checks input data and assigns a level
(ok
, info
, warn
, or crit
) to each row based on predicate functions.
import "influxdata/influxdb/monitor"
monitor.check(
crit: (r) => r._value > 90.0,
warn: (r) => r._value > 80.0,
info: (r) => r._value > 60.0,
ok: (r) => r._value <= 20.0,
messageFn: (r) => "The current level is ${r._level}",
data: {},
)
monitor.check()
stores statuses in the _level
column and writes results
to the statuses
measurement in the _monitoring
bucket.
Parameters
crit
Predicate function that determines crit
status.
Default is (r) => false
.
warn
Predicate function that determines warn
status.
Default is (r) => false
.
info
Predicate function that determines info
status.
Default is (r) => false
.
ok
Predicate function that determines ok
status.
Default is (r) => true
.
messageFn
A function that constructs a message to append to each row.
The message is stored in the _message
column.
data
Meta data used to identify this check.
tables
Input data.
Default is piped-forward data (<-
).
Examples
Monitor disk usage
import "influxdata/influxdb/monitor"
from(bucket: "telegraf")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "disk" and r._field == "used_percent")
|> group(columns: ["_measurement"])
|> monitor.check(
crit: (r) => r._value > 90.0,
warn: (r) => r._value > 80.0,
info: (r) => r._value > 70.0,
ok: (r) => r._value <= 60.0,
messageFn: (r) => if r._level == "crit" then
"Critical alert!! Disk usage is at ${r._value}%!"
else if r._level == "warn" then
"Warning! Disk usage is at ${r._value}%."
else if r._level == "info" then
"Disk usage is at ${r._value}%."
else
"Things are looking good.",
data: {
_check_name: "Disk Utilization (Used Percentage)",
_check_id: "disk_used_percent",
_type: "threshold",
tags: {}
},
)