Любое Web приложение постоянно изменяется. Как с точки зрения внутренностей (новые функции и технологии), так и с точки зрения внешних условий (размер и активность аудитории). Качественная работа приложения критически зависит от правильной и своевременной диагностики. Динамика Web приложений переводит диагностику на новый — постоянный уровень. Важно не просто знать максимум о системе. Важно еще и узнавать об изменениях максимально быстро. Это задача мониторинга.
Существует три основные компоненты системы мониторинга:
Задача мониторинга статусов — постоянно проверять все компоненты системы на корректность их работы.
Например:
Наиболее популярные решения:
Основное правило настройки мониторинга — проверять как можно больше показателей системы. Тут работает правило — чем больше знаем, тем лучше.
Главная задача статусного мониторинга — сообщать о проблемах. На практике это обычно письмо либо СМС сообщение в случае поломки. От правильной настройки уведомлений на 90% зависит эффективность работы мониторинга.
Прежде всего, очень полезно иметь дашборд с выведенными туда максимально приоритетными метриками. Чаще всего это доступность Web сервера, баз данных и бекендов. Т.е. тех узлов, которые непосредственно отвечают за генерацию ответа на запрос пользователя.
Настройка уведомлений обычно происходит по такому принципу:
1. Выбор параметра. Не на все параметры нужно настраивать уведомления. Некоторые из них основные (например, доступность Web сервера). Некоторые вспомогательные (например, количество открытых файловых дескрипторов).
2. Определение приоритета. Следует выделять две группы параметров:
3. Определение порога срабатывания. Для многих метрик следует выбирать два порога срабатывания — один предупреждающий (низкий приоритет, например свободного места на диске осталось 10%), второй — требующий мгновенной реакции (высокий приоритет, свободного места 1%).
Настройка уведомлений — это не одноразовая работа. Этим следует заниматься постоянно, т.к. меняются приоритеты и появляются новые метрики. Соблюдайте правила:
Знания текущего статуса работы системы недостаточно для того, чтобы делать прогнозы. Ясно, что проблему лучше предупреждать, чем реагировать на нее. Для этого нужны системы сбора и хранения исторических данных об изменении показателей. Такие системы работают так же, как и статусные, но обычно собирают намного больше показателей и хранят всю историю их изменений.
Наиболее популярными решениями являются:
Аналитика исторических данных позволит прогнозировать необходимость масштабирования. Кроме обычных метрик, таких как загрузка процессора и объем доступной памяти, сюда следует включать показатели более высокого уровня, например:
Системы сбора тенденций также позволяют настраивать пороги и уведомления. Пороги следует выбирать чуть ниже, чем в системе статусного мониторинга. Это позволит получать предварительные уведомления о возможных будущих проблемах.
Нормальная работа всех компонент приложения не всегда означает правильную работу самого приложения. Такие проблемы, как неработающая регистрация либо неправильная ссылка в письме, никак не будут отражены в указанных системах мониторинга. Многие проблемы могут иметь временный либо ограниченный характер. Например, недоступность одной из систем социальной авторизации либо скорость загрузки страниц для пользователей из конкретного региона.
Именно поэтому есть необходимость в мониторинге бизнес метрик. Многие системы аналитики, такие как Google Analytics позволяют проводить детальнейший анализ исторических данных. Однако такие инструменты неудобно использовать для обнаружения отклонений в реальном времени.
Существуют инструменты простого сбора статистики, как например ioTrack. Интеграция такой системы происходит путем добавления счетчика на определенные события. Например, для отслеживания количества регистраций, нужно добавить код для подсчета их количества:
... # вставка данных нового пользователя mysql_query('INSERT INTO users SET email = ...'); $user_id = mysql_insert_id(); # трекинг регистраций track('signups'); ...
Пример интерфейса ioTrack для [Хд]
Распространенными примерами метрик бизнес уровня являются:
Сбор таких данных позволит выяснить отклонения не только в работе системы, а и в окружающей среде. Например, спам-атаки, которые часто резко изменяют несколько бизнес метрик, хотя могут никак не отражаться на нагрузке системы.
Очень удобно выводить несколько основных величин в дашборды на отдельных мониторах в офисе. Позволяет не только быть в курсе проблем, но и получать “живую” информацию о качестве работы приложения.
Помните, задача мониторинга — предоставлять информацию о сбоях в работе. Она не выполняется разово, изменения должны внедряться вместе с изменениями самого приложения.
Прежде всего, организуйте наблюдение за бизнес метриками. Мониторинг тенденций позволит прогнозировать изменения в оборудовании и избегать катастроф. Мониторинг статуса — это Ваша служба 911, мерой ее эффективности является полезность уведомлений.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…