Rules
Rules define what to watch and when to raise an Alert. Each rule targets one resource group (Directors, Devices, or Targets), picks one rule type, applies to a configurable scope of resources within that group, and runs on the engine's one-minute evaluation tick.
Accessing Rules
Navigate to
Rules List
Columns:
| Column | Description |
|---|---|
| Rule Name | Name assigned at creation |
| Resource Group | Directors / Devices / Targets |
| Rule Type | The chosen rule type (for example, Disk utilization) |
| Applied Resources | Number of resources currently in scope (or All) |
| Severity | Severity levels configured on the rule (one for single-severity rules, up to four for multi-severity rules) |
| Status | Active / Passive — Active rules are evaluated every minute; Passive rules are not |
Controls:
Search rules — free-text search across rule name and rule typeResources filter — All, Directors, Devices, TargetsRule Type filter — populated from the rule types available for the selected resource group- Pagination at the foot of the table
Per-row actions (row menu):
The
Creating a Rule
The wizard runs in four steps. The Next button is disabled until every required field on the current step is valid.
Define Rule Scope
| Field | Description |
|---|---|
| Rule name | Required. Up to 255 characters. |
| Description | Optional. Free text. |
| Resource Group | Required. One of Directors, Devices, or Targets. Drives every option in the remaining steps. |
| Scope | Required. See the scope modes below. |
Scope modes (labels follow the chosen resource group — directors, devices, or targets):
| Mode | Behavior |
|---|---|
| The rule applies to every current and future resource in the chosen group. A | |
| The rule applies only to the resources picked from the list. | |
| Device rules only. Pick one or more Directors; the rule applies to every Device connected to those Directors, including Devices added later. |
Set Rule Type
Pick one rule type from the cards shown for the selected resource group. The set of available types depends on the resource group — see Rule types for the catalog.
Define Rule Behavior
The fields that appear in this step depend on the chosen rule type. The common controls are:
| Control | Description |
|---|---|
| Toggle. Off (default) means the rule is evaluated continuously. On lets the user add one or more windows of weekday + start/end time in a chosen timezone; outside those windows the rule is not evaluated. | |
| Severity | Single-severity rule types fix one level (Critical, High, Medium, or Low). Multi-severity rule types accept up to four severity rows, each with its own threshold. |
| Threshold | The numeric trigger value for threshold-based rule types. For utilization rules the unit is fixed to percent and capped at 100; for data and event volume rules a unit selector accompanies the value, or, with the threshold type |
| The observation window over which the engine evaluates the rule. Minimum one second. For status and no-data rules, it is how long the resource must stay silent before the rule fires — see Status and no-data rules. | |
| Resolve condition | Available on the rule types marked yes in the Rule types tables. |
Review and Create Rule
A read-only summary of every value entered in the preceding steps.
Rule Types
The Rule Type filter in the list and the cards on the wizard's Set Rule Type step are populated from the catalog below. The Severity model column shows whether the rule type uses one fixed severity (single) or up to four severity rows with thresholds (multiple). The Threshold column shows the input fields shown on Define Rule Behavior — — means the rule type has no threshold value (it fires on a binary condition such as disconnection).
Director rules
| Rule type | Severity model | Threshold | Resolve condition |
|---|---|---|---|
| Director status | single | — | yes |
| No data received | single | — | yes |
| Total ingest amount | multiple | value + unit (KB / MB / GB / TB / events) | — |
| Disk utilization | multiple | percent (≤ 100) | — |
| Processor utilization | multiple | percent (≤ 100) | — |
| Memory utilization | multiple | percent (≤ 100) | — |
| Queue usage | multiple | percent or size — see Queue usage input mode | yes |
| Crash detection | single | — | yes |
Device rules
| Rule type | Severity model | Threshold | Resolve condition |
|---|---|---|---|
| Device status | single | — | yes |
| No data received | single | — | yes |
| High data volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (KB / MB / GB / TB), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| Low data volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (KB / MB / GB / TB), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| High event volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (events), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| Low event volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (events), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
Target rules
| Rule type | Severity model | Threshold | Resolve condition |
|---|---|---|---|
| Target status | single | — | yes |
| High data volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (KB / MB / GB / TB), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| Low data volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (KB / MB / GB / TB), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| High event volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (events), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| Low event volume | multiple (anomaly detection: one, optionally raised to Critical) | value + unit (events), % change from the average, or anomaly detection — see Threshold type | — (anomaly detection: automatic, optional) |
| Queue usage | multiple | percent or size — see Queue usage input mode | yes |
| Backpressure | single | — | yes |
Severity models
A single-severity rule has one severity level — the rule either fires at that level or not at all. Director status, Device status, Target status, No data received, Crash detection and Backpressure use this model.
A multi-severity rule accepts up to four severity rows. Each row pairs a severity (Critical, High, Medium, Low) with its own threshold; the wizard validates that the thresholds are ordered consistently — Critical at the highest impact, Low at the lowest. When an evaluation crosses more than one threshold simultaneously, the highest matching severity is used.
Queue usage input mode
Queue usage rules expose an extra control that selects between two threshold interpretations:
| Mode | Threshold meaning |
|---|---|
| Threshold is a percentage of queue capacity, capped at 100 | |
| Threshold is an absolute size — value plus unit (KB / MB / GB / TB) |
Switching mode replaces the threshold input field on the form.
Threshold type
The four volume rule types — High and Low data volume, High and Low event volume, on devices and on targets — can compare each time period with a fixed amount, with the resource's own average, or with what it normally carries at that hour of the week. On Define Rule Behavior,
| Tile | Threshold meaning |
|---|---|
| Default. Each severity row is an amount — value plus unit — that the volume in a time period must pass. | |
| Each severity row is a percentage change from the resource's average, so one rule fits resources with different traffic. | |
| Learns the resource's normal for every hour of the week and alerts when a time period is too far outside it. No severity rows: one sensitivity and one severity. |
An amount and a percentage do not convert into each other, so switching tiles clears the severity rows' values. The anomaly detection settings keep their values.
The choice is not offered with source-level monitoring scope; choosing source-level takes the rule back to
Anomaly detection is a new threshold type, not a rename: existing rules keep the type they were saved with. It is offered where the other two tiles are — the four volume rule types on devices and on targets, without source-level scope, under the monitoring.rules feature — and has no edition gate of its own.
Define the average. With
Average of the last — 1 hour, 3 hours, 6 hours, 12 hours, 24 hours (the default), 2 days, 3 days, 5 days or 7 days. It must hold at least two time periods.Minimum average (optional) — a resource whose average is below this value is not evaluated. On a quiet resource a small change is a large percentage: 10 events becoming 30 is +200%. The value is in events for event volume rules, and in KB, MB, GB or TB for data volume rules.
The average is the resource's typical volume in one time period: the total over the lookback divided by the number of time periods in it. With a 5-minute time period and 7 days, the total of the last 7 days is divided by the 2,016 five-minute periods in it. Periods with no data count as zero. A resource that has reported for less than three quarters of the lookback is not evaluated yet, so a newly added device raises no alerts until it has enough history.
Split the average by working hours. Offered only when the average covers 3 days or more; choosing a shorter lookback clears the split.
Working hours for the average — a schedule of its own, independent of the rule'sCustom working hours , which still only decide when the rule runs.- A time period inside these working hours is compared with the working-hours average, and one outside them with the off-hours average. A time period that crosses the start or end of working hours is not evaluated.
Separate thresholds outside working hours — Off: time periods outside working hours are not evaluated, and the rule only alerts in working hours. On: they are compared with the off-hours average using a second set of severity rows, shown in two columns,In working hours andOutside working hours .
Severity rows. Each row takes a percentage:
| Rule type | Row | Range |
|---|---|---|
| High data volume, High event volume | Above 0, at most 10,000. 50 means 50% more than the average; 100 means twice the average. | |
| Low data volume, Low event volume | Above 0, less than 100. 50 means half of the average; 90 means a tenth of it. |
The review step and the
Learn the normal. With
Learn from the last — 2 weeks, 4 weeks (the default) or 8 weeks.Sensitivity —Sensitive: smaller departures alert ,Balanced (the default) orOnly extreme departures .
For every hour of the week — Monday 09:00, Monday 10:00 and so on — the normal is the median of that hour's time periods over the learning period, and the usual spread around it is learned too. The hours are read in the time zone of the user who sets up the rule; the block's description names it, and the rule keeps it once saved. Periods with no data count as zero. A resource is evaluated once it has two weeks of history.
The sensitivity is measured in the resource's own usual swing around its normal. On a steady resource, Sensitive alerts at about 20% away from normal, Balanced at about 30% and Only extreme at about 45%; a noisy resource needs a larger move for each. A rule set through the API with another score shows its sensitivity as Custom (score N).
Define alert severity. The second block takes:
- One severity — Critical, High (the default), Medium or Low.
Raise to Critical when far outside the normal — on by default, and hidden when Critical is the severity. A time period half again as far outside its normal as the sensitivity allows is raised as Critical.Resolve alerts automatically — on by default. On: an alert closes once the resource has been back within its normal for 10 minutes, or for one time period if that is longer, and a new anomaly opens a new alert. Off: alerts stay open until someone resolves them.
Some noise controls are built in and have no fields:
- A departure must last 3 minutes before it alerts.
- A change smaller than a tenth of the resource's busiest hour is ignored, so a few extra events on a quiet night do not alert.
- A time period in which all the resources evaluated together sent nothing is read as an ingestion outage and not evaluated, so an outage neither raises nor resolves alerts.
The
- at least 1 minute and at most 1 hour;
- it must divide an hour evenly, for example 5m, 15m or 30m;
- a 1-hour time period needs a learning period of 4 weeks or more.
The review step and the
Resolve condition
The rule types marked yes in the Rule types tables expose a resolve condition. The two options are:
Do not resolve the alert — the alert stays Open until an operator resolves it manually.Resolve alert after a time period — the engine auto-resolves the alert once the configured time has passed since it first triggered, whether or not the condition still holds. If it still holds, the next evaluation opens a new alert.
The utilization, data-volume, event-volume and total-ingest rule types do not take a resolve condition, and their alerts never close on their own, unless a volume rule uses
Only an anomaly detection rule with
Rule Detail
Clicking a row opens the rule detail page, organized into five tabs —
Rule Overview
The Overview tab summarizes the rule. A small set of fields is editable inline:
-
Rule Name -
Description Assigned Resources — the scope; the displayed count includes aSee all link that lists the resources currently matched
The following fields are immutable after creation:
-
Rule Type -
Resource Type
Rule Configuration
Every behavior field from the wizard's Define Rule Behavior step is editable here — working hours, threshold type, average settings and anomaly detection settings, severity rows and thresholds, time period, queue usage input mode, and resolve condition. Saving changes applies them on the next evaluation tick.
Rule Actions
The notifications this rule sends when it fires. The tab lists the assigned actions by
Six action types exist: Email, Slack, SMS, Jira, Freshservice and Freshdesk. Each is chosen from actions already configured on the platform rather than defined here — see Rule Actions — and this tab assigns them to the rule.
The details step is where the assignment is shaped. Every type asks which severities trigger it — a severity the rule itself does not define cannot be selected. Beyond that, Email and SMS collect recipients, Slack and SMS take a message template, and Jira takes a default assignee, labels and a policy for what happens when the same alert fires again, so a flapping rule does not open duplicate tickets. Freshservice and Freshdesk take a priority, an optional group and agent, tags, the same repeat policy (open a new ticket, or add a private note to the existing one), and the ticket's subject and description.
A rule with no actions assigned still evaluates and still raises alerts — it just notifies nobody.
Triggered Alerts
A table of alerts the rule has produced, with pagination at the foot — the tab has no search or filter controls.
| Column | Description |
|---|---|
| Last Updated | Most recent change |
| Severity | Current severity |
| Trigger Condition | Threshold and current value snapshot |
| Resource | Resource that produced the alert |
| Status | Open / Acknowledged / Resolved |
Activity Logs
The rule's activity: the changes made to it, and the outcome of every notification its actions were due to send. The same rows appear on the Audit page under object type AlertRule.
A notification is recorded once its outcome is final (for one that was sent, after the sender's retries) as one of three actions:
| Action | Meaning |
|---|---|
RuleActionNotificationDelivered | Every recipient was reached. |
RuleActionNotificationFailed | At least one recipient was not reached. A partial delivery counts as failed, and the description says how many were missed: Rule action "Ops mail" could not reach 1 of 2 recipients: … |
RuleActionNotificationNotSent | No recipient was tried: a quota stopped it, or the action was detached, deleted or disabled before its notification went out. |
These rows show System in the
A grouped notification, one covering several alerts, is recorded as one row. When it is delivered, its description says how many alerts it covered; whatever its outcome, the details give the count under
The action dropdown above the table filters the rows by action. Clicking a row's action opens its details. For a notification, these are:
| Label | Shows |
|---|---|
| Why the first recipient not reached was missed | |
| The error code for that recipient | |
| How many attempts the sender made | |
| Each recipient with its outcome, for example _ops@company.com: failed (550 mailbox unavailable)_ | |
| The provider's reference for what it created: a Jira issue key, a Freshservice or Freshdesk ticket | |
| The rule action that sent it | |
| The rule and the action's assignment to it | |
| The alerts the notification covered, and their count | |
| The resources the alerts were raised on | |
| The alert's severity and the event that triggered the notification | |
| The group, for a grouped notification |
Rule Actions
| Action | Effect |
|---|---|
| Opens the rule detail page. Available from the rules list row menu only. | |
| Creates a draft copy of the rule and opens it in the wizard at Define Rule Scope, including for system rules that cannot be edited directly. | |
| Toggles status between Active and Passive. A Passive rule is preserved but is not evaluated. | |
| Removes the rule and stops further evaluation. Existing alerts that the rule produced remain in the alerts list. | |
| Opens the rule as a Bicep template, with |
Apart from
System rules
System rules are shipped with the platform. They are marked in the rules list and behave like user-created rules at evaluation time, but they cannot be edited or deleted.