25 lines
1.1 KiB
SQL
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
|
|
);
|