#otus #deepwebdev
Итак, у вас есть приложение. Оно запущено в бою, используемо, и вы хотите знать, какие части приложения за какое время работают. Не сломалось ли чего? Как себя ведут технические и бизнес-метрики. Желательно всё это смотреть в красивом интерфейсе и в реальном времени.
Рассмотрим один из возможных вариантов для реализации этой задачи.
Значения нужных параметров можно хранить в InfluxDB – хранилище данных для временных последовательностей. В него можно класть данные по http-API и получать данные, делая запросы на языке, похожем на SQL. Конечно, есть обёртка вокруг API на Python.
Что отслеживать? Во-первых, время выполнения кода основных обработчиков нашего сервиса целиком и отдельных важных его частей. Количество кода будет небольшое – достаточно написать декоратор или менеджер контекста для отправки метрик в InfluxDB. После этого можно заняться мониторингом бизнес-метрик: отдельно записывать количество регистраций, заказов услуг, прочитанных статей в справке.
Теперь нужно визуализировать эти данные так, чтобы было видно, насколько хорошо всё работает. Для этого хорошо подходит Grafana – гибкое средство для визуализации и мониторинга, которое умеет брать данные из InfluxDB. Оно же умеет сообщать о том, что какие-то параметры вышли за допустимые границы.
На курсе “Python для WEB-разработки” мы разберём, как оптимизировать эту схему для высоконагруженных систем, не превратив при этом систему мониторинга в свалку графиков,а также когда и чем это решение лучше использования Zabbix. Присоединяйтесь, будет интересно! http://otus.ru/lessons/9?utm_source=telegram&utm_medium=internal&utm_campaign=webdev&utm_term=deeppost31.08
Итак, у вас есть приложение. Оно запущено в бою, используемо, и вы хотите знать, какие части приложения за какое время работают. Не сломалось ли чего? Как себя ведут технические и бизнес-метрики. Желательно всё это смотреть в красивом интерфейсе и в реальном времени.
Рассмотрим один из возможных вариантов для реализации этой задачи.
Значения нужных параметров можно хранить в InfluxDB – хранилище данных для временных последовательностей. В него можно класть данные по http-API и получать данные, делая запросы на языке, похожем на SQL. Конечно, есть обёртка вокруг API на Python.
Что отслеживать? Во-первых, время выполнения кода основных обработчиков нашего сервиса целиком и отдельных важных его частей. Количество кода будет небольшое – достаточно написать декоратор или менеджер контекста для отправки метрик в InfluxDB. После этого можно заняться мониторингом бизнес-метрик: отдельно записывать количество регистраций, заказов услуг, прочитанных статей в справке.
Теперь нужно визуализировать эти данные так, чтобы было видно, насколько хорошо всё работает. Для этого хорошо подходит Grafana – гибкое средство для визуализации и мониторинга, которое умеет брать данные из InfluxDB. Оно же умеет сообщать о том, что какие-то параметры вышли за допустимые границы.
На курсе “Python для WEB-разработки” мы разберём, как оптимизировать эту схему для высоконагруженных систем, не превратив при этом систему мониторинга в свалку графиков,а также когда и чем это решение лучше использования Zabbix. Присоединяйтесь, будет интересно! http://otus.ru/lessons/9?utm_source=telegram&utm_medium=internal&utm_campaign=webdev&utm_term=deeppost31.08