BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по DWH » Учебный курс "Использование Kubernetes (k8s) при внедрении BI и DWH" » Модуль 5. Наблюдаемость и эксплуатация

Модуль 5. Наблюдаемость и эксплуатация

Цель — не «собрать все метрики», а поддерживать SLO витрин и BI-сервисов за счет трёх слоёв:

  1. Метрики (Prometheus → Grafana): измеряем доступность, латентность, нагрузку, очереди и ошибки.
  2. Логи (EFK или Loki): находим причины, восстанавливаем контекст инцидента.
  3. Трейсинг (OpenTelemetry): видим «путь» запроса/вычисления сквозь компоненты.

 

Отсюда — понятия: SLI (что считаем), SLO (насколько должен быть хорош сервис), Error Budget (запас на ошибку) и burn-rate (скорость «сжигания» запаса).

 

 

Архитектура наблюдаемости для BI/DWH

Базовые компоненты

  • Prometheus (сборщик), Alertmanager (алерты), Grafana (дашборды). В k8s удобно ставить kube-prometheus-stack (Helm), там же node-exporter и kube-state-metrics.
  • Exporters:
    • postgres_exporter (Postgres),
    • jmx_exporter (Trino/Java-компоненты через JMX),
    • statsd_exporter или плагин «prometheus» для Airflow,
    • clickhouse-exporter (если используете ClickHouse),
    • minio/bucket metrics (для S3-совместимого хранилища).
  • Логи:
  • Лёгкая связка: Promtail → Loki → Grafana.
  • Классика: EFK (FluentBit/Fluentd → Elasticsearch → Kibana).
  • OpenTelemetry Collector как концентратор сигналов → Tempo/Jaeger/Zipkin для хранения трейсов.
  • Интеграция точечная: Airflow, ваши сервисы, прокси/шлюзы.
  • Трейсинг:

 

Данные длительного хранения

Prometheus как правило хранит 10–30 дней. Для истории (квартал/год) — Thanos/Cortex/Mimir (remote-write/объектное хранилище). Логи — ротация/retention по регламенту (обычно 7–30–90 дней по типам).

 

SLI/SLO для BI/DWH: договоримся о главном

Референс-набор SLI

  • Доступность веб-BI: доля успешных 2xx/3xx ответов Ingress за 1/6/30 дней.
  • Латентность BI-UI: p95 времени ответа Ingress по роуту / и /api/… (раздельно для интерактивных и фоновых запросов).
  • Успешность запросов к движку: доля запросов Trino/ClickHouse/PG со статусом succeeded (по JMX/экспортерам).
  • Латентность запросов: p95/p99 длительности по типам (dashboards, ad-hoc, фоновые отчёты).
  • Свежесть данных (freshness): лаг между текущим временем и «временем последней успешной загрузки витрины».
  • SLA ETL: доля DAG/джоб, завершившихся до дедлайна (например, до 06:00 местного времени).
  • Ошибки коннекторов: скорость ошибок (5xx/timeout/auth) per connector.
  • Ресурсы: использование CPU/Mem/IOPS vs requests/limits; падения Pod (restarts); заполнение PVC; очереди задач.

 

Примеры SLO

  • BI-доступность: 99.5% в 30-дневном окне.
  • Интерактивная латентность: p95 ≤ 2.5 с на ключевых эндпоинтах.
  • Запросы к Trino: success rate ≥ 99%, p95 ≤ 10 с (на интерактивные), на бэч-задания — свой порог.
  • Свежесть витрин: 99% витрин обновлены ≤ 60 мин назад в рабочее время.
  • ETL до 06:00: 99% DAG на «зелёном».

 

Алертинг по бюджету ошибок (burn-rate)

