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

Inštalácia

Pridajte balík. Service provider aj alias fasády Health sa objavia automaticky — nič neregistrujete ručne:

composer require roundly-consulting/alerts-for-laravel

Ak modely, ktoré budú vlastniť kontroly, používajú kľúče UUID alebo ULID, najprv nastavte ALERTS_KEY_TYPE — stĺpce vlastníka sa typujú pri behu migrácií (pozri Databázová schéma a typy kľúčov). Potom publikujte a spustite migrácie:

php artisan vendor:publish --tag="alerts-migrations"
php artisan migrate

Migrácie len na publikovanie

Balík svoje migrácie nikdy neregistruje, takže php artisan migrate spustí presne tých šesť súborov, ktoré ste publikovali, v poradí publikovania: najprv health_checks, potom alerts, alert_silences a health_check_runs a nakoniec dve doplňujúce migrácie z verzie 1.2, ktoré pridajú identity_hash do health_checks a alert_silences. Opakované publikovanie je idempotentné — súbory prepíše na mieste, nevytvorí druhú kópiu.

Prechod na verziu 1.2

Verzia 1.2 pridáva dve migrácie, ktoré idú len dopredu. add_identity_hash_to_health_checks_table pridá stĺpec health_checks.identity_hash s možnosťou null a unikátnym indexom, bez dopĺňania hodnôt. add_identity_hash_to_alert_silences_table pridá rovnaký stĺpec alert_silences.identity_hash; najprv však zlúči okamžité stlmenia, ktoré sa doteraz nahromadili pre rovnaký kľúč a rozsah, do jedného — ponechá najnovší riadok, bez konca, ak bol bez konca niektorý z nich, inak do najneskoršieho konca, s najnovším dôvodom —, takže sa nezmení, čo je stlmené. Publikujte a migrujte znova:

php artisan vendor:publish --tag="alerts-migrations"
php artisan migrate

Ak ste niektorú publikovanú migráciu balíka upravili, vendor:publish ju už nerozpozná a publikoval by druhú kópiu vytváracích migrácií — dva nové súbory preto skopírujte do database/migrations ručne. Na MySQL vyžaduje verzia 1.2 MySQL 8.0 alebo novší.

  • Health::report() teraz číta muted z platných stlmení a pri kontrole bez behov vracia uptime a p95LatencyMs ako null namiesto 100.0 a 0 (pozri Stavové reporty a health endpoint).
  • Opätovné stlmenie rovnakého kľúča v rovnakom rozsahu aktualizuje existujúce stlmenie namiesto vloženia ďalšieho (pozri Údržbové okná a stlmenie).
  • Kontrola, ktorá vyhodí výnimku, už neukladá ani neposiela e-mailom správu a zásobník volaní výnimky — tie putujú do vášho exception handlera (pozri Časové limity a chyby).

Voliteľne: konfigurácia a preklady

php artisan vendor:publish --tag="alerts-config"
php artisan vendor:publish --tag="alerts-translations"

Konfigurácia sa zlučuje z balíka, takže kľúče napojené na env fungujú aj bez publikovania. Správy kontrol aj predvolená notifikácia o zlyhaní sú v angličtine a slovenčine a Laravel použije texty podľa jazyka aplikácie — preklady (do lang/vendor/alerts) publikujte, len ak chcete niektorý text upraviť alebo pridať ďalší jazyk.

Rýchly štart

Zaregistrujte kontrolu, pripojte ju k modelu vlastníka a zvyšok nechajte na plánovač:

// app/Providers/AppServiceProvider.php — boot()
use RoundlyConsulting\Alerts\Checks\DatabaseCheck;
use RoundlyConsulting\Alerts\Facades\Health;

Health::check(DatabaseCheck::make('mysql'));

// Anywhere — attach the check to an owner model (see Owner models)
Health::for($team)->monitor(DatabaseCheck::class)
    ->everyFiveMinutes()
    ->throttle(maxAttempts: 1, decayMinutes: 60)
    ->save();

Balík stojí na troch stavebných prvkoch:

  • Check — trieda, ktorú napíšete (alebo vstavaná, prípadne inline closure); vykoná kontrolu a vráti CheckResult.
  • HealthCheck — riadok v databáze, ktorý plánuje Check podľa cronu pre jedného vlastníka.
  • Alert — riadok, ktorý vznikne pri zlyhaní kontroly, s časmi triggered_at a recovered_at a so správou a meta výsledku.

Jediný príkaz Artisan, automaticky zaregistrovaný v plánovači na každú minútu, odošle do fronty job pre každú splatnú kontrolu. Plánovač Laravelu a queue worker preto musia bežať (pozri Spúšťanie kontrol).

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.