About the Dynamic Thresholds app
Note
The Dynamic Thresholds app version 1.7.0 requires:
- Web Console version 3.9.0 or later
- ITRS Analytics Platform version 2.18.0 or later
The Dynamic Thresholds app is designed to help you monitor your systems more intelligently and reduce alert fatigue. Traditional static thresholds often generate unnecessary alerts when normal fluctuations occur, overwhelming teams and diverting attention from real issues. In contrast, the Dynamic Thresholds app provides adaptive, data-driven anomaly detection by learning from historical data and automatically adjusting to expected behavior. This ensures that alerts focus on statistically significant deviations, allowing you to respond only to genuine anomalies.
Use the Dynamic Thresholds app to set up and manage dynamic thresholds for various metrics. The app leverages a deviation model that learns the historical behavior of your metrics, automatically establishing and adjusting flexible upper and lower boundaries.
The app also offers:
- Configurable warning and critical severity levels for alert escalation.
- Adjustable training period to fine-tune adaptability to recent patterns.
- Noise reduction features, including metric smoothing and configurable alert delays, to minimize false positives.
From the app’s main screen, you can:
- View a list of all existing dynamic threshold configurations.
- Edit an existing dynamic threshold configuration by clicking on a row.
- See the status of each configuration. With an admin account, you can toggle the Enabled checkbox of a configuration directly from the table to activate or deactivate a configuration.
- Identify the name, metric, group, number of entities, who created the configuration, and last modified date for each configuration.
- Search for any string field in the configurations.
Define a new dynamic threshold configuration Copied
Tip
Watch this product demo tour in full screen to learn how to create a dynamic threshold configuration for your metrics.
Dry run results Copied
Once a metric is selected, a chart is automatically generated on the right-hand side of the screen. This chart shows the metrics and thresholds for any matching entity within the last 24 hours and provides a comprehensive view of your metric behavior.
This chart also displays:
-
The primary metric value and its statistical spread, providing better insight into data variability and confidence.
-
A shaded range for each data sample which represents the statistical distribution of values, including the minimum and maximum bounds and 25th to 75th percentile ranges.
-
Aggregation of scalar metric values during threshold calculations for more precise results. Click on the
icon to select your preferred aggregation method:- Mean - the average value over the time window.
- Min - the minimum value in the time window.
- Max - the maximum value in the time window.
- Percentile - a configurable percentile (min, p5, p25, p50, p75, p95, max).
Note
Custom aggregations are only available when your configuration meets the following conditions:
- Scalar metrics are used, not histogram metrics nor rolling window.
- Noise reduction is set to None or Alert Delay.
- Use raw values option is disabled.
When these conditions are not met, the aggregation controls will be disabled with a helpful tooltip explaining what needs to be changed.
-
Raw data when the Use raw values button is enabled. The chart will display the metric line using raw data instead of downsample data. Raw values can only be viewed while editing a configuration and will not persist upon saving.
Use this chart to preview the behavior of your dynamic threshold configuration. Changing the selected metric or adjusting the thresholds and training window sliders will automatically update the chart.
Click Analyse Results to simulate the configuration for matching entities. The Dry Run Results table then gives you an overview of how the configuration impacts most entities. You can click on a row to preview the dynamic threshold behavior for a specific entity and adjust your configuration based on these results.
When you adjust your configuration, a banner will appear indicating that the results are no longer valid. Click Refresh Results to show the updated results based on the new configuration.
Import and export configurations Copied
The Dynamic Thresholds app supports importing and exporting configurations in JSON format. This is useful for moving configurations across different environments.
Import Copied
With the Import feature, you can:
- Upload up to 100 JSON files at a time, with a maximum size of 2 MB per file.
- Validate each file to ensure it is valid JSON and a proper threshold configuration.
- Override existing configurations to prevent conflicts.
When importing files, you may encounter the following status messages:
Valid
The configuration has been successfully validated and is ready for import.
Uploaded
The configuration has been successfully uploaded to the server.
Conflict
The configuration file is valid, but the filename conflicts with an existing configuration. You can choose to override the existing file.
Error
The file could not be imported due to invalid JSON or failed ThresholdConfig validation.
Failed
The file upload to the server failed.
Oversized
The file exceeds the 2MB size limit.
Skipped
The file was skipped because the maximum of 100 configurations was reached.
Export Copied
With the Export feature, you can:
- Download individual configuration files or bulk export them into a single JSON file.
- Select multiple JSON files to export by ticking on the corresponding checkboxes or clicking Select All.
- Maintain consistent naming, as exported files retain the configuration names used in the app.
Threshold metric staleness Copied
When a dynamic threshold configuration is enabled, the app publishes threshold metrics for every matching entity. The threshold metrics are ingested into the platform like ordinary source metrics and contribute to entity activity tracking. As a result, threshold metrics can keep entities appearing active in Entity Viewer even when the original source metric has stopped producing data.
Each dynamic threshold configuration defines a refreshInterval that controls how often
the app queries the platform for fresh metric data. When that refresh runs, the app
recalculates threshold values from the latest data and checks when the source metric was
last seen. Between refreshes, the app continues to re-publish the existing threshold values at a shorter interval to keep entity activity current.
By default, the app stops publishing threshold data for an entity approximately one hour after its source metric was last seen. This is controlled by the thresholdMetricStaleAfter setting, which defaults to PT1H (one hour). The exact time until the entity becomes inactive in Entity Viewer also depends on your platform’s entity inactivity configuration, which is managed separately from the Dynamic Thresholds app. If the default behavior does not suit your deployment, contact ITRS support.
Signals when a source metric becomes stale Copied
When the app determines that a source metric has stopped sending data, it publishes a clear so the dynamic threshold signal moves to severity NONE, with a message indicating that the signal was cleared due to source metric staleness. You do not need to wait for entity age-out alone to drop a stale severity.
Note
After the app clears a signal toNONE, the visible signal updates immediately.
Troubleshooting Copied
- Entity stays active longer than expected — Verify that no other data source is still publishing for that entity. Check entity attributes, such as inactivity timestamps in the Entity Viewer. If the issue persists, contact ITRS support.
- Signals clearing unexpectedly while the source is healthy — This can indicate a configuration timing issue. Contact ITRS support with details of your threshold configuration’s
refreshIntervaland your deployment’s Helm values.