Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 20 червня 2026

Vigilance - комплексний інструмент моніторингу черг, команд та планувальника 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, і панель зчитає сигнатуру конструктора через рефлексію, щоб побудувати форму:

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 лічильників та показників, які можна викликати з власного коду:

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
@vigilanceRum

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

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

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

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

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

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.

51

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

17
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

12

Вакансії за темою

MAKEUP
14 днів тому

PHP Tech Lead

PHP Tech Lead для великого e-commerce проекту. Управління PHP-командою з 3-8 людей, участь у проектуванні архітектури, code review та розробці критичних частин системи. Вимоги: 6+ років досвіду у PHP/backend, 2+ років у ролі лідера, знання Laravel/Symfony, SQL, REST API, Docker, CI/CD, тестування.

Wooden Sword
17 днів тому

Senior PHP Developer (Game Backend)

Розробник backend для мобільної RPG з високим навантаженням. Основний стек: PHP Laravel API та TypeScript Nakama Game Server. Відповідальність за повний цикл розробки функцій — від логіки до тестування, code review, оптимізації та документації. Вимоги: 5+ років backend-досвіду, бездоганне знання Laravel/PHP, сильні навички TypeScript, PostgreSQL та асинхронного програмування.

Kredyt Kapital
17 днів тому

Middle Full-Stack Developer (PHP / Laravel / Vue / React)

Middle Full-Stack Developer для розробки внутрішніх IT-продуктів. Основний стек: PHP 8.3+, Laravel, PostgreSQL, REST API, Vue.js/React. Розробник займатиметься backend (бізнес-логіка, Eloquent, Jobs/Queues) і frontend (компоненти, інтерфейси), інтеграціями та оптимізацією. Вимоги: 2-3+ років комерційного досвіду з PHP, 2+ років практики з Laravel, впевнене знання PostgreSQL, Git, JavaScript ES6+.

Пакети за темою

Telescope

laravel/telescope

Елегантний помічник для налагодження фреймворку Laravel, який допомагає розробникам в розробці та тестуванні додатків.

5,234 v5.26.0 13 6

Filament

filament/filament

Найпопулярніша адмін-панель для Laravel: ресурси, таблиці, форми та дашборди описуються PHP-класами поверх Livewire, Alpine і Tailwind. Замінює рутину CRUD-інтерфейсів декларативною конфігурацією.

31,852 v5.7.6 9