InfraGuard

Alarme

Erstellen Sie Alarmgruppen-Richtlinien, die System-, Web-, DB- und Sicherheitsbedingungen bündeln; bei einer Überschreitung benachrichtigen sie die Empfänger automatisch per SMS und E-Mail.

Überblick — was diese Seite leistet

Infrastruktur ▸ Alarme (/infra/alert) ist die Konsole für Alarmgruppen (Richtlinien). Ein Betreiber fügt einer einzigen Richtlinie (infr_alert_policy) Bedingungen aus vier Bereichen (System / Web / DB / Sicherheit) hinzu, stellt den Faktor jedes Schwellenwerts auf dem Bildschirm ein, und bei einer Überschreitung werden die Empfänger der Gruppe (infr_alert_recipient) automatisch per SMS/E-Mail benachrichtigt.

Sie ersetzt die frühere Seite „Kapazität und Alarme“ (/infra/capacity), die nun hierher weiterleitet.

Wesentliche Merkmale:

Diese Seite verwaltet ausschließlich Richtlinien, Alarme und den Versandverlauf. Diagramme je Server finden Sie unter Server; die Web-Verfügbarkeit unter Service ▸ Web; die DB-Last unter Service ▸ Datenbank. Die Standardwerte der Schwellenwerte werden in der Betriebsrichtlinie definiert.

Wann Sie sie einsetzen

Aufbau

Raster der Richtlinienkarten

Jede Richtlinie wird als eine Karte dargestellt, die ihren Aktivierungsschalter, das Schweregrad-Abzeichen, die aktivierten Bereiche und die Anzahl der Empfänger zusammenfasst, mit diesen Aktionen:

Aktion Beschreibung Zugriff
Schalter aktiv/pausiert is_active — ob der Planer sie auswertet Stufe≥2
Bearbeiten Modal für Bereiche, Bedingungen, Kanäle, Empfänger Stufe≥2
Jetzt prüfen Diese Richtlinie sofort auswerten und versenden (run) Stufe≥2
Testen Jetzt eine Test-Mail/SMS an die Empfänger senden (test) Stufe≥2
Löschen Richtlinie samt Empfängern entfernen Stufe≥2
Reihenfolge per Ziehen Anzeige-/Auswertungsreihenfolge (seq, reorder) Stufe≥2

Bearbeitungsmodal (Bereiche, Bedingungen, Kanäle, Empfänger)

Feed der jüngsten Alarme

Zeigt infr_alert absteigend nach last_seen sortiert, bis zu 60 Zeilen (Abfrage alle 30 s). Jede Zeile zeigt den beobachteten Wert, den Schwellenwert, den aggregierten count sowie erfolgreich/gesamt versandt (aus infr_alert_delivery), mit den Statusübergängen [Bestätigen] und [Schließen].

Vorgehen

1) Eine Richtlinie anlegen

  1. [Neue Alarmgruppe] → Name, Schweregrad und Abkühlzeit eingeben.
  2. Aktivieren Sie die Bereiche, die Sie überwachen möchten.
  3. Aktivieren Sie je Bereich Bedingungen und passen Sie die Schwellenwert-Faktoren an. Die Standardwerte werden aus alertDefaults() der Betriebsrichtlinie vorbelegt.
  4. Wählen Sie die Kanäle (SMS/Mail) und fügen Sie Empfänger hinzu.
  5. Speichern.

2) Bedingungskatalog

System (server_status, seq-Fenster)

Bedingung Schalter Faktor Standard Erzeugte Metrik
Lastdurchschnitt über sys_load_on sys_load_max 20 load_avg (>20, je Server)
Freier Speicherplatz unter sys_disk_on sys_disk_free_mb 500 disk_free (<500MB)

Web (Live-HTTP-Sonde · infr_web_cert)

Bedingung Schalter Faktor Standard Erzeugte Metrik
Dienst ausgefallen (Status ≠ erwartet) web_code_on web_expect_code 200 http_status
Latenz über web_latency_on web_latency_ms 5000 latency
Zertifikatsablauf steht bevor web_cert_on web_cert_hours 48 cert_expiry

Aktivieren Sie nur „Zertifikatsablauf steht bevor“, so wird das Zertifikat jeder Website überwacht. Die Bedingung wirkt nicht je Website — sie ist ein globaler Suchlauf über alle Domains.

Datenbank (jüngste Stichprobe aus infr_db_metric)

Bedingung Schalter Faktor Standard Erzeugte Metrik
Warteschlange steigt db_waiting_on db_waiting_max 5 db_waiting (>=5)
Langsame Abfragen pro Stunde db_slow_on db_slow_per_hour 60 db_slow (slow_qps×3600 >= 60)

Sicherheit (Erkennungstabellen in legacy_glory · zusammengesetzt)

Das Auswertungsfenster ist sec_window_min (Standard 10 Min.). Überschreitet auch nur ein Signal seinen Schwellenwert, löst dies eine Überschreitung aus.

Bedingung Schalter Faktor Standard Quelle
IDS-Schweregrad + Anzahl sec_ids_on sec_ids_severity, sec_ids_count 2, 20 suricata_alert_ct (Schweregrad≥S, Anzahl im Fenster≥N)
Anstieg von KI-Anomalie-Sperrungen sec_kitsune_on sec_kitsune_count 5 kitsune_detail_log (is_blocked=1, Anzahl≥N)
Anstieg neu gesperrter IPs sec_blacklist_on sec_blacklist_count 10 blacklist_info (neues created_at im Fenster, Anzahl≥N)

