2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| tune-atlas-alerts | Audit and tune noisy Atlas Grafana alerts using live VictoriaMetrics evidence, Grafana notification history, persistence, minimum sample sizes, and generator ownership. Use when alerts are over-aggressive, a panel is red without user impact, PromQL behaves impossibly, or a Flux-tracked alert/dashboard correction is needed. |
Tune Atlas Alerts
Reduce false positives without hiding real failures. Read references/alert-review.md before recommending a rule change.
Audit the signal
- Find the provisioned rule in
services/monitoring/grafana-alerting-config.yaml. - If the issue is a dashboard panel, find its Python source in
scripts/dashboards_render_atlas.py; never hand-edit generated JSON or ConfigMaps. - Query the exact PromQL against VictoriaMetrics and inspect the labels and raw inputs.
- Compare current value, recent history, notification frequency, and a second source such as Kubernetes events or service metrics.
- Classify the problem as bad math, lifetime-versus-rate confusion, missing persistence, low sample size, duplicate series, retired scope, rollout noise, real backlog, or real incident.
Useful read-only commands:
curl -G -fsS --data-urlencode 'query=<promql>' "$VICTORIA_METRICS_URL/api/v1/query"
kubectl -n monitoring logs deploy/grafana --since=24h
kubectl -n monitoring get configmap grafana-alerting-config -o yaml
kubectl -n <namespace> get events --sort-by=.lastTimestamp
Design the correction
- Use
rate,increase, ordeltaaccording to counter/gauge semantics; clamp percentages to 0..100. - Require persistence for startup, rollout, and scheduling conditions.
- Add a minimum denominator and absolute count to percentage alerts with small samples.
- Alert on configured resources that regressed; keep unenrolled inventory visible as backlog instead of paging continuously.
- Exclude retired or migrated resources from high-level health, while retaining them on detailed dashboards.
- Deduplicate replicas and scrape targets using stable service/workload labels.
- Preserve a drill-down path to the raw evidence.
Validate changed PromQL live, run the dashboard generator, test the generator, render the monitoring kustomization, and use a client-side dry-run. Report before/after values and what failure will still trigger the rule.
Hermes is read-only in the cluster. Draft or explain repo changes and mark reconcile or deployment actions as approval-required.