Для SLO 99.5% месячного окна:

  • Быстрые аварии: «5% бюджета за 1 час» (если error rate > 0.5% × 14.4 ≈ 7.2% в течение часа — page).
  • Тлеющие: «5% бюджета за 6 часов» (если error rate > 1.2% за 6 часов — ticket/уровень ниже).
    Идея: две (или три) скользящие выдержки предупреждают и о вспышках, и о хронических проблемах.

 

Метрики: откуда и какие

Airflow

Два практичных пути:

  • Через StatsD: Airflow посылает метрики (длительность задач, SLA, количество ретраев) в statsd_exporter, Prometheus снимает метрики.
  • Через плагин Prometheus: прямо /metrics у веб-сервиса/шедулера (удобно в k8s-деплое).

Ключевые метрики: task_duration_seconds, dag_processing_duration, task_retries, dag_sla_miss_total, «время последнего успеха по DAG».

 

Trino (или Presto)

Trino публикует JMX-метрики; кладём jmx_exporter (Java-agent или sidecar). Важные группы:

  • trino.execution (запросы, очереди, завершения, провалы),
  • trino.memory (использование pool’ов),
  • trino.operator (операторы скана/джойнов),
  • jvm.* (GC, heap).
    Метрики по «хвостам» (p95/p99) строим из bucket’ов Histogram (если доступны) или рассчитываем по сводным.

 

Postgres

postgres_exporter + включённый pg_stat_statements. Смотрим:

  • pg_up, pg_connections, xact_commit/rollback, checkpoint/write/flush, лаг репликации, размер WAL,
  • показатели по «тяжёлым» запросам (время, частота, I/O),
  • long_running_transactions и блокировки.

 

Инфраструктура

  • kube-state-metrics (состояние k8s объектов),
  • node-exporter (CPU/Mem/IO/NET),
  • cAdvisor (контейнерные ресурсы),
  • S3/MinIO: latency операций, коды ошибок (важно для экспорта BI/бэкапов).

 

Логи: что и где искать

Loki (легковесно) или EFK (шире функционал)

  • Loki хорош малым footprint’ом и интеграцией с Grafana.
  • EFK мощнее по полнотексту/агрегациям (Elasticsearch), но тяжелее.

 

Полезные логи в BI/DWH

  • Ingress/прокси: статус-коды, время ответа, URI, пользователь/группа (если передаёте через SSO заголовки), размер ответов, upstream-status.
  • BI-приложения: auth/SSO, ошибки визуализаций/коннекторов, экспорт/импорт файлов.
  • Trino/ClickHouse: query log (id, user, source, время, итог, причина ошибки).
  • Airflow: ошибки задач, ретраи, SLA-miss.
  • Postgres: ошибки запросов, deadlock’и, autovacuum events.

 

Рекомендации:

  • Редактируйте лог-форматы в сторону structured (JSON) → проще агрегировать.
  • Редактируйте/маскируйте PII (лог-редакторы/плагины).
  • Введите корреляционные id (например, X-Request-ID) — связывайте логи с трейсом.

 

Трейсинг: когда он нужен и как включать

  • Для «почему именно этот отчёт отрисовался 12 секунд» без трассировки часто не обойтись.
  • OpenTelemetry Collector принимают OTLP (HTTP/gRPC) и экспортируют в Tempo/Jaeger.
  • Что реально трассировать:
    • Ваши микросервисы/прокси (если есть) — обязательно.
    • Airflow — опционально: шаги DAG как спаны, особенно при внешних вызовах.
    • BI-фронт — чаще ограничиваемся метриками/логами; полноценный APM — по необходимости.
  • Минимум — придумайте и внедрите корелляционный идентификатор и прокидывайте его в запросы к Trino/БД.

 

Эксплуатационные дашборды (что должно быть «по умолчанию»)

