YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Мониторинг качества работы вашего проекта

Мониторинг качества работы вашего проекта

Page 2: Мониторинг качества работы вашего проекта

План

• Работает ли сайт

• Работает ли бизнес функционал

Page 3: Мониторинг качества работы вашего проекта

Работает ли сайт

• Внешние регулярные проверки (http check)

• Анализ логов

• Real User Monitoring (RUM – метрики из браузеров пользователей)

Page 4: Мониторинг качества работы вашего проекта

Внешние проверки сайта

• Покрывают не все страницы• Не позволяют хорошо замерить время

ответа• Пропускают проблемы

Page 5: Мониторинг качества работы вашего проекта

Логи nginx

• Есть все запросы реальных пользователей

• Можно посчитать за период, сколько было ошибок

• Добавляем в лог время ответа – видим как быстро отвечали пользователям

Page 6: Мониторинг качества работы вашего проекта

Время ответа: квантиль

• Сильно лучше чем среднее :)

• Непонятно, как корректно объединять (например при сборе с нескольких серверов)

• Примерно понятен физический смысл, но не отвечает на все вопросы

• Если Q95 выросла с 500ms до 5s, сколько пользователей это затронуло?

Page 7: Мониторинг качества работы вашего проекта

Время ответа: гистограмма

• Очень понятный физический смысл

• Удобно объединять: просто сумма одинаковых бакетов

• Нужно сразу выбрать пороги

• Есть способ делать гистограмму не выбирая заранее пороги, но он дорогой

Page 8: Мониторинг качества работы вашего проекта

Нас интересует

• Сколько было запросов: как обычно/больше/меньше

• Сколько было ошибок

• Времена ответов: на сколько масштабны были тормоза

Page 9: Мониторинг качества работы вашего проекта

Упихиваем ответы на 1 график

Гистограмма времени ответа + ошибки

• быстро (<500ms)• терпимо (500ms-1s)• медленно (>1s)• HTTP-5xx

Page 10: Мониторинг качества работы вашего проекта

“Светофор”

Page 11: Мониторинг качества работы вашего проекта

логи VS пробы

• Пробы: 5 основных страниц раз в минуту с таймаутом 4s

• Триггеры по метрикам из лога nginx: > 20 ошибок в секунду (при ~600rps) Q95 > 4sUptime: пробы: 99.80% (9 минут за 30 дней) логи: 98.86% (7ч 29 минут за 30 дней)

Page 12: Мониторинг качества работы вашего проекта

Rеal User Monitoring

• На страницу ставится JS, который отстреливает статистику загрузки страницы на сервер

• Очень полезен в мониторинге производительности client-side логики

Page 13: Мониторинг качества работы вашего проекта

RUM

Page 14: Мониторинг качества работы вашего проекта

Отстреливаем свои события

• Загрузка видео + рекламы в плеер

• Считаем, сколько пользователь смотрел видео

• Загрузка и работа ваших JS компонентов

Page 15: Мониторинг качества работы вашего проекта

Мониторинг доставки видео

• Скорость загрузки (качество работы CDN)

• Ошибки загрузки

Page 16: Мониторинг качества работы вашего проекта

Скорость загрузки видео

Page 17: Мониторинг качества работы вашего проекта

Ошибки загрузки видео

Page 18: Мониторинг качества работы вашего проекта

Так работает ли сайт?

• Правильно замониторить сайт – достаточно большая задача

• Но вполне решаемая

• Если захотеть, можно видеть большинство проблем на всех уровнях

Page 19: Мониторинг качества работы вашего проекта

Бизнес-логика сайта

• Синхронные действия (пользователь ждет)

• Асинхронные действия (отложенные)

• Действия иницируемые системой (рассылки, биллинг, …)

Page 20: Мониторинг качества работы вашего проекта

Как получать метрики

• SQL запросы• Запрос в http сервис• Запрос в NoSQL• Размер очереди в *mq• Парсинг логов• Из приложения через statsd

Page 21: Мониторинг качества работы вашего проекта

Синхронные действия

• Заказ в интернет-магазине• Регистрация нового пользователя• Просмотр статьи• Комментарий• Лайк• …

Page 22: Мониторинг качества работы вашего проекта

Синхронные действия

• Важно считать количество действий

• Если поехала верстка, забыли нужную кнопку – упадет количество целевых действий

• Видим, как ведет себя показатель во времени – можем подобрать порог для триггера

Page 23: Мониторинг качества работы вашего проекта

Пользователи должны всегда заливать новые видосы

Page 24: Мониторинг качества работы вашего проекта

И лайкать чужие

Page 25: Мониторинг качества работы вашего проекта

Асинхронные действия

В ходе пользовательского запроса решили что-то отложить – положили в очередь

• Отправка уведомлений• Процессинг загруженных данных• Пересчет статистики• …

Page 26: Мониторинг качества работы вашего проекта

Асинхронные действия

• Считаем размер очереди

• Считаем ошибки при процессинге

• Скорость процессинга (tasks/second)

• Считаем время нахождения задач в очереди – алерт, если старшей необработанной задаче больше N минут

Page 27: Мониторинг качества работы вашего проекта

Обработка залитых видео

Page 28: Мониторинг качества работы вашего проекта

Failed push notifications

Page 29: Мониторинг качества работы вашего проекта

Мониторинг доставки почты

Page 30: Мониторинг качества работы вашего проекта

Поток доставляемых сообщений

Page 31: Мониторинг качества работы вашего проекта

Скорость доставки важной почты

Page 32: Мониторинг качества работы вашего проекта

Структура почтового трафика

Page 33: Мониторинг качества работы вашего проекта

Хочу тоже все видеть!

• Начните с сайта – теперь вы знаете, на что смотреть

• Вспомните последние 10-20 инцидентов/багов, влияющих на пользователей

• Повторную проблему должно быть видно хотя бы на одном графике

Page 34: Мониторинг качества работы вашего проекта

Хочу тоже все видеть!

• У метрик должен быть хорошо понятный вам физический смысл

• Не страшно, если сначала будет много графиков – лишнее выкинуть не сложно

• По самым показательным метрикам сделайте триггеры

Page 35: Мониторинг качества работы вашего проекта

Вопросы?

Николай Сивко[email protected]: nikolay.sivko


Related Documents