GH GambleHub

Дашборды инфраструктуры

1) Зачем это нужно

Единая картина состояния: от кластера и сетей до баз данных и очередей.
Быстрые RCA и пост-мортемы: связка метрик ↔ логов ↔ трасс.
SLO по сервисам и платформе: контроль над доступностью и латентностью.
ФинОпс-прозрачность: объем/стоимость по сервисам, tenant’ам и средам.
Комплаенс/безопасность: статус патчей/уязвимостей, доступов, аномалий.

Методологии: Golden Signals (latency, traffic, errors, saturation), RED (Rate, Errors, Duration) для запросов, USE (Utilization, Saturation, Errors) для ресурсов.

2) Принципы хорошего дашборда

Действуемость (Actionable): каждая панель отвечает на «что делать дальше».
Иерархичность: обзор → домены → deep dive → raw.
Шаблоны/переменные: `cluster`, `namespace`, `service`, `tenant`, `env`.
Единые единицы: мс для латентности, %, RPS, операций/с, байты.
Консистентный таймпикер: по умолчанию 1–6 часов, быстрые пресеты 5м/15м/24ч.
Drilldown: из панели на логи (Loki/ELK) и трассы (Tempo/Jaeger).
Владение: на дашборде указан владелец, SLO, runbook, контакт в on-call.

3) Структура папок и роли

00_Overview — верхнеуровневый обзор платформы.
10_Kubernetes — кластеры, ноды, workloads, HPA/ВПА, контейнеры.
20_Network_Edge — Ingress/Envoy/Nginx, LB, DNS, CDN, WAF.
30_Storage_DB — PostgreSQL/MySQL, Redis, Kafka/RabbitMQ, объектное хранилище.
40_CICD_Runner — пайплайны, агенты, артефакты, registry.
50_Security_Compliance — уязвимости, патчи, RBAC, audit events.
60_FinOps_Cost — стоимость по сервисам/tenant/кластеру, утилизация.
99_Runbooks — ссылки на инструкции и SLO-карточки.

Роли: Platform-SRE (полный доступ), Service-Owner (свои пространства), Security/Compliance, Finance/FinOps, View-only.

4) Обзорный дашборд платформы (Landing)

Цель: за ≤30 сек понять, все ли в порядке.

Рекомендуемые панели:
  • SLO платформа (доступность API edge): целевое значение, фактическое, эра ошибок, burn-rate.
  • Латентность p50/p95/p99 по основным входным точкам.
  • Ошибки 4xx/5xx и топ-эндпоинты с регрессиями.
  • Сатурация ресурсов (CPU, RAM, сеть, диск) — p95 по кластерам.
  • Инциденты/алерты (активные) и последние релизы.
  • Стоимость/час (приближенно) и тренд по неделе.

Шаблоны переменных: `env`, `region`, `cluster`, `tenant`.

5) Kubernetes: кластеры и ворклоады

Ключевые группы:

1. Кластер/ноды

Утилизация CPU/Memory, pressure (memory/cpu), диск IO, inode.
Подсистемы: kube-api, etcd, контроллеры; kubelet health.

2. Ворклоады

RPS/RPM, latency p95, error rate, restarts, throttling, OOMKills.
HPA таргеты vs фактические метрики.

3. Сетевой путь внутри кластера

eBPF/Netflow: top talkers, drops, retransmits.

4. События K8s

Rate по Warning/FailedScheduling/BackOff.

Примеры PromQL:
promql
API (5xx) errors by sum by (service) (rate (http_requests_total{status=~"5"..}[5m]))

Latency p95 histogram_quantile (0. 95, sum by (le, service) (rate(http_request_duration_seconds_bucket[5m])))

Throttling CPU контейнеров sum by (namespace, pod) (rate(container_cpu_cfs_throttled_seconds_total[5m]))

6) Edge, сетка и DNS

Панели:
  • Ingress/Envoy/Nginx: RPS, p95, 4xx/5xx, upstream_errors, active_conns.
  • LB/Anycast: распределение трафика по зонам, failover события.
  • DNS: латентность резолва, NXDOMAIN/SERVFAIL rate, hit-ratio кеша.
  • CDN/WAF: блокировки по правилам, аномальный трафик (боты/скрейперы).
Пример (Nginx):
promql sum(rate(nginx_http_requests_total[5m])) by (status)

7) Базы данных и сторидж

PostgreSQL/MySQL: qps, latency, lock waits, replication lag, бэкапы/провалы.
Redis: hit ratio, evictions, память, медленные команды.
Kafka/RabbitMQ: lag по consumer-группам, rebalances, unacked messages.
Объектное хранилище: запросы, ошибки, egress, lat p95.

PostgreSQL (пример):
promql
Replication lag in seconds max by (replica) (pg_replication_lag_seconds)

Slow Queries> 1s rate (pg_stat_activity_longqueries_total[5m])
Kafka (пример):
promql
Lag by group max by (topic, group) (kafka_consumergroup_lag)

8) CI/CD и артефакты

Pipeline overview: успешность/время выполнения, очередь раннеров.
Deployment health: версии, canary/blue-green статус, время прогрева.
Регистри образов: размер, последние push’и, утилизация.

Пример:
promql
Rate (ci_pipeline_success_total[1h] )/rate (ci_pipeline_total[1h]) success rate

9) Безопасность и комплаенс

