---
title: "Vigilance - комплексний інструмент моніторингу черг, команд та планувальника Laravel"
url: https://laravelukraine.com/blog/vigilance-monitoring-cerg-komand-ta-planuvalnika-laravel-dlia-bud-iakogo-draivera
author: "Олексій Бабінцев"
date: 2026-06-20
source: https://laravel-news.com/monitor-laravel-queues-commands-and-schedulers-on-any-driver-with-vigilance?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+laravelnews
---

# Vigilance - комплексний інструмент моніторингу черг, команд та планувальника Laravel

[Vigilance](https://github.com/anousss007/laravel-vigilance) - це панель моніторингу, яка відстежує поведінку фонових процесів у production-середовищі. Пакет записує jobs, artisan-команди та заплановані завдання на всіх етапах виконання - від постановки в чергу до завершення або помилки, зберігаючи параметри запуску, коди виходу та траси винятків. Ключова відмінність від існуючих інструментів полягає в тому, що Vigilance працює з будь-яким драйвером черг: database, Redis, SQS, Beanstalkd та sync - всі звітують в єдине місце. Пакет вимагає PHP 8.2+, Laravel 12 або 13, Livewire 3.5+ або 4, та поширюється під ліцензією MIT.

## Один запис на кожен запуск для всіх драйверів

Horizon працює лише з чергами Redis, а Telescope призначений для локального дебагу, а не production-моніторингу. Vigilance натомість створює один рядок для кожного запуску та оновлює його протягом життєвого циклу виконання. У результаті виходить єдина часова шкала, яка охоплює jobs у черзі, команди, запущені через CLI або scheduler, та сам планувальник. Кожен запис містить параметри виконання, фінальний стан та редаговану трасу винятків у разі помилки. Секретні дані автоматично видаляються перед збереженням.

Оскільки зберігання кожного успішного запуску стає затратним, Vigilance використовує семплювання під час відправки та зберігає всі помилки незалежно від частоти вибірки:

```
VIGILANCE_SAMPLE_RATE=0.1
VIGILANCE_RETENTION_DAYS=7
VIGILANCE_DB_CONNECTION=monitoring
```

Збереження 10% успішних запусків при повному збереженні всіх помилок дозволяє керувати обсягом даних на активних чергах. Налаштування `VIGILANCE_DB_CONNECTION` на окрему базу даних ізолює записи моніторингу від основного з'єднання додатка. Очищення старих записів виконується запланованою командою відповідно до налаштування retention.

## Ручний запуск через типізовані форми

Після увімкнення функцій керування Vigilance може запускати jobs безпосередньо з панелі. Достатньо позначити job контрактом `Dispatchable`, і панель зчитає сигнатуру конструктора через рефлексію, щоб побудувати форму:

```php
use Vigilance\Contracts\Dispatchable;
class ProcessPodcast implements ShouldQueue, Dispatchable
{
    public static string $vigilanceLabel = 'Process a podcast';
    public function __construct(public Podcast $podcast, public bool $notify = true) {}
}
```

Згенерована форма обробляє скалярні типи, enum'и, дати та прив'язку Eloquent-моделей. Конструктор, що очікує модель `Podcast`, створює поле, яке автоматично резолвить запис. Той самий механізм дозволяє запускати дозволені artisan-команди з інтерфейсу. Обидві можливості вимкнені за замовчуванням і контролюються через конфігурацію:

```
VIGILANCE_CONTROL_ENABLED=true
```

## Користувацькі метрики та Core Web Vitals

Поряд з історією запусків Vigilance збирає два типи даних додатка. Бізнес-метрики використовують API лічильників та показників, які можна викликати з власного коду:

```php
use Vigilance\Vigilance;
Vigilance::increment('signups');
Vigilance::gauge('cart_value', $cart->total());
```

Для frontend-даних можна увімкнути Real User Monitoring (RUM) та додати Blade-директиву до layout'у для збору Core Web Vitals (LCP, INP, CLS, FCP, TTFB) від реальних відвідувачів:

```
VIGILANCE_RUM=true
```

```blade
@vigilanceRum
```

Ці дані живлять панелі продуктивності, які відображають p50, p95 та p99 латентності та показники помилок поряд з часовими шкалами черг та команд.

## Встановлення та захист панелі

Встановіть пакет, запустіть інсталятор та виконайте міграції:

```bash
composer require anousss007/vigilance
php artisan vigilance:install
php artisan migrate
```

Панель доступна лише локально, поки ви явно не авторизуєте доступ. Визначте, хто може її бачити, через callback у методі `boot()` service provider'а або через Gate:

```php
use Vigilance\Vigilance;
Vigilance::auth(fn ($request) => in_array($request->user()?->email, [
    'you@example.com',
]));
```

За замовчуванням панель доступна за адресою `/vigilance`.

## Додаткові можливості

Панель виходить за межі простої історії черг. Вона групує винятки у fingerprinted-inbox проблем, що охоплює веб-запити, jobs у черзі, команди та браузер. Відстежує service-level objectives з error budgets та burn-rate-алертами, моніторить здоров'я релізів, порівнюючи показники помилок до та після deploy.

Інші опціональні компоненти включають:

- Трейсинг запитів та jobs з waterfall-діаграмами для кожного запиту та виявленням N+1 проблем
- Uptime-перевірки, що записують доступність та латентність
-Log explorer з пошуком, корельований з трейсами
- Оповіщення в Slack, Discord, Teams або через webhook
- Worker supervisor, що виконує роль Horizon для не-Redis драйверів
- Read-only доступ для AI-агентів через MCP-сервер

Документацію та вихідний код можна знайти на [GitHub](https://github.com/anousss007/laravel-vigilance).