Verwandt: Bedrohungen · Erkennungen · Sperrliste.

3) Jetzt prüfen / Testen

4) Automatische Auswertung (Zeitplan)

Aktive Richtlinien werden jede Minute automatisch ausgewertet und versendet.

Schedule::command('infr:eval-alerts --quiet-if-ok')
    ->everyMinute()
    ->withoutOverlapping(2)
    ->onOneServer()
    ->when($is_leader);

Manuelle Ausführung:

# Alle aktiven Richtlinien auswerten (Einmallauf, beendet sich danach — kein Daemon)
php artisan infr:eval-alerts

# Nur eine einzelne Richtlinie
php artisan infr:eval-alerts --policy=12

# Ausgabe unterdrücken, wenn keine Überschreitung vorliegt (Standard des Planers)
php artisan infr:eval-alerts --quiet-if-ok

infr:eval-alerts ist ein Einmalbefehl, der sich beendet (er durchläuft die Richtlinien und kehrt zurück). Machen Sie daraus niemals einen Daemon mit Endlosschleife — ein nie endender Daemon, der aus dem Planer gestartet wird, erschöpft die gemeinsam genutzten DB-Verbindungen (siehe die Lehre aus dem Verbindungsleck von pulse:check). Der Planer startet gefahrlos jede Minute eine frische Instanz.

Datenquellen

Schreibtabellen (neu, infr_)

Tabelle Migration Rolle
infr_alert_policy 000700 Alarmgruppe (Richtlinie). JSON scopes/targets/conditions/channels + Schweregrad, cooldown_min, seq
infr_alert_recipient 000701 Empfänger je Richtlinie (inline). email/phone + via_mail/via_sms/is_active/seq
infr_alert 000702 Alarminstanz (Auslöseprotokoll / Triage-Warteschlange). Dedup-Schlüssel (policy_id, metric, entity_key, status='open'), Abkühlzeit über notified_at
infr_alert_delivery 000703 Versandverlauf. channel/address/ok/provider_code/message_id/error/latency_ms

Lesequellen (Legacy + neu, nur lesend)

Ablauf von Deduplizierung / Abkühlzeit / automatischem Schließen

  1. AlertEvaluator::evaluate($policy) → Array der Überschreitungskandidaten je aktivem Bereich. Ausnahmen eines Bereichs bleiben isoliert (fällt ein Bereich aus, blockiert das die übrigen nicht).
  2. AlertDispatcher::handle($policy, $breaches):
    • Jede Überschreitung wird über (policy_id, metric, entity_key, status=open) gesucht → wird sie gefunden, erfolgt eine Aktualisierung + count++; andernfalls wird neu eingefügt (first_seen, count=1, notified_at=null).
    • Benachrichtigungsfähig = neu ODER notified_at null ODER notified_at <= now - cooldown_min.
    • Automatisches Schließen: offene Alarme dieser Richtlinie, die in den Überschreitungen dieser Runde fehlen → status='closed'.
    • Sammelversand: benachrichtigungsfähige Alarme werden je Empfänger und Kanal zu einer Nachricht gebündelt (Textkörper max. 8 Zeilen, Überhang „+N more“; SMS auf 140 Zeichen begrenzt). Nach dem Versand gilt für jedes Ziel notified_at=now.
    • Eine Zeile infr_alert_delivery je (Empfänger, Kanal).

Zugriff

Vorgang Mindeststufe Audit
Konsole/Liste/Feed ansehen (index/list/feed) 1 (lesen) —
Richtlinie speichern/löschen/umsortieren (save/delete/reorder) 2 (schreiben) alert_policy.create / .update / .delete
Alarm bestätigen/schließen 2 alert.ack / alert.closed
Jetzt prüfen (run) 2 alert.fire beim Versand
Testversand (test) 2 alert.test
Geplanter automatischer Versand (System) alert.fire

Stufenskala: demo=1 · staff=5 · admin=10. Lesevorgänge erfordern Stufe≥1; Schreibvorgänge und Versand erfordern Stufe≥2. Alle destruktiven Vorgänge und Versandvorgänge werden in infr_audit_log protokolliert (siehe Audit-Protokoll). Die Anbieter der Versandkanäle konfiguriert ein Administrator (Stufe≥10).

Fehlerbehebung und FAQ

F. Ich habe eine Bedingung aktiviert, aber es kommt kein Alarm an.

  1. Prüfen Sie, ob die Richtlinie aktiv ist und der Planer (schedule:work / Produktions-Supervisor) läuft.
  2. Kein Kanalanbieter — beachten Sie die Warnung auf der Karte und konfigurieren Sie einen Standardanbieter unter Mail-Adapter/SMS-Adapter.
  3. Vergewissern Sie sich, dass die Schnittmenge aus via_mail/via_sms des Empfängers und den Kanälen der Richtlinie nicht leer ist und dass E-Mail bzw. Telefon ausgefüllt sind.
  4. Während der Abkühlzeit wird der erneute Versand unterdrückt (cooldown_min, Standard 30 Min.). Mit [Jetzt prüfen] können Sie es sofort verifizieren, ein bereits benachrichtigter Alarm wird jedoch erst nach Ablauf der Abkühlzeit erneut versendet.

F. Meine DB-/Systembedingungen bleiben stumm.

F. Überwacht der Zertifikatsablauf nur eine bestimmte Website?

F. Stapelt sich dieselbe Überschreitung immer weiter?

F. Verlangsamt die Web-Sonde die Auswertung?

Verwandte Themen

경보 — 정책 카드와 최근 경보 피드
경보 — 정책 카드와 최근 경보 피드