Сегодняшнее занятие из курса “Otus php professional“ посвящено вопросам профилирования, логирования и мониторинга веб-приложений; задача — рассмотреть, как можно анализировать работу приложений, строить системы наблюдения за приложениями и серверами. Как результат, научиться настраивать процесс логирования в приложении и уметь собирать необходимую информацию.

/**/

О занятии

Цели занятия

  • анализировать работу приложения;

  • строить системы наблюдения за приложениями и серверами.

Краткое содержание

  • «скрипт тормозит? научимся находить узкие места, используя инструменты профилирования.»

  • логирование, чтобы понимать, что делает наш скрипт;

  • уровни логирования (по PSR-3), библиотека Monolog и сбор логов в ELK.

Ожидаемые результаты

  • настраивать процесс логирования в приложении и уметь собирать необходимую информацию.

Преподаватель

  • Дмитрий Панкрашов

  • Дата: 12.05.2022


Тезисы из вебинара

Профилирование

Популярные профилировщики:

Профилировщик XDebug

(звезда) Генерирует файлы *.xdebug , которые можно читать в IDE

Профилировщик XHprof

(звезда) Ставится через PECL

Генерирует файлы *.xhprof , которые можно читать в браузере:

Профилировщик BlackFire (платный)

Сайт: https://www.blackfire.io/

Пример/ демо: https://demo.blackfire.io/


Профилировщик ClockWork

Сайт: https://underground.works/clockwork/

Профилировщики прочие

(звезда) у каждого фреймворка есть свой


Практики профилирования

Плохие практики / worst practice

Хорошие практики / Best practices


Логирование

Зачем делать логирование?

Что писать в лог?

Куда писать в лог?

Инструменты логирования:

(звезда) Еще советовали по логированию:

Кейс юзера:

Крутой кейс был писали в базу в платежном сервисе и пользователю вместе с ошибкой отправлять id лога, потом по скрину в 2 клика находили ошибку

Уровни логирования (типы нотификаций)

Советы по логированию


Мониторинг

Пример проблемы

Варианты ответов: (в чем причина?)

Правильный ответ (4) — стащили: отдали другим пользователям:

Зачем нужен мониторинг

Сервисы мониторинга

(звезда) Из них “Prometeus” — самый мощный, Zabbix удобен тем что можно карту сети нарисовать

Архитектура Prometeus

Grafana — инструмент для визуализации метрик

Параметры мониторинга

Примеры:

  • SLI — время загрузки страницы (измеряемое реально)

  • SLA — декларируемое в контракте время загрузки

  • SLO — целевой уровень времени загрузки страницы (не критичный, как SLA)

Что можно мониторить


Итоги вебинара

Мой отзыв о занятии

Нет практики , а она бы тут не помешала (elk, grafana и т.п.);

Короткое занятие, за 75 мин прошли, можно было поподробнее еще 15 мин что-то рассмотреть;

Доп. материалы

Tags

Нет комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.