Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
Новини 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.

49

Коментарі

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

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

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

Laravel Pint навчився форматувати Blade
Новини 04 серпня 2026

Laravel Pint навчився форматувати Blade

Pint 1.30.0 додав форматування Blade-шаблонів. Прапорець --blade вмикає правило Pint/laravel_blade, яке проганяє .blade.php через Prettier і plugin-blade: Blade-синтаксис, атрибути Alpine, wire:-звʼязки, сортування класів Tailwind. Опційно, без ламання наявних конфігів.

Pest 5
Новини 04 серпня 2026

Вийшов Pest 5 з аналізом впливу тестів, верифікацією агентів та оцінками LLM

Нуно Мадуро представив Pest 5 на Laracon US 2026. Новий реліз включає TIA-движок, що скорочує час виконання тестів із 3 хвилин до 5 секунд, плагіни для AI-агентів, PHPStan, Rector та вимагає PHP 8.4 і PHPUnit 13.

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

SushiBang
3 дн. тому

Middle Laravel / Filament Developer

Розробка та підтримка кастомної CRM-системи для доставки з використанням Laravel 12, Filament 5 та Livewire. Спеціаліст займатиметься проектуванням бази даних, розробкою модулів прийому/обробки замовлень, інтеграцією через REST API та оптимізацією. Вимагається глибоке розуміння Laravel, Filament та PostgreSQL, досвід з Livewire та SQL-оптимізацією. Важливі автономність і відповідальність.

Hiringband
8 дн. тому

Backend-розробник (PHP + Go) з досвідом WordPress

Backend-розробник на PHP та Go для внутрішної системи в gaming-індустрії. Основна робота з Laravel, WordPress (плагіни, інтеграції, REST API), Go-обробниками через черги, Redis, RabbitMQ та Docker. Вимагається сильний досвід Laravel та реальний WordPress development, розуміння структури БД WordPress, базовий Go та Linux.

IDS Ukraine
12 дн. тому

Backend Developer (PHP, Laravel)

Backend розробник на PHP/Laravel для розробки та підтримки Core API для мобільних додатків і веб-сайтів. Потрібен досвід від 3 років з Laravel, Tailwind CSS, Livewire, Alpine.js, ООП та Git. Обов'язки включають вирішення задач back-end розробки, роботу з базами даних та контроль версій.

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

Telescope

laravel/telescope

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

5,204 v5.21.0 13 6

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

27,884 v2.4.8 12 15

Відео за темою