TrendThresholdEngine
Overview
The Unified Assurance Metric Trend Threshold Engine monitors the linear regression trend of metrics and monitors both positive and negative changes allowing soft predictions to be made. This threshold engine is best used for monitoring metrics such as disk space or bandwidth utilization.
-
Trend % Change thresholds check if a metric increases or decreases more than a specified amount over course of the time period and sends an alert if crossed (i.e. "Alert if bandwidth rate of change is > 10% based on a week's data").
-
Trend Prediction thresholds use the linear regression trend to determine if the value will reach a given value within the defined window of time and alert if at or before (i.e. "Alert if disk will be 90% in 6 months or sooner").
Trend Threshold Engine Setup
Note:
As part of using the Trend Threshold Engine application, the Metric Standard Thresholding Engine must also be enabled and running to process threshold violation messages into events.
-
Add Threshold(s) or modify existing Threshold(s):
Configuration -> Metrics -> Thresholds -> Thresholds
-
Type must be:
-
Trend % Change
-
Trend Prediction
-
-
-
Add threshold(s) to metrics. This can be done in several ways:
-
This can be done manually on the "Metrics" UI:
-
Added during metric creation when using "Polling Assignments" or "Polling Policies". See the related documentation:
-
Added to the metric during polling when using rules. See the "AddThresholdToMetric" library documentation.
-
-
Enable the default Job, unless a specific configuration option is needed.
Default Scheduled Job
Field | Value |
---|---|
Package Name | coreProcessing-app |
Job Name | Metric Trend Threshold Engine |
Job Program | bin/core/processing/TrendThresholdEngine |
Job Arguments | |
Job Description | Generate Trend Threshold Violations |
Failover Type | Standalone (Supported: Standalone, Primary/Backup) |
Status | Disabled |
Privileged | (Unchecked) |
Minutes | 7 |
Hours | 0 |
Days | * |
Months | * |
WeekDays | * |
Default Configuration
Name | Value | Possible Values | Notes |
---|---|---|---|
LogFile | logs/MetricTrendThresholdEngine.log | Text, 255 characters | Relative path to Log File. |
LogLevel | ERROR | OFF, FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
Threads | 3 | Integer | The number of processing threads created. |
DeviceGroupID | 0 | Combobox of available Groups | Optional - If specified, the thresholding engine will only look at metrics for devices in the specific group. |
DeviceZoneID | All Zones | Combobox of available Zones | Optional - If specified, the thresholding engine will only look at metrics for devices in the specific zone. |
SendAllViolations | Disabled | Enabled/Disabled | Optional - If set to "Enabled", every threshold violation (regardless of current state) will create a notification. Otherwise, only violations that changed state will be sent e.g. only Active violations from a Clear state and Clear messages from an Active state. |
Best Practices
-
The default job configuration is to run at 12:07am every day. This job should be executed after all metric polling is complete to ensure valid results.
-
This job should run as often as the shortest time window in order to accurately alert on thresholds. e.g. If a time window for a threshold is less than 1 day, this job will need to be updated to run more than once a day.
Administration Details
The following list shows the technical details you will need for advanced administration of the application:
-
Package - coreProcessing-app
-
Synopsis -
./TrendThresholdEngine [OPTIONS]
-
Options:
-c, --AppConfigID N Application Config ID (Job ID) -?, -h, --Help Print usage and exit
-
Threaded - Multi-Threaded