Edge Delta Threshold Node

Define thresholds for trigger nodes.

Overview

The Threshold node evaluates metric items for certain conditions and sends a signal to a trigger destination if those conditions are met.

Example Configuration

For example, a threshold node can be configured to trigger a signal if a particular metric surpasses 40. See the dimension numeric capture log to metric example to see how this metric is generated.

nodes:
- name: threshold_test
  type: threshold
  filter: item.name == "log_to_metric_test_platform_mobile_app_delivery_time.avg"
  condition: value > 40

links:
- from: log_to_metric_test
  to: threshold_test
- from: threshold_test
  to: webhook_output_test

Input logs:

2023-04-15 12:05:23.123123 platform=mobile_app customer_id=12345 order_id=67890 delivery_time=39 order_status=delivered
2023-04-15 12:06:45.456456 platform=mobile_app customer_id=23456 order_id=78901 delivery_time=41 order_status=delivered
2023-04-15 12:07:17.789789 platform=web customer_id=34567 order_id=89012 delivery_time=30 order_status=delivered
2023-04-15 12:08:09.987987 platform=mobile_app customer_id=45678 order_id=90123 delivery_time=42 order_status=delivered
2023-04-15 12:10:22.654321 platform=web customer_id=56789 order_id=12345 delivery_time=39 order_status=delivered

Output: See the Webhook output node example.

Required Parameters

name

A descriptive name for the node. This is the name that will appear in Visual Pipelines and you can reference this node in the yaml using the name. It must be unique across all nodes. It is a yaml list element so it begins with a - and a space followed by the string. It is a required parameter for all nodes.

nodes:
  - name: <node name>
    type: <node type>

type: threshold

The type parameter specifies the type of node being configured. It is specified as a string from a closed list of node types. It is a required parameter.

nodes:
  - name: <node name>
    type: <node type>

filter

The filter parameter identifies the metrics that are subject to threshold evaluation. It is specified in the Common Expression Language (CEL) and you can use CEL macros. A filter is a required parameter for a threshold.

nodes:
  - name: example_threshold
    type: threshold
    filter: item.name == "error.anomaly1"
    condition:  value > 90

condition

The condition parameter specifies the condition to evaluate if the node should emit a signal. The evaluation is done on incoming metrics. It is specified using Common Expression Language (CEL) and you can use CEL macros. A condition is required.

nodes:
  - name: example_threshold
    type: threshold
    filter: item.name == "error.anomaly1"
    condition:  value > 90