Собираем все ошибки в одном месте
Очередное демо. Клиент говорит, что часть задач на анализ доков по NDA завершилась ошибкой 😭
К сожалению, телепаты в отпуске — пора смотреть логи.

Приложение пишет достаточно много логов:
— access-лог веб-сервера
— error-лог PHP
— лог самого приложения, куда пишут разные подсистемы:
— логи других компонентов системы: СУБД, RabbitMQ, воркеры обрабатывающие асинхронные задачи и т.д

Как смотрим логи
по привычке:
tail + grep
если надо чуть больше удобства:
lnav
--- вы находитесь тут ---
если нужно еще больше удобства контроля:
настраиваем доставку логов в OpenSearch или похожее решение

А что с ошибками?
если мы говорим про ошибки уровня приложения, то они могут возникнуть:
— на фронтенде: привет JavaScript
— на бекенде: привет PHP, ну или на чем там сейчас модно писать?

Выискивать их в логах и пытаться понять, что там произошло, достаточно муторное занятие, поэтому используем инструментарий автоматического сбора ошибок — https://sentry.io/welcome/ Искать аналог для импортозамещения мне лень, если кто знает, то поделитесь в комментариях.

Вы подключаете код обработчика ошибок и в случае ее возникновения данные об ошибке и стеке вызова уедут в систему, специально для этого предназначенную.
Из плюсов:
— группировка ошибок
— проброс данных об окружении (dev, test, prod)
— проброс данных о пользователе, которому не повезло. Можно отправлять только user_id, поэтому никакой трансграничной передачи ПДн не будет 😘
— уведомления на почту, если все совсем плохо. Разработчики дуреют с этого прикорма, я вам это гарантирую.

Если у вас есть лишний мощный сервер, то можно сделать приватную инсталляцию sentry внутри вашего периметра, «большие ребята» делают именно так.

У Sentry есть еще более хитрые вещи вроде поддержки OTEL, но речь сейчас не про них.

Теперь о всех ошибках, которые возникают на демо, можно знать не только со слов клиентов.

#разработка #sentry
13 МАЯ

Заявка на демонстрацию
Сервис работает в тестовом режиме, подключаем клиентов из листа ожидания.
я согласен на получение рекламных рассылок
Нажимая кнопку «отправить», вы принимаете условия лицензионного соглашения и политики обработки персональных данных
Made on
Tilda