Udalosti
Počúvajte ich a spúšťajte vlastné postupy — správy do Slacku, záznamy incidentov, stavové stránky. Všetky sú v RoundlyConsulting\Alerts\Events:
| Udalosť | Vlastnosti | Kedy sa odošle |
|---|---|---|
HealthCheckFailed | $alert | Pri každom zlyhanom behu po dosiahnutí failAfter() — alert sa otvorí pri prvom a kým je otvorený, používa sa ďalej. Nie počas stlmenia. |
HealthCheckRecovered | $alert | Keď recoverAfter() po sebe idúcich úspechov zatvorí otvorený alert — raz pri každej obnove, aj keď sa dva behy prekrývajú. Nie počas stlmenia (alert sa aj tak zatvorí). |
HealthCheckEscalated | $alert, $fromLevel, $toLevel | Práve raz vždy, keď otvorený alert dosiahne novú eskalačnú úroveň. Nie počas stlmenia. |
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Alerts\Events\HealthCheckFailed;
use RoundlyConsulting\Alerts\Events\HealthCheckRecovered;
Event::listen(function (HealthCheckFailed $event) {
$alert = $event->alert; // the open Alert: status, message, meta, notifiable, healthCheck
});
Event::listen(function (HealthCheckRecovered $event) {
$minutesDown = $event->alert->triggered_at->diffInMinutes($event->alert->recovered_at);
// post an all-clear to your incident channel
});Otvorený alert vždy zodpovedá poslednému zlyhanému výsledku: jeho stav aj správa sa podľa neho menia, takže stavový report ani Health::status() nikdy neuviaznu na prvom výsledku. Naplánovaná kontrola má najviac jeden otvorený alert, aj keď sa dva behy prekrývajú.
Notifikácia pri obnove
Pri obnove sa žiadna notifikácia neposiela. Vlastnú pošlite z listenera HealthCheckRecovered:
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Notification;
use RoundlyConsulting\Alerts\Events\HealthCheckRecovered;
Event::listen(function (HealthCheckRecovered $event): void {
$event->alert->healthCheck?->forEachNotifiable(
fn (object $notifiable) => Notification::send($notifiable, new CheckRecoveredNotification($event->alert)),
);
});Udalosti používajú SerializesModels, takže listenery vo fronte dostanú aktuálny Alert.
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 kryptomienOdoslaní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.