monitor.notify() function
monitor.notify()
sends a notification to an endpoint and logs it in the notifications
measurement in the _monitoring
bucket.
Function type signature
(
<-tables: stream[E],
data: A,
endpoint: (<-: stream[{B with _time: C, _time: time, _status_timestamp: int, _measurement: string}]) => stream[D],
) => stream[D] where A: Record, D: Record, E: Record
Parameters
endpoint
(Required) A function that constructs and sends the notification to an endpoint.
data
(Required) Notification data to append to the output.
This data specifies which notification rule and notification endpoint to associate with the sent notification. The data record must contain the following properties:
- _notification_rule_id
- _notification_rule_name
- _notification_endpoint_id
- _notification_endpoint_name
The InfluxDB monitoring and alerting system uses
monitor.notify()
to store information about sent notifications and automatically assigns these values. If writing a custom notification task, we recommend using unique arbitrary values for data record properties.
tables
Input data. Default is piped-forward data (<-
).
Examples
Send critical status notifications to Slack
import "influxdata/influxdb/monitor"
import "influxdata/influxdb/secrets"
import "slack"
token = secrets.get(key: "SLACK_TOKEN")
endpoint =
slack.endpoint(token: token)(
mapFn: (r) => ({channel: "Alerts", text: r._message, color: "danger"}),
)
notification_data = {
_notification_rule_id: "0000000000000001",
_notification_rule_name: "example-rule-name",
_notification_endpoint_id: "0000000000000002",
_notification_endpoint_name: "example-endpoint-name",
}
monitor.from(range: -5m, fn: (r) => r._level == "crit")
|> range(start: -5m)
|> monitor.notify(endpoint: endpoint, data: notification_data)
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.