Auto Make Metric Rules Help
How to auto-generate rules and then auto-generate a dashboard from those active rules.
Set Scope
Choose a recent time window, minimum data points, optional service filter, and whether to include Attr FP scoped candidates.
Preview First
Use Preview to inspect candidates before creating anything. Existing rules are skipped and reported in the summary line.
Create Safely
Create writes only the current preview set and is capped at 200 new rules per run to avoid accidental bulk creation.
| Control | Description |
|---|---|
| Window (hours) | How far back to scan for signal values. Typical values: 24 for day-scale baselines, 72-168 for slower-moving services. |
| Min points | Minimum number of points required for a candidate. Higher values reduce noisy rules for sparse signals. |
| Service scope | Limit candidate discovery to one service, or leave as All services for global generation. |
| Mode | Threshold generates static quantile-based warning/critical thresholds (existing behaviour). Seasonal computes separate thresholds for every time bucket and stores them in the rule so that evaluation at query time uses the threshold for the current hour or day-of-week, reducing false positives on periodic traffic patterns. |
| Strategy | Only shown when Mode = Seasonal. Hour of day creates 24 independent buckets (0β23); Day of week creates 7 buckets (MonβSun). |
| Attr FP | When enabled, candidates can be generated per attribute fingerprint (for example route-level or method-level slices). |
| Preview | Shows candidate rows and summary counts only. No rules are written. |
| Create | Creates new rules from the current candidate set, skipping any existing rule with the same scope and mode (source + signal + service + attr fp + rule type). |
When Seasonal mode is selected, auto-generation computes warning and critical thresholds independently for every time bucket (hour 0β23 or day-of-week 1β7) over the lookback window. At evaluation time the engine looks up the bucket matching the data point's timestamp and applies its threshold. Timestamp bucket matching is normalized to UTC in backend logic so behavior is stable regardless of client locale. If no bucket is available the rule falls back to the global threshold so no data point is ever silently skipped.
- Reduces false positives on periodic traffic patterns (e.g. nightly batch jobs, lunch-hour spikes).
- Rules are still backed by the same
MinSampleCountguard β sparse buckets fall back gracefully. - Threshold and Seasonal rules can coexist for the same signal scope, enabling static and time-aware baselines side by side.
- If multiple rules fire at the same severity, rule precedence is deterministic:
seasonal > composite > threshold. - A indicator appears next to the rule badge in the Metrics Anomaly detail view whenever a state was produced by a seasonal bucket.
- Backward compatible: all existing threshold rules evaluate exactly as before.
Auto-generated thresholds are derived from recent quantiles of each signal:
- Comparator is inferred from signal naming hints: signals like latency/error typically use
value >= threshold, while availability/throughput style signals typically usevalue <= threshold. - Warning and critical thresholds are computed from distribution quantiles so the generated values are data-aware, not fixed constants.
- Rule names include source, signal, and scope so duplicates can be safely detected and skipped.
This flow builds a dashboard populated with derived_signal_overlay charts, one chart per matching active rule.
- Preview shows chart candidates only. Nothing is written.
- Create creates the dashboard (if missing) and inserts new charts.
- Charts are capped by your selected Max charts value (hard limit: 24).
- Existing chart titles on that dashboard are skipped, so rerunning is idempotent.
| Control | Description |
|---|---|
| Dashboard Name | Name for the target dashboard. If it already exists, charts are added to it (existing titles are skipped). |
| Window (hours) | Time range used in generated chart SQL for each rule-derived chart. |
| Max charts | Limits how many preview candidates are used during create. Useful for staged rollout. |
| Service scope | Restricts generated charts to rules for a specific service when selected. |
| Preview | Renders candidate chart rows with title/rule/source/signal before creation. |
| Create | Creates or reuses a dashboard and inserts new rule-mapped charts. |
- Start with Window = 24 and Min points = 30.
- Run Preview and review the candidate table for obvious outliers.
- Tighten with Service scope if one team/service needs separate baselines.
- Run Create for rules, then run dashboard Preview with a max chart cap (for example 12).
- Run dashboard Create, then validate cards/charts in the generated dashboard and tune noisy rules.