Мониторинг микросервисов крайне необходимая часть качественной работы современных веб-сервисов. Мониторинг помогает оценить состояние системы в целом и сигнализировать о проблемах, но при условии, что вы заранее подготовились и добавили расчет метрик и настроили алерты для определения возможных неполадок в системе. За счет логов можно более точно локализовать обнаруженные неполадки, но в случае множества микросервисов это может быть затруднительно. А если возникла ошибка в сервисах, разрабатываемых не вами, то это почти невозможно. Особенно трудной задачей является поиск узких мест в системе. Например, когда ваша система возвращает ответ пользователю дольше, чем рассчитывали, но при этом все сервисы работают в штатном режиме. Как решать такие задачи?
Здесь могут помочь распределенные трассировки микросервисов, за счет построения графа трассировок и расчета метрик АРМ можно быстро локализовать проблемные места и выполнить необходимые оптимизации. За последнее время технологии в этой области далеко шагнули вперед, появились стандартизированные решения и были разработаны библиотеки для автоинструментации, которые позволяют без сложных манипуляций с кодом воспользоваться всеми преимуществами распределенных трассировок.
Спикер расскажет, что необходимо для запуска систем трассировок на базе open-source решений, покажет на простых примерах как настроить сбор трейсов с микросервисов на Python (fastapi, SQLAlchemy, httpx), как потом работать с трейсами и какую полезную информацию можно извлечь.
Спикер: Руслан Гайнанов, тимлид DevOps-команды в ИТ-Холдинге Т1
Запись доклада - https://www.youtube.com/live/_0BEvQjhVvs?si=YWNQSjZtCBUMwJ_k&t=26767