Моніторинг продуктивності Laravel у Honeybadger

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 24 жовтня, 2024
Вам цікаво, як на новому рівні контролювати продуктивність ваших Laravel-додатків? У нашій статті ми розповідаємо про потужний інструмент Honeybadger, який дозволяє здійснювати моніторинг в реальному часі, аналізувати мережеві запити та покращувати продуктивність ваших проектів

Чудова новина, друзі Laravel! Тепер ви можете моніторити продуктивність своїх Laravel-додатків за допомогою Honeybadger.

Так, ви не ослухалися: моніторинг продуктивності Laravel доступний у Honeybadger! Багато з вас цього просили, і ми раді повідомити про цю можливість.

На початку цього року ми запустили Honeybadger Insights — новий інструмент для моніторингу логів та продуктивності, який інтегровано з Honeybadger. Insights дозволяє вам аналізувати логи і події для виявлення проблем з продуктивністю, проводити глибинний аналіз причин та створювати графіки і панелі моніторингу для відстеження змін у реальному часі. Він також працює в автоматичному режимі з найкращим у своєму класі трекером помилок Honeybadger, надаючи прямий доступ до запитів та аналізу ваших даних про помилки.

Сьогодні ми покращили Insights новими функціями спеціально для розробників Laravel:

  1. Нова панель моніторингу продуктивності Laravel. Замість того, щоб створювати панель з нуля, виберіть “ Laravel” зі списку підготовлених панелей моніторингу. Нова панель дозволяє вам відстежувати запити, фонові роботи, повільні запити та запити до бази даних і не тільки.
  2. Інструментація продуктивності Laravel. Наш пакет композера тепер автоматично відправляє події продуктивності та метрики з Laravel. Нова інструментація підтримує вашу панель, а також ви можете скористатися нашою мовою запитів — BadgerQL — для самостійного аналізу даних.

# Панель моніторингу продуктивності Laravel

Коли ви створюєте панель у Honeybadger, у вас є кілька варіантів. Щоб почати, виберіть нову панель “ Laravel” зі списку:

Наша команда підбирає кожну панель, щоб вам було легко розпочати роботу з Honeybadger та BadgerQL. Встановіть інтеграцію моніторингу (наприклад, наш пакет композера), виберіть відповідну панель — і на цьому все.

Нещодавно ми розгорнули продакшн-додаток на Laravel у Honeybadger (Statamic, це просто фантастика!). Ось як виглядає наша панель:

Нова панель моніторингу продуктивності Laravel в Honeybadger

Нова панель Laravel за замовчуванням містить наступні віджети:

Після створення панелі ви не зобов'язані використовувати віджети за замовчуванням — ми спроектували панелі Honeybadger для налаштування. Читання базових запитів — чудовий спосіб навчитися використовувати BadgerQL. Щоб переглянути запит і сирі дані за будь-яким віджетом панелі, натисніть “Відкрити в редакторі запитів”:

Ви можете налаштувати запит, перевірити результати та оновити панель звідти:

# Інструментація продуктивності Laravel

Дані, які наповнюють нову панель Laravel, автоматично надсилаються з пакета композера honeybadger-laravel починаючи з версії 4.2.x — тож не забудьте оновити до останньої версії. Після оновлення вам також потрібно включити інструментацію Honeybadger Insights для Laravel, додавши наступне до вашого файлу конфігурації config/honeybadger.php:

'events' => [
    'enabled' => true
]

Ми плануємо активувати цю функцію за замовчуванням у майбутніх версіях пакета, але наразі вам потрібно буде увімкнути її вручну. Після розгортання нової конфігурації Laravel, у Honeybadger Insights почнуть з'являтися нові події та метрики, і ваша панель Laravel оживе!

Ми також додали нові параметри конфігурації та документацію, щоб допомогти вам налаштувати важливі для вас події. Щоб дізнатися більше, перевірте наш посібник Надсилання подій до Insights.

# Надсилання власних подій

Ви також можете надіслати свої власні події Laravel до Honeybadger, використовуючи метод Honeybadger.event:

Honeybadger.event('user_activity', [
  'action' => 'registration',
  'user_id' => 123
])

Перший аргумент — тип події (event_type), а другий — об'єкт, що містить будь-які додаткові дані, які ви хочете включити.

Ці події можна знайти за допомогою наступного запиту BadgerQL:

fields @ts, @preview
| filter event_type::str == "user_activity"
| filter action::str == "registration"
| sort @ts

# Надсилання логів вашого Laravel-додатку

Підхід Honeybadger до логування: “Логувати все, запитувати що завгодно.” Ви ніколи не знаєте, яка інформація може бути корисною під час усунення неполадок (або помилок). Окрім продуктивності, яку ми тепер фіксуємо за замовчуванням, ви можете надіслати свої логи Laravel до Honeybadger.

Є кілька способів зробити це:

  1. Надсилайте свої логи з інфраструктури (тобто сервер, контейнери Docker тощо)
  2. Використовуйте наш Monolog-обробник
  3. Використовуйте наш драйвер каналу Laravel

Використання нашого драйвера каналу — найзручніший спосіб почати в Laravel. Щоб налаштувати його, додайте наш драйвер подій до конфігураційного файлу config/logging.php:

'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['single', 'honeybadger'],
        'ignore_exceptions' => false,
    ],
    'honeybadger' => [
        'driver'  => 'custom',
        'via' => Honeybadger\HoneybadgerLaravel\HoneybadgerLogEventDriver::class,
        'name' => 'honeybadger',
        'level' => 'info',
    ],
],

Тепер ви можете писати повідомлення журналу, як зазвичай, за допомогою фасаду журналу Laravel, і вони з'являться у Honeybadger:

Log::info('Інформаційне повідомлення');
Log::error('Помилка з контекстом', ["some-key" => "some-value"]);

І це, звісно, також працює для Lumen!

# Моніторинг продуктивності Laravel у Honeybadger

Щоб спробувати нові функції моніторингу продуктивності Laravel у Honeybadger, все, що вам потрібно зробити — це зареєструватися на безкоштовний обліковий запис Honeybadger. Ми надаємо 50 МБ/день (1,5 ГБ/місяць) безкоштовно, а також ви можете підписатися на платний план, якщо вам потрібно більше. Наші ціни теж помірні! Honeybadger в 8 разів дешевше, ніж Papertrail для логування. 🤯

Ось і все! Це було багато інформації, і ми лише на поверхні нашого плану розвитку функцій моніторингу продуктивності в Laravel. Маєте питання або коментарі? Заплануйте дзвінок з нами, щоб дізнатися, як Honeybadger може допомогти спростити вашу моніторингову систему та знизити витрати.