Требования к Production - логи, профилирование, мониторинг

Получаем ответы на свои вопросы по Yii 3
Ответить
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Требования к Production - логи, профилирование, мониторинг

Сообщение Nex-Otaku »

Требования продакшена на хайлоаде

Yii движок универсальный, и одна из заявленных целей в разработке - обеспечить достойную производительность.

В мире хайлоада, для приложения с высокими требованиями по качеству, скорости и надёжности, требуется три вида поддержки:

1. Структурированные логи - для отладки, когда что-то пошло не так. В логи пишется 100% запросов.

2. Трейсы для профилирования - для поиска узких мест в производительности отдельных участков системы.

3. Мониторинг - для оценки производительности всей системы в текущий момент.

Всё это требует вывода информации из приложения в разные системы. Время выполнения запроса, ID запроса, какие функции выполнялись, за какое время, код ошибок и так далее.

Понятно, что встроить всё это в фреймворк невозможно, да и не нужно. Есть специальные системы для решения этих задач, как по отдельности, так и всех сразу. Примеры - New Relic, Sentry, ELK, Zabbix.

Вопросы:

1. Какие в Yii 3 поддерживаются механизмы интеграции по этим трём задачам?

2. Есть ли встроенная в фреймворк достаточная поддержка этих задач, чтобы можно было при желании на "раз-два" подключить любую систему?

3. Вопрос к участникам форума - кто что использует в своём продакшене, как подключаете, требует ли это использование расширения фреймворка и кода приложения.


P.S.

В идеале, я хочу чтобы "из коробки" к приложению можно было бы подключить любое из ТОП-5 самых популярных решений, готовым сторонним пакетом, либо без особых усилий написать такой пакет для себя, если его ещё не написали.

Для этой цели, в фреймворке требуется достаточная поддержка, чтобы не приходилось делать какую-нибудь магию, костылить или заменять значительную часть "потрохов".

Рад услышать любые мысли, замечания, мнения по теме. Высказываемся.

Аватара пользователя
samdark
Администратор
Сообщения: 9262
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Требования к Production - логи, профилирование, мониторинг

Сообщение samdark »

1. Логи - PSR-3, производительность - простой профайлер (но вообще лучше на проде использовать что-то вроде newrelic). Мониторинг - не задача фреймворка. Опять же, newrelic, zabbix или что-то такое.
2. Да.
3. Когда в Skyeng был, мы использовали newrelic, sentry. Newrelic вообще ничего не требовал. Sentry отлично прицеплялся к логгеру.

К Yii 2 сейчас, насколько знаю, под Sentry, Rollbar и подобные расширений предостаточно.

Ответить