Патчи и уязвимости: доля нод/образов с критическими CVE, среднее «время до патча».
RBAC и секреты: неуспешные попытки доступа, обращения к секретам.
Аудит-события: входы/изменения в критичных компонентах, drift.
WAF/DLP/PII-редакция: блокировки правил, ошибки маскирования.

10) Логи и трассы: сквозной обзор

Сводка ошибок из логов (Loki/ELK): top exceptions, новые сигнатуры.
Кнопка «Перейти к логам с фильтрами» (LogQL/ES query).
Трассы: top slow spans, процент запросов без trace-контекста.

Примеры LogQL:

{app="api", level="error"}     = "NullReference"
{app="nginx"}      json      status="5.."      count_over_time([5m])

11) FinOps: стоимость и утилизация

Стоимость по сервисам/тенантам/кластерам (по данным биллинга/экспортеров).
Горячие/холодные узлы: idle ресурсы, rightsizing рекомендации (CPU/Mem).
Data egress, L7 запросы и их стоимость.
Динамика: неделя/месяц, прогноз.

Ключевые метрики:
  • cost_per_rps, cost_per_request, storage_cost_gb_day, idle_cost.
  • коэффициент эффективности: `RPS / $` или `SLO-минуты / $`.

12) SLO, ошибки и burn-rate

SLO карточка на каждом дашборде домена: цель, период, ошибки (budget).
Burn-rate алерты (две скорости: быстрая/медленная).

Примеры PromQL (ошибка как «5xx или p95>порога»):
promql
Bad budget: 5xx as a fraction of sum (rate (http_requests_total{status=~"5"..}[5m])) traffic
/
sum(rate(http_requests_total[5m]))

Burn-rate (fast channel ~ 1h)
(
sum(rate(http_requests_total{status=~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
) / (1 - SLO) > 14. 4
💡 Подставьте ваш `SLO` и коэффициенты по методике multi-window, multi-burn.

13) Стандарты визуализации

Тайпсы панелей: time-series для рядов, stat для KPI, table для top-N, heatmap для латентности.
Легенды и юниты: обязательны; укороченные лейблы, SI-формат.
Цветовые зоны: зеленая/желтая/красная по SLO/threshold (единообразно).
Описание панели: что измеряем, источник, runbook-ссылка, владелец.

14) Шаблоны панелей (быстрый старт)

(A) API Overview

KPI: `RPS`, `p95`, `5xx%`, `error_budget_remaining`.
Top endpoints by error/latency.
Drilldown в логи `trace_id=$trace`.

(B) Node Health

CPU/Memory/Disk/Network — p95 по нодам, список «горячих».
Pressure, throttling, dропы пакетов.

(C) DB Health

TPS, latency p95, locks, replication lag, slow queries.
Бэкап-статус/последний успех.

(D) Kafka Lag

Lag по группам, скорость потребления vs продюсинг, rebalances.

(E) Cost & Util

Cost/hour по сервисам, idle %, rightsizing hints, прогноз.

15) Переменные и тэги (рекомендуемый набор)

`env` (prod/stage/dev)

`region`/`az`

`cluster`

`namespace`/`service`/`workload`

`tenant`

`component` (edge/db/cache/queue)

`version` (release/git_sha)

16) Интеграция с алертингом и инцидент-менеджментом

Правила в Alertmanager/Графана-алертах с ссылками на нужный дашборд и уже подставленными переменными.
P1/P2 по SLO-критериям, auto-assign на on-call.
Аннотации релизов/инцидентов на графах.

17) Качество дашбордов: чек-лист

  • Владелец и контакт.
  • SLO/thresholds задокументированы.
  • Переменные работают и ограничивают объем запросов.
  • Все панели с юнитами и легендой.
  • Drilldown в логи/трассы.
  • Панели укладываются в 2–3 «экрана» (без скролла на километр).
  • Время ответа запросов ≤2–3 c (кэш, downsample).
  • Нет «мертвых» панелей и deprecated-метрик.

18) Производительность и стоимость самих дашбордов

Downsampling/recording rules для тяжелых агрегаций.
Кэширование (query-frontend/репитер) и лимиты на range/step.
Ангар тестов: нагрузка на TSDB/кластеры при типовых дашборд-запросах.
Санация лейблов (низкая кардинальность), отказ от wildcards.

19) План внедрения (итерации)

1. Неделя 1: Лэндинг + K8s/Edge обзоры, базовые SLO, владельцы.
2. Неделя 2: DB/Queues, интеграция логов и трасс (drilldown), burn-rate алерты.
3. Неделя 3: FinOps-дашборды, rightsizing рекомендации, отчет по стоимости.
4. Неделя 4+: Security/Compliance, автогенерация SLO-карточек, регрессионные тесты дашбордов.

20) Мини-FAQ

Сколько дашбордов нужно?
Минимум 1 обзор + по одному на домен (K8s, Edge, DB, Queues, CI/CD, Security, Cost). Остальное — по зрелости.

Что важнее — метрики или логи?
Метрики для симптомов и SLO, логи для причин. Связка через `trace_id` и консистентные лейблы.

Как не «утонуть» в панелях?
Иерархия, явные владельцы, гигиена метрик, регулярные ревью и удаление «мертвых» панелей.

Итог

Инфраструктурные дашборды — это не «красивые графики», а управленческий инструмент: SLO-контроль, быстрое RCA и осознанный FinOps. Стандартизируйте переменные, визуальные шаблоны и владельцев; обеспечьте drilldown к логам/трассам и автоматизируйте burn-rate алерты. Это даст предсказуемость, скорость реакции и прозрачность стоимости на уровне всей платформы.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.