NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Alerts for Laravel

Údržbové okná a stlmenie

Počas nasadenia či údržby potlačte notifikácie o alertoch a behy pritom zapisujte ďalej. Údržbové okná spravuje Health::silences():

use RoundlyConsulting\Alerts\Facades\Health;

Health::silences()->mute('disk_usage_check', until: now()->addMinutes(30), reason: 'db migration');
Health::silences()->isMuted('disk_usage_check');   // true
Health::silences()->unmute('disk_usage_check');    // int: silences lifted

Health::silences()->mute('critical');              // mute a whole tag
Health::silences()->mute('*');                     // mute everything
Health::silences()->mute('disk_usage_check', for: $team);   // scope the mute to one owner
Health::silences()->unmute('disk_usage_check', for: $team); // lift only that owner's silence
  • Kľúč je kľúč kontroly, tag alebo * pre všetko. Pri behu je riadok stlmený, keď stlmenie zodpovedá jeho kľúču kontroly, niektorému z efektívnych tagov alebo *.
  • until je voliteľné: bez neho stlmenie platí, kým ho nezrušíte. mute() platí okamžite a vráti záznam AlertSilence s voliteľným dôvodom (reason).
  • for: obmedzí stlmenie na jedného vlastníka. Stlmenie bez vlastníka platí pre všetkých.
  • unmute() zmaže stlmenia pre daný kľúč — pri zadanom for: tie vlastníkove, inak len globálne — a vráti ich počet.
  • isMuted() overí aktívne stlmenie presne pre kľúč, ktorý zadáte — kľúč kontroly, tag alebo * — bez rozširovania na tagy či *. Bez vlastníka zodpovedá akémukoľvek stlmeniu daného kľúča; s vlastníkom jeho stlmeniam a globálnym. Pri vypnutom silence v konfigurácii vždy vráti false.

Čo sa deje počas stlmenia

Behy, história aj počítadlá sa udržiavajú a alerty sa naďalej otvárajú a zatvárajú. HealthCheckFailed, HealthCheckRecovered, HealthCheckEscalated a všetky notifikácie sú potlačené. Dotknuté alerty dostanú príznak meta['muted'], takže ich stavový report ukáže ako stlmené. Príznak sa riadi posledným behom, takže zmizne, keď zlyhania pokračujú aj po skončení okna.

Nastavením silence na false v konfigurácii ignorujete všetky stlmenia bez toho, aby ste ich mazali.

Prehľad stlmení

active() vráti stlmenia platné teraz — všetky, alebo globálne plus tie obmedzené na vlastníka. Pre vlastné dopyty má AlertSilence scopes active() a matching(), na ktorých to stojí:

use RoundlyConsulting\Alerts\AlertSilence;
use RoundlyConsulting\Alerts\Facades\Health;

Health::silences()->active();        // Collection<AlertSilence> in force now
Health::silences()->active($team);   // global silences + those scoped to $team

// The model scopes behind it, for your own queries:
AlertSilence::query()->active(now())->get();
AlertSilence::query()->matching(['critical'], $team)->exists();  // a 'critical' mute for this team, or a global one

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.