Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Наблюдаемость Observability

Зачем

Реализуется в концепции OpenTelemetry (OTel), которая объединила OpenTracing + OpenCensus.

Характеристики:

  • Последовательность
  • Парсинг
  • Транзакционность событий (логов)
  • ИД событий
  • Время событий

Плюсы-минусы

Плюсы:

  • Ускорение разрешения инцидентов
  • Повышение быстродействия системы
  • Эффективное планирование ресурсопотребления
  • Повышение эффективности разработки
  • Более эффективное сотрудничество
  • Повышение надёжности системы

Минусы:

  • Сложная архитектура ИС реализующих принципы наблюдаемости

Patterns

  • Простота расширения
  • Корреляция данных
  • Универсальные агенты Data Collector по протоколу OpenTelemetry
  • Трансформация команд на принципах Site Reliability Engineering (SRE) four golden signals
    • TODO

Reference Arch:

Технологии

Варианты решений

Compare:

Data Collector

Основная проблема: потеря логов при больших объемах и интенсивности.

  1. Vector v.0.26 beta
  2. Fluentbit
  3. FluentD плохой опыт СберМегаМаркет с ElasticSearch v.7
    • многие плагины FluentD просто не умеют работать с воркерами, используя по дефолту только один
  4. Filebeat
  5. LogStash
  6. GrayLog GELF

TODO:

Time Series Database

TODO

Мы допустили все ошибки какие могли:

  • Сразу не настроили отправку метрики с Promtail и Loki в prometheus, чтобы сразу увидеть, где проблема
  • Не настроили сразу кеширование, лимиты и чанки
  • Выбрали обычные ssd вместо не реплицируемых (нужна была макс скорость)
  • Перегнули с количеством лейблов
  • Не использовали драйвер Loki для контейнеров
  • Сразу не угадали с количество реплик всех частей