Files
nexarch/migrations/0006_alert_rules.up.sql
T

25 lines
1.1 KiB
SQL

-- OPS-05: Schwellwert-Regeln fuer Alerting auf den aus OPS-03 aggregierten
-- Metriken. Lebt wie config_values/notification_jobs (CFG-01/02) in der
-- zentralen Registry-DB — modulübergreifende Betriebskonfiguration, keine
-- Mandanten-Geschaeftsdaten.
CREATE TABLE alert_rules (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
metric_name TEXT NOT NULL,
comparison TEXT NOT NULL CHECK (comparison IN ('gt', 'lt')),
threshold DOUBLE PRECISION NOT NULL,
label_filters JSONB NOT NULL DEFAULT '{}'::jsonb,
recipient TEXT NOT NULL,
description TEXT NOT NULL DEFAULT '',
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- Haelt fest, wann eine Regel zuletzt tatsaechlich einen Alarm ausgeloest
-- hat (Akzeptanzkriterium 3: Drosselung wiederholter Alarmierung fuer
-- denselben anhaltenden Zustand). rule_key kombiniert Regel-ID mit den
-- tatsaechlichen Label-Werten der ausloesenden Zeitreihe, damit dieselbe
-- Regel fuer unterschiedliche Tenants/Module unabhaengig gedrosselt wird.
CREATE TABLE alert_debounce_state (
rule_key TEXT PRIMARY KEY,
last_fired_at TIMESTAMPTZ NOT NULL
);