Дашборд «SLO BI»

  • Availability: 30-дневная кривая 2xx/3xx, «окно 1ч/6ч burn-rate».
  • Latency: p50/p95/p99 по / и /api/*, отдельно по регионам/Ingress.
  • Error rate: 4xx/5xx, top-URI по ошибкам, распределение по пользователям/группам.
  • Capacity: HPA масштабирования, CPU/Mem BI-подов vs requests.

 

Дашборд «Trino/Запросы»

  • Очередь, активные/завершённые, провалы по причинам; p95 длительности; top-users; расход памяти pool.
  • Отдельная секция «тяжёлые операторы» (скан/джойн).

 

Дашборд «Airflow/ETL-SLA»

  • Сколько DAG выполнено до дедлайна, сколько ретраев, средняя/p95 длительность задач, зависания.
  • «Время последнего успеха» для ключевых витрин (freshness heatmap).

 

Дашборд «Postgres/БД»

  • Подключения, блокировки, лаг репликации, чекпоинты, рост базы, топ-запросы по времени/IO, autovacuum.

 

Дашборд «Платформа k8s»

  • Ошибки Ingress, рестарты Pod, CrashLoop, заполнение PVC, утилизация нод, throttle по CPU, saturations сети/IO.

 

Алертинг: практические правила

  • SLO-alerts (burn-rate) — главный слой (page on-call).
  • Сатурации/исчерпания (квоты/диск/соединения/очереди) — предупреждения до инцидента.
  • Сигнал-to-noise: лучше 10 качественных правил с корректной дедупликацией, чем 100 «писем каждую минуту».
  • Шаблоны сообщений: включайте «что делать дальше» (ссылка на runbook, Grafana-дашборд, команда rollback).

 

Практика: собрать метрики Airflow/Trino/Postgres и сделать дашборд SLO

Подготовка (высокоуровнево)

  1. Установите kube-prometheus-stack (Prometheus, Alertmanager, Grafana).
  2. Включите ServiceMonitors/PodMonitors в вашем Helm-стеке (или создайте вручную).
  3. Деплойте экспортёры:
    • Airflow: включите метрики (StatsD → statsd_exporter или плагин Prometheus), убедитесь, что /metrics доступен.
    • Trino: добавьте jmx_exporter (Java-agent) и пробросьте HTTP endpoint для скрейпа.
    • Postgres: разверните postgres_exporter, дайте доступ к pg_stat_*; включите pg_stat_statements.
  4. Добавьте MinIO/Ingress метрики (если ещё нет): для Ingress — включите экспорт метрик контроллера.

 

Что именно собрать

  • BI SLI: из метрик Ingress — долю 2xx/3xx, распределение латентности (histogram_bucket).
  • Trino: общее число запросов, успешные/ошибки, длительности (если есть гистограммы; если нет — собираем «спаниe времени» по событиям, как суррогат).
  • Airflow: dag_sla_miss_total, task_duration_seconds_bucket, «время последнего успеха».
  • Postgres: pg_up, лаг репликации, pg_stat_statements по top N.

 

Дашборд «BI SLO» в Grafana

Секции:

  1. SLO summary: текущий SLO месяца, использованный бюджет, burn-rate 1ч/6ч.
  2. Availability: граф ошибки (Ingress 5xx/все), аннотации релизов.
  3. Latency: p50/p95/p99 по BI-эндпоинтам (раздельно для UI и API).
  4. ETL SLA: до скольки % DAG успели до 06:00; витрины с «красным» freshness.
  5. Trino success/latency: success rate, p95 по интерактивным запросам.
  6. Postgres health: pg_up, лаг репликации, активные соединения.

 

Быстрые алерты (через Alertmanager)

  • BI Availability Burn-rate (две выдержки) → page.
  • Freshness витрин (просрочка > X мин) → page владельцу домена данных.
  • Trino queue length/координатор down → page.
  • Postgres lag > N секунд / connections > 90% → warn → page при эскалации.

 

Риски и анти-паттерны

  1. Взрыв кардинальности метрик (лейблов слишком много: query_id, user_id, sql_text).
    Решение: белые списки лейблов, дропаут лишних через relabeling, агрегация на стороне экспорта (сводные по типам/ролям, не по id).
  2. Завал логами/дорогая индексация.
    Решение: уровни логов по средам, ретеншн по классам данных, семплирование шумных потоков, регулярные расходы в TCO.
  3. Алерт-штормы (десятки писем из одной причины).
    Решение: группировка, дедупликация, приоритеты; «супер-алерты» на сервисный SLO, а не на каждую мелочь.
  4. Метрики без runbook’ов («что делать — непонятно»).
    Решение: у каждого критичного алерта — ссылка на шаги диагностики, rollback, контакты владельца.
  5. Не защищены эндпоинты метрик.
    Решение: ограничить сетью (NetworkPolicy), basic-auth/mTLS для внешних, не светить /metrics наружу.
  6. Нет связи метрик ↔ релизы.
    Решение: аннотации релизов в Grafana, принудительная проверка SLI после выката (post-deploy checks).

 

Операционные практики (day-2)

  • Еженедельный обзор SLO с владельцами доменов: где «жжёт» бюджет, какие долгие отчёты, какие DAG системно опаздывают.
  • Capacity review раз в месяц: CPU/Mem/IOPS/сеть, рост PVC, «дорогие» запросы.
  • Blameless postmortem на P1 инциденты: корневая причина, действия, «SLO-гигиена».
  • Хаос-дни (по согласованию): падение ноды/Ingress/MinIO — проверка алертов и runbook’ов.
  • Автоматические отчёты (Grafana report) об ошибках коннекторов, просроченных витринах, «тяжёлых» запросах.

 

Мини-чек-лист перед продом

  • kube-prometheus-stack установлен, есть доступ Grafana/Alertmanager.
  • Есть экспортеры для Airflow, Trino (JMX), Postgres, Ingress, MinIO.
  • Дашборды: BI-SLO, Trino-queries, Airflow-SLA, Postgres-health, k8s-platform.
  • SLO сформулированы и подписаны бизнесом; алерты по burn-rate настроены.
  • Ретеншн/стоимость логов и метрик зафиксированы; есть план архивирования.
  • Логи структурированы, маскировка PII настроена.
  • Отдельный runbook на каждую критическую тревогу; «владельцы» указаны.
  • Метрики/логи/трейсы не содержат секретов; доступ ограничен RBAC.

 

Наблюдаемость — это соглашение о качестве (SLO), а не просто Grafana с красивыми графиками. Собираем только те сигналы, которые помогают держать SLO, строим дашборды «по ролям», включаем burn-rate-алерты и держим рядом runbook’и. Тогда BI/DWH в k8s становится управляемым сервисом, а не набором «слегка работающих» компонентов.

 

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Модуль 4. Безопасность и соответствие
Следующая статья →
Модуль 6. CI/CD и GitOps

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • АО «Евросиб СПб–транспортные системы» – оператор контейнерных сервисов с широкой сетью маршрутов на внутрироссийских и международных направлениях. Имеет успешный опыт управления парком фитинговых платформ, а также организации ускоренных контейнерных поездов, в основе которых точное расписание, оптимальные сроки доставки груза и экономическая целесообразность.

  • Ручная обработка заявок на займы в МФО ДоброЗайм была малоэффективной и приводила к высоким затратам по ФОТ отдела верификации и андеррайтинга. При этом время обработки заявок было высоким, как и количество ошибок под влиянием человеческого фактора. Дополнительные сложности создавал сложный документооборот, обусловленный неконсолидированной кредитной историей и скоринговой оценкой. Все это суммарно мешало масштабированию бизнеса МФО.

  • «ПрофХолод» — крупнейший в России производитель сэндвич-панелей с пенополиуретаном. 

  • С объединением компании Savencia Fromage & Dairy и молочного комбината в г.Белебей, одного из лидеров по производству твердых сычужных сыров в России, Savencia выходит на российский рынок не только как импортер, но и как производитель молочной продукции.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.