Разработать масштабируемую систему наблюдаемости микросервисов на базе OpenTelemetry для платформы Yandex Cloud с автоматизированным развертыванием по модели GitOps.
- Сформировать требования к системе наблюдаемости на основе анализа инфраструктуры Yandex Cloud и спецификаций сервиса Monium.
- Спроектировать архитектуру облачной инфраструктуры и стека OpenTelemetry.
- Разработать декларативное описание инфраструктуры и стека OpenTelemetry, реализовать процессы доставки по модели GitOps.
- Провести комплексное тестирование развернутой инфраструктуры и корректности работы стека наблюдаемости, а также сравнительный анализ производительности микросервисного приложения до и после развёртывания стека OpenTelemetry.
- Интеграция с Monium.
- Комплексный сбор данных телеметрии.
- Корреляция сигналов телеметрии.
- Автоматическая инструментация - внедрение агентов для сбора телеметрии без модификации исходного кода.
- Использование управляемых сервисов Yandex Cloud - минимальные трудозатраты.
- Декларативное описание инфраструктуры и стека наблюдаемости.
- Автоматизация процессов CI/CD - GitOps-конвейер GitLab и ArgoCD.
- Масштабируемость в каждой зоне доступности.
- Адаптивность к числу зон доступности: от одной до четырёх.
- Производительность - деградация времени отклика прикладных сервисов не более 10%.
- Безопасность - полное отсутствие секретов в Git. Интеграция с сервисами Яндекс.Облака для хранения секретов.
- Уменьшение размера хранимой телеметрии за счёт интеграции механизма выборочного сохранения трассировок (tail-based sampling): отбрасывание части успешных фоновых трасс, но при этом сохраняются все трассы, содержащие ошибки, превышение порогов или иные аномальные признаки.
- Внедрение непрерывного профилирования (Continuous Profiling) на базе протокола OTLP Profiles. Это позволит не только зафиксировать факт задержки, но и детально проанализировать использование ресурсов (CPU/RAM) на уровне кода. Интеграция данного функционала (в рамках планов развития платформы Яндекс Monium по поддержке сигналов Profiling) позволит получить диагностику производительности в рамках единого интерфейса.
- Переход к концепции наблюдаемость как код (Observability-as-Code). Она предполагает декларативное описание метрик, дашбордов, каналов уведомлений и правил алертинга внутри приложения. Приложение будет развёрнуто в облачной инфраструктуре вместе с полностью настроенным мониторингом и окружением для аналитики.
The licence can be changed. By default this project has the MIT Licence.