Documentation

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

For more information, see Function type signatures.

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!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.4

Key enhancements in InfluxDB 3.4 and the InfluxDB 3 Explorer 1.2.

See the Blog Post

InfluxDB 3.4 is now available for both Core and Enterprise, which introduces offline token generation for use in automated deployments and configurable license type selection that lets you bypass the interactive license prompt. InfluxDB 3 Explorer 1.2 is also available, which includes InfluxDB cache management and other new features.

For more information, check out: