Операционная аналитика
1) Что такое операционная аналитика и зачем она нужна
Операционная аналитика (Ops Analytics) — это системная сборка сигналов из наблюдаемости (метрики/логи/трейсы), ITSM (инциденты/проблемы/изменения), CI/CD (релизы/конфиги), провайдеров (PSP/KYC/CDN/Cloud), FinOps (затраты) и бизнес-SLI (успех платежей, регистрации), превращенная в единые витрины и дашборды для принятия решений.
Цели:- снизить MTTD/MTTR за счет раннего обнаружения и корректной атрибуции причин;
- держать SLO и бюджет ошибок под контролем;
- связывать изменения → импакт (релизы/конфиги → SLI/SLO/жалобы/затраты);
- давать self-service аналитику командам и менеджменту.
2) Источники и канонический слой данных
Телеметрия: метрики (SLI/ресурсы), логи (семплинг/редакция PII), трейсы (trace_id/span_id, релиз-теги).
ITSM/Incident модули: SEV, таймстампы T0/Detected/Ack/Declared/Mitigated/Recovered, RCA/CAPA.
CI/CD & Config: версии, коммиты, канарика/blue-green, флаг-стейт, целевые конфиги.
Провайдеры: статусы/SLA, задержки, коды ошибок, веса маршрутов.
FinOps: стоимость по тегам/аккаунтам/тенантам, $/единицу (1k опер.).
DataOps: свежесть витрин, DQ-ошибки, lineage.
Ключевой принцип — единая корреляция через идентификаторы: `service`, `region`, `tenant`, `release_id`, `change_id`, `incident_id`, `provider`, `trace_id`.
3) Единая модель данных (упрощенный каркас)
dim_service(service_id, owner, tier, slo_targets…)
dim_time(ts, date, hour, tz)
dim_region(region_id, country, cloud)
dim_provider(provider_id, type, sla)
fact_sli(ts, service_id, region_id, tenant, metric, value, target, window)
fact_incident(incident_id, service_id, sev, t0, t_detected, t_ack, t_declared, t_mitigated, t_recovered, root_cause, trigger_id, burn_minutes)
fact_change(change_id, type(code config infra), service_id, region_id, started_at, finished_at, canary_pct, outcome(ok rollback), annotations)
fact_cost(ts, service_id, region_id, tenant, cost_total, cost_per_1k)
fact_provider(ts, provider_id, region_id, metric(latency error status), value)
fact_dq(ts, dataset, freshness_min, dq_errors)
4) SLI/SLO и бизнес-метрики
Бизнес-SLI: `payment_success_ratio`, `signup_completion`, `deposit_latency`.
Тех-SLI: `availability`, `http_p95`, `error_rate`, `queue_depth`.
SLO-слой: цели + burn-rate (короткое/длинное окно), автоматические аннотации нарушений.
Нормализация: показатели на 1k успешных операций/пользователей/трафик.
5) Корреляции и атрибуция причин
Релизы/конфиги ↔ SLI/SLO: аннотации на графах; причинно-следственные отчеты (доля инцидентов, связанных с изменениями; MTTR change-инцидентов).
Провайдеры ↔ бизнес-SLI: веса маршрутов vs latency/ошибки, вклад каждого провайдера в промах SLO.
Емкость/ресурсы ↔ задержки: перегрев пулов → рост p95 → влияние на конверсию.
6) Аномалии и прогнозирование
Аномалия-детект: сезонность + перцентильные пороги + change-поисковые фичи (до/после релиза).
Прогноз: недельные/сезонные паттерны нагрузки, прогноз burn-out бюджета ошибок, предикция затрат ($/ед.).
Гардрейлы: алерты только при кворуме источников (synthetic + RUM + бизнес-SLI).
7) Витрины и дашборды (референс)
1. Executive 28d: SEV-микс, медиана MTTR/MTTD, SLO adherence, $/единицу, топ-причины.
2. SRE Ops: SLI/SLO + burn-rate, Page Storm, Actionable %, Change Failure Rate.
3. Change Impact: релизы/конфиги ↔ SLI/SLO/жалобы, откаты и их эффект.
4. Providers: статус-линии PSP/KYC/CDN, влияния на бизнес-SLI, времена ответов.
5. FinOps: cost per 1k txn, логи/egress, аномалии затрат, рекомендации (семплинг, хранение).
6. DataOps: свежесть витрин, DQ-ошибки, SLA пайплайнов, бэкфилл-успех.
8) Качество данных и governance
Контракты событий: четкие схемы для инцидентов/релизов/SLI (обязательные поля, единые часовые пояса).
DQ-чекеры: полнота, уникальность ключей, непротиворечивость таймлайна (t0≤detected≤ack…).
Линейдж: от дашборда до источника (traceable).
PII/секреты: редактирование/маскирование по политике; WORM для evidence.
SLA свежести: витрины Ops ≤ 5 мин задержки.
9) Метрики зрелости операционной аналитики
Coverage: % критичных сервисов в витринах и SLO-бордах (цель ≥ 95%).
Freshness: доля виджетов со свежестью ≤ 5 мин (цель ≥ 95%).
Actionability: % переходов из дашборда к действию (плейбук/SOP/тикет) ≥ 90%.
Detection Coverage: ≥ 85% инцидентов обнаруживает автоматика.
Attribution Rate: доля инцидентов с подтвержденной причиной и триггером ≥ 90%.
Change Impact Share: доля инцидентов, связанных с изменениями (контролируем тренд).
Data Quality: DQ-ошибки/неделя → ↓ QoQ.
10) Процесс: от данных к действиям
1. Сбор → очистка → нормализация → витрины (ETL/ELT, feature-слой для ML).
2. Обнаружение/прогноз → эскалация по матрице (IC/P1/P2/Comms).
3. Действие: плейбук/SOP, релиз-гейт, фича-флаг, переключение провайдера.
4. Evidence и AAR/RCA: таймлайн, графики, ссылки на релизы/логи/трейсы.
5. CAPA и продуктовые решения: приоритизация по burn-минутам и $-импакту.
11) Примеры запросов (идея)
11.1 Влияние релизов на SLO (24ч)
sql
SELECT r. change_id,
COUNT(i. incident_id) AS incidents,
SUM(i. burn_minutes) AS burn_total_min,
AVG(CASE WHEN i.root_cause='code' THEN 1 ELSE 0 END) AS code_ratio
FROM fact_change r
LEFT JOIN fact_incident i
ON i.trigger_id = r. change_id
WHERE r. started_at >= NOW() - INTERVAL '24 hours'
GROUP BY 1
ORDER BY burn_total_min DESC;
11.2 Доля проблем от провайдеров по регионам
sql
SELECT region_id, provider_id,
SUM(CASE WHEN root_cause='provider' THEN 1 ELSE 0 END) AS prov_inc,
COUNT() AS all_inc,
100. 0SUM(CASE WHEN root_cause='provider' THEN 1 ELSE 0 END)/COUNT() AS pct
FROM fact_incident
WHERE t0 >= DATE_TRUNC('month', NOW())
GROUP BY 1,2
ORDER BY pct DESC;
11.3 Cost per 1k успешных платежей
sql
SELECT date(ts) d,
SUM(cost_total)/NULLIF(SUM(success_payments)/1000. 0,0) AS cost_per_1k
FROM fact_cost c
JOIN biz_payments b USING (ts, service_id, region_id, tenant)
GROUP BY d ORDER BY d DESC;
12) Шаблоны артефактов
12.1 Схема события инцидента (JSON, фрагмент)
json
{
"incident_id": "2025-11-01-042",
"service": "payments-api",
"region": "eu",
"sev": "SEV-1",
"t0": "2025-11-01T12:04:00Z",
"detected": "2025-11-01T12:07:00Z",
"ack": "2025-11-01T12:09:00Z",
"declared": "2025-11-01T12:11:00Z",
"mitigated": "2025-11-01T12:24:00Z",
"recovered": "2025-11-01T12:48:00Z",
"root_cause": "provider",
"trigger_id": "chg-7842",
"burn_minutes": 18
}
12.2 Каталог метрик (YAML, фрагмент)
yaml metric: biz. payment_success_ratio owner: team-payments type: sli target: 99. 5 windows: ["5m","1h","6h","28d"]
tags: [tier0, region:eu]
pii: false
12.3 Карточка отчета Executive (разделы)
1) SEV mix and MTTR/MTTD trends
2) SLO adherence and burn-out risks
3) Change Impact (CFR)
4) Providers: Degradation and switchover
5) FinOps: $/unit, log anomalies/egress
6) CAPAs: Status and Deadlines
13) Инструменты и архитектурные паттерны
Data Lake + DWH: “сырой” слой для телеметрии, витрины для решений.
Stream-процессинг: near-real-time SLI/burn-rate, онлайновые фичи для аномалий.
Feature Store: повторное использование фич (канарика, сезонность, провайдер-сигналы).
Semantic Layer/Metric Store: единые определения метрик (SLO, MTTR…).
Access Control: RBAC/ABAC, row-level security для тенантов/регионов.
Catalog/Lineage: поиск, описания, зависимости, владельцы.
14) Чек-листы
14.1 Запуск операционной аналитики
- Утверждены словари SLI/SLO, SEV, причины, change-типы.
- Схемы событий и единые таймзоны.
- Коннекторы телеметрии, ITSM, CI/CD, провайдеры, биллинг.
- Витрины: SLI/SLO, Incidents, Changes, Providers, FinOps.
- Executive/SRE/Change/Providers дашборды доступны.
- Настроены кворум-алерты и suppression на окна обслуживания.
14.2 Еженедельный Ops-обзор
- SEV-тренды, MTTR/MTTD, промахи SLO, burn-минуты.
- Change Impact и CFR, статус откатов.
- Провайдерские инциденты и времена реакции.
- FinOps: $/ед., аномалии логов/egress.
- CAPA статус, просрочки, приоритеты.
15) Анти-паттерны
«Стена графиков» без перехода к действиям.
Разные определения метрик у команд (нет семантического слоя).
Отсутствие аннотаций релизов/окон — слабая атрибуция причин.
Ориентация на средние вместо p95/p99.
Нет нормализации на объем — крупные сервисы «кажутся хуже».
PII в логах/витринах, нарушение ретенций.
Данные «застаиваются» (>5–10 мин для real-time виджетов).
16) Дорожная карта внедрения (4–8 недель)
1. Нед. 1: договоренности по словарю метрик, схемам событий, id-корреляции; подключение SLI/SLO и ITSM.
2. Нед. 2: витрины Incidents/Changes/Providers, аннотации релизов; Executive & SRE дашборды.
3. Нед. 3: FinOps-слой ($/ед.), связка с SLI; аномалия-детект с кворумом.
4. Нед. 4: self-service (semantic layer/metric store), каталог и lineage.
5. Нед. 5–6: прогноз нагрузки/затрат, отчеты провайдерам, CAPA-витрина.
6. Нед. 7–8: охват ≥95% Tier-0/1, SLA свежести ≤5 мин, регулярные Ops-обзоры.
17) Итог
Операционная аналитика — это машина принятия решений: единые определения метрик, свежие витрины, корректная атрибуция причин и прямые переходы к плейбукам и SOP. В такой системе команда быстро обнаруживает и объясняет отклонения, точно оценивает влияние релизов и провайдеров, управляет затратами и системно снижает риск — а пользователи получают стабильный сервис.