---
title: "Vstavané kontroly — Alerts for Laravel | Roundly"
description: "Kontroly databázy, cache, fronty, úložiska a HTTP pingu — ich voľby, prahy, kľúče a predvolená notifikácia, ktorú prinášajú."
url: https://roundly-consulting.com/sk/open-source/navody/alerts-for-laravel/vstavane-kontroly
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Alerts for Laravel](https://roundly-consulting.com/sk/open-source/navody/alerts-for-laravel.md)

# Vstavané kontroly

Balík obsahuje fluentné kontroly pre bežné prípady, každú s predvolenou notifikáciou, takže ju nemusíte písať:

```php
use RoundlyConsulting\Alerts\Checks\{CacheCheck, DatabaseCheck, HttpPingCheck, QueueCheck, StorageCheck};
use RoundlyConsulting\Alerts\Facades\Health;

Health::check(DatabaseCheck::make('mysql'));
Health::check(CacheCheck::make('redis'));
Health::check(QueueCheck::make()->onQueue('emails')->maxSize(1000));
Health::check(StorageCheck::make('uploads')->minimumBytes(2 * 1024 ** 3));
Health::check(HttpPingCheck::make('https://api.example.com')->timeout(5)->expectStatus(200)->slowerThan(800));
```

| Kontrola | V poriadku, keď | Varuje, keď | Zlyhá, keď |
| --- | --- | --- | --- |
| `DatabaseCheck` | sa spojenie otvorí | — | je spojenie nedostupné |
| `CacheCheck` | sa kontrolná hodnota zapíše a prečíta späť | — | je úložisko nedostupné alebo vráti inú hodnotu |
| `QueueCheck` | sa spojenie podarí získať | fronta presiahne maxSize() | sa spojenie nepodarí získať |
| `StorageCheck` | je voľného miesta dosť | miesto klesne pod varovný prah | miesto klesne pod minimumBytes() |
| `HttpPingCheck` | príde očakávaný status | odpoveď je pomalšia než slowerThan() | príde neočakávaný status alebo požiadavka vyprší |

## Voľby a predvolené hodnoty

| Kontrola | Kľúč | Nastavenie | Predvolené |
| --- | --- | --- | --- |
| `DatabaseCheck` | database\_check | make(?string $connection), connection(string) | database.default; otvorí PDO spojenie |
| `CacheCheck` | cache\_check | make(?string $store), store(string) | cache.default; zapíše kontrolnú hodnotu pod kľúč jedinečný pre beh (alerts:cache-check:<uuid>, 10 sekúnd), prečíta ju späť a zmaže, takže prekrývajúce sa behy nikdy nevidia hodnotu toho druhého |
| `QueueCheck` | queue\_check | make(?string $connection), connection(string), onQueue(string), maxSize(int) | queue.default, predvolená fronta, bez limitu |
| `StorageCheck` | storage\_check | make(?string $disk), disk(string), minimumBytes(int), warnBytes(int) | filesystems.default; zlyhá pod 1 GB voľného miesta, varuje pod 2× minimom |
| `HttpPingCheck` | http\_ping\_check | make(string $url), timeout(int $seconds), expectStatus(int), slowerThan(int $ms) | timeout požiadavky 5 sekúnd, očakáva 200, bez limitu latencie |

```php
use RoundlyConsulting\Alerts\Checks\QueueCheck;
use RoundlyConsulting\Alerts\Checks\StorageCheck;

Health::check(
    StorageCheck::make('local')
        ->minimumBytes(5 * 1024 ** 3)   // fail below 5 GB free
        ->warnBytes(20 * 1024 ** 3)     // warn below 20 GB free
);

Health::check(QueueCheck::make('redis')->onQueue('default')->maxSize(500));
```

- StorageCheck meria voľné miesto v lokálnej koreňovej ceste disku, preto ho nasmerujte na lokálny disk. Bez warnBytes() varuje pod dvojnásobkom minima.
- timeout() pri HttpPingCheck je timeout HTTP požiadavky. S voľbou timeout() pri plánovaní monitoringu nesúvisí.
- Každý výsledok nesie užitočné meta: connection, store, size a max\_size, free\_bytes a minimum\_bytes, alebo url, status a latency\_ms — a pri zachytenej výnimke aj error. Táto chyba zostane vo vrátenom výsledku a uloží sa len pri zapnutom store\_exception\_details; zachytenú výnimku kontrola v každom prípade nahlási vášmu exception handleru (vypršaný časový limit nie).
- Správy výsledkov pochádzajú z prekladového súboru alerts::checks v angličtine a slovenčine, takže ich po publikovaní prekladov môžete upraviť.
- Každá vstavaná kontrola sa registruje pod kľúčom z tabuľky. Ak potrebujete viac inštancií jednej vstavanej kontroly — dve databázy, tri endpointy —, dajte každej vlastný kľúč cez as() (pozri Registrácia kontrol).

## Plánovanie vstavanej kontroly

Nakonfigurovanú inštanciu zaregistrujte raz a potom ju naplánujte podľa triedy pre každého vlastníka. Riadok ukladá len kľúč; pri behu prácu vykoná registrovaná inštancia s vašou URL, spojením či prahmi:

```php
// Register the configured instance once, in a service provider…
Health::check(HttpPingCheck::make('https://api.example.com/health')->slowerThan(800));

// …then attach it to every owner that should hear about it.
Health::for($team)->monitor(HttpPingCheck::class)
    ->everyMinute()
    ->failAfter(2)
    ->save();
```

Inštanciu registrovanú cez as() naplánujete podľa jej kľúča — Health::for($team)->monitor('mysql\_database'). Každá vstavaná kontrola posiela pribalenú HealthCheckFailedNotification s dôvodom zlyhania a rešpektuje smerovanie kanálov cez notifyVia() (pozri Notifikácie a obmedzovanie).

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/alerts-for-laravel.md)
