Открыто

Observability, как в BigTech [Balun.Courses] [Виталий Лихачев]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 21 фев 2025.

Цена: 50000р.-94%
Взнос: 2805р.

Основной список: 21 участников

  1. 21 фев 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Observability, как в BigTech [Balun.Courses] [Виталий Лихачев]

    observability.png

    Преподает SRE из крупнейшего TravelTech

    Глубокий курс о том, как поставлять логи, метрики, трейсы, делать информативные дашборды, быстро устранять инциденты и правильно интерпретировать данные

    - Глубоко изучишь основы и лучшие практики Observability: метрики, логи, трейсы и многое другое
    - Научишься инструментировать любые сервисы для достижения хорошего observability
    - Научишься эксплуатировать сервисы: настройка, масштабирование и оптимизация инфраструктуры для сбора метрик, настройка хранилищ и систем алертинга
    - Построишь эффективные и не перегруженные дашборды для мониторинга состояния системы и приложений
    - Научишься управлять стабильностью системы и предсказывать ее поведение
    - Изучишь все плюсы и минусы Prometheus, Grafana Loki, Jaeger и поймешь, что и когда нужно использовать

    Программа курса
    • Урок 1. Введение в Observability
    • Урок 2. Метрики: основные концепции и работа с ними
    • Урок 3. Хранилища метрик и их выбор
    • Урок 4. Визуализация и управление метриками
    • Урок 5. Логирование и структурированные логи
    • Урок 6. Трейсинг
    • Урок 7. Оптимизация наблюдаемости и оптимизация сервисов
    • Урок 8. Управление алертингом
    • Урок 9. Использование метрик для управления поведением приложения
    • Урок 10. Observability как часть SRE — практики и проблемы эксплуатации
    • Урок 11. Стратегии для больших систем
    Урок 1
    Введение в Observability


    Теория:
    • Что такое Observability: основные аспекты (метрики, логи, трейсы, профили).
    • Зачем нужна наблюдаемость для микросервисов.
    • Структурные отличия observability для монолитов и микросервисов.
    • Инструменты Observability: обзор (Prometheus, Graphite, Grafana, Grafana Alloy, Grafana Pyroscope, Grafana Tempo, OpenTelemetry, Loki, Jaeger, Clickhouse).

    Практика:
    • Настройка базового проекта на Go.
    • Интеграция базового мониторинга с Prometheus и с push gateway.
    • Интеграция с graphite
    • Интеграция с Loki
    • Примеры использования инструментов observability
    • Пример сбора runtime-метрик golang приложения.

    Урок 2
    Метрики: основные концепции и работа с ними


    Теория:
    • Разные подходы к работе с метриками: push vs pull.
    • Архитектура Prometheus.
    • Кардинальность метрик: что это и почему важно.
    • Влияние системы сбора метрик на производительность.
    • Эффективное именование метрик
    • Разница бизнес метрик и технических метрик
    • Влияние метрик на принятие бизнес решений

    Практика:
    • Создание и экспорт пользовательских метрик: счетчики, гистограммы, таймеры, скаляры (gauges), summaries.
    • Анализ влияния высокой кардинальности на производительность.

    Урок 3
    Хранилища метрик и их выбор


    Теория:
    • Особенности архитектуры хранилищ метрик (Prometheus TSDB, VictoriaMetrics, Thanos, Graphite, Clickhouse).
    • Выбор хранилища в зависимости от нагрузки и объемов данных.
    • Проблемы хранения большого объема данных: retention, агрегация, компрессия.

    Практика:
    • Оптимизация сбора метрик prometheus с тяжелых endpoints
    • Антипаттерны реализации /metrics в связке с prometheus
    • Настройка локального Prometheus в связке с VictoriaMetrics и удаленного хранилища.
    • Использование graphite.
    • Импорт/Экспорт метрик.
    • Сравнение производительности при использовании разных хранилищ.

    Урок 4
    Визуализация и управление метриками


    Теория:
    • Лучшие практики построения дашбордов.
    • Антипаттерны построения дашбордов.
    • Типы графиков и их применение: временные ряды, heatmap, гистограммы, gauges, etc.
    • Как избежать перегруженных дашбордов.
    • 4 Golden Signals и их значение для мониторинга.
    • RED/USE методы построения дашбордов

    Практика:
    • Управление метриками: агрегация, квантили, экспоненциальное скользящее среднее.
    • Создание дашбордов в Grafana для анализа Golden Signals.
    • Практическое задание: построить дашборд для микросервиса.
    • Продвинутая настройка grafana: версионирование дашбордов, интеграция с несколькими источниками данных, переменные, зависимости переменных, кастомные визуализации, annotations, группировка панелей

    Урок 5
    Логирование и структурированные логи


    Теория:
    • Подходы к логированию: текстовые и структурированные логи.
    • Стандарты форматирования логов (JSON, OpenTelemetry Logs).
    • Фильтрация и нормализация логов
    • Скрытие конфиденциальной информации
    • Уход от ELK в сторону grafana stack, плюсы и минусы использования ELK

    Практика:
    • Интеграция структурированного логирования с logrus или zap, использование slog
    • Настройка Loki для агрегации логов.
    • Использование fluentbit для фильтрации и отправки логов.
    • Написание запросов в Loki для анализа логов.
    • Уменьшение объема логов без потери данных.

    Урок 6
    Трейсинг


    Теория:
    • Что такое трейсы и зачем они нужны.
    • Основы работы OpenTelemetry Trace.
    • Корреляция трейсов, логов и метрик.
    • OpenTelemetry как единый стандарт для метрик, логов и трейсов
    • Архитектура и возможности OpenTelemetry
    • Преимущества и сложности перехода на OpenTelemetry.
    • Observability асинхронных систем
    • Автоматическая интеграция OpenTelemetry на уровне инфраструктуры (http, sql), интеграция и корреляция на стыке систем (сервис + БД + API gateway)
    • Обзор последних трендов: eBPF для мониторинга (OpenTelemetry), AIOps.

    Практика:
    • Интеграция OpenTelemetry в приложение. Golang zero code instrumentation
    • Настройка Jaeger для распределенного трейсинга.
    • Настройка Grafana Alloy для трейсинга
    • Анализ проблем на основе трейсов (высокая latency, ошибки)
    • Корреляция логов/метрик/трейсов (OpenTelemetry semantic conventions.
    • Отладка сети с помощью OpenTelementry
    • Автоматизация прокидывания requestId сквозь разные слои сервисов
    • Миграция с Prometheus + Jaeger на OpenTelemetry.
    • Настройка сборщиков для метрик, логов, трейсов через OpenTelemetry Collector.

    Урок 7
    Оптимизация наблюдаемости и оптимизация сервисов


    Теория:
    • Проблема избыточности данных: что собирать, а что нет.
    • Автоматизация интеграции метрик и логов в большое количество сервисов.
    • Влияние нагрузки от системы наблюдаемости на производительность.
    • Выбор агрегируемых данных/агрегация метрик.
    • Проблемы мониторинга микросервисов: автоматическое обнаружение сервисов, динамическое масштабирование.
    • Adaptive metrics – удаление неиспользуемых метрик

    Практика:
    • Настройка rate-лимитов для систем сбора метрик.
    • Сэмплирование трейсов.
    • Отладка долгих запросов, анализ причин деградации
    • Создание шаблона для быстрой интеграции метрик и логов в новый сервис.
    • Измерение влияния observability на приложение.
    • Использование pprof для анализа (grafana pyroscope, flamegraphs), golang continuous profiling
    • Traces to profiles
    • Управление доступом к метрикам, логам, трейсам, аудит

    Урок 8
    Управление алертингом


    Теория:
    • Как писать запросы для алертов (prometheus, graphite)
    • Алерты из метрик, алерты из логов
    • Настройка порогов для Golden Signals.
    • Предотвращение перегрузки системы алертинга.
    • Автоматизация алертинга.
    • Дашборды для SLO

    Практика:
    • Настройка Alertmanager.
    • Настройка алертинга в Grafana.
    • Написание запросов для сложных алертов.
    • Интеграция с уведомлениями (Slack, Email, PagerDuty).
    • Маскирование ошибок неправильными запросами (примеры: transformNull, пропадание метрики)

    Урок 9
    Использование метрик для управления поведением приложения


    Теория:
    • Взаимосвязь метрик и механизмов устойчивости (rate limiters, circuit breakers).
    • Применение метрик для автоматической деградации.
    • Подготовка системы к пиковым нагрузкам.
    • Метрики для управления поведением системы:
    • Примеры: Circuit Breakers, Graceful Degradation.
    • Адаптивные rate limiters.
    • Использование метрик для прогнозирования:
    • Сезонные паттерны нагрузки.
    • Прогнозирование с использованием ML-библиотек.

    Практика:
    • Реализация graceful degradation на основе метрик.
    • Использование метрик для предсказания нагрузки (на основе данных прошлого года).
    • Настройка circuit breakers.

    Урок 10
    Observability как часть SRE - практики и проблемы эксплуатации


    Теория:
    • Введение в SRE и роль Observability:
    • Error Budgets.
    • Применение Top-Down анализа.
    • Баланс между объемом данных и их ценностью:
    • Что хранить, а что игнорировать.
    • Построение системы observability для N-сервисов:
    • Обработка синхронных/асинхронных взаимодействий.
    • Кейсы деградации цепочек вызовов.

    Практика:
    • Разработка observability для системы из нескольких Go-сервисов.
    • Анализ деградации цепочек вызовов через трейсы и метрики.

    Урок 11
    Стратегии для больших систем


    Теория:
    • Построение наблюдаемости для системы из множества сервисов.
    • Подходы к массовой интеграции метрик в микросервисы:
    • Конфигурация экспортеров и SDK.
    • Шаблонизация дашбордов.
    • Автоматизация алертинга: CI/CD для observability.
    • Автоматизация деплоя observability стека
    • Как не перегрузить систему мониторинга сложными алертами
    • Синхронные и асинхронные взаимодействия: мониторинг и алертинг.
    • Дизайн метрик и root cause analysis.
    • Борьба с избыточным количеством метрик.
    • Предсказания
    • AI для алертинга
    • Использование service mesh istio для улучшения наблюдаемости системы, kiali для визуализации, автоматизация сбора метрик на уровне инфраструктуры, header propagation

    Практика:
    • Создание комплексного дашборда для системы из N сервисов.
    • Написание эффективных запросов
    • Настройка cross-service трейсов.
    • Проведение RCA с использованием метрик, логов и трейсов.
    • Автоматизация конфигураций метрик и алертов с помощью Helm и Terraform.

    Преподает Виталий Лихачев. SRE в TravelTech, который ты точно знаешь

    Цена: 50000р.
    Скрытая ссылка
     
    Последнее редактирование модератором: 25 фев 2025
    1 человеку нравится это.
  2. Последние события

    1. mr_agb
      mr_agb участвует.
      12 мар 2025 в 12:31
    2. mister_roma
      mister_roma участвует.
      12 мар 2025 в 00:44
    3. skladchik.com
      В складчине участвует 20 человек(а).
      12 мар 2025 в 00:44
    4. sergey_gromov
      sergey_gromov участвует.
      7 мар 2025 в 20:15
  3. Обсуждение
  4. 3 мар 2025
    #2
    LifeStyle288
    LifeStyle288 СкладчикСкладчик
    Подготовка к собеседованиям по С++ [stepik] [Владимир Балун]