Deski rozdzielcze infrastruktury
1) Dlaczego go potrzebujesz
Jeden obraz stanu: od klastra i sieci po bazy danych i kolejki.
Szybkie RCA i pośmiertne: mnóstwo metrycznych metryk, kłód, śladów.
SLO według serwisu i platformy: kontrola nad dostępnością i opóźnieniem.
Przejrzystość FinOps: wielkość/koszt według usług, najemcy i środowiska.
Zgodność/bezpieczeństwo: status łatek/luk, dostępu, anomalii.
Metodologie: Złote sygnały (opóźnienie, ruch, błędy, nasycenie), RED (Wskaźnik, Błędy, Czas trwania) dla żądań, USE (Wykorzystanie, Nasycenie, Błędy) dla zasobów.
2) Zasady dobrej deski rozdzielczej
Działanie-Każdy panel odpowiada na „co dalej”.
Hierarchia: przegląd → domeny → głębokie nurkowanie → surowe.
Szablony/zmienne: 'klastra', 'przestrzeń nazw', 'usługa', 'lokator', ''.
Jednostki jednorodne: ms dla opóźnień,%, RPS, ops/sec, bajty.
Spójny zegar: domyślnie 1-6 godzin, szybkie ustawienia wstępne 5m/15m/24h.
Wiercenie: od panelu do dzienników (Loki/ELK) i toru (Tempo/Jaeger).
Własność: właściciel jest wskazany na desce rozdzielczej, SLO, runbook, kontakt w dyżurze.
3) Struktura folderu i role
00_Overview - przegląd platformy na wysokim poziomie.
10_Kubernetes - klastry, węzły, obciążenia robocze, HPA/VPA, pojemniki.
20_Network_Edge - Ingress/Envoy/Nginx, LB, DNS, CDN, WAF.
30_Storage_DB - PostgreSQL/MySQL, Redis, Kafka/RabbitMQ, przechowywanie obiektów.
40_CICD_Runner - rurociągi, agenci, artefakty, rejestr.
50_Security_Compliance - luki, plastry, RBAC, wydarzenia audytowe.
60_FinOps_Cost - koszt za usługę/najemcę/klastra, usuwanie.
99_Runbooks - linki do instrukcji i kart SLO.
Role: Platform-SRE (pełny dostęp), Service-Owner (własne miejsca), Bezpieczeństwo/Zgodność, Finanse/FinOps, View-only.
4) Panel przeglądowy platformy (lądowanie)
Cel: w ≤ 30 sekund, aby zrozumieć, czy wszystko jest w porządku.
Zalecane panele:- Platforma SLO (krawędź dostępności API): wartość docelowa, rzeczywista, era błędów, szybkość spalania.
- p50/p95/p99 opóźnienia według głównych punktów wejścia.
- Błędy 4xx/5xx i górne punkty końcowe z regresjami.
- Nasycenie zasobów (procesor, pamięć RAM, sieć, dysk) - p95 według klastra.
- Incydenty/wpisy (aktywne) i ostatnie wydania.
- Koszt/godzina (przybliżony) i trend w tygodniu.
Szablony zmiennych: 'na', 'region', 'klaster', 'lokator'.
5) Kubernety: klastry i warsztaty
Kluczowe grupy:1. Klaster/węzły
Utylizacja procesora/pamięci, ciśnienie (pamięć/procesor), dysk IO, inode.
podsystemy: kube-api, etcd, kontrolery; zdrowie kubelet.
2. Vorkloads
RPS/RPM, latency p95, wskaźnik błędów, uruchamia się ponownie, dławienie, OOMKills.
Cele HPA vs rzeczywiste wskaźniki.
3. Ścieżka sieciowa w klastrze
eBPF/Netflow: top talkers, drops, retransmits.
4. Wydarzenia K8s
Szybkość ма Ostrzeżenie/nieudany harmonogram/BackOff.
Przykłady 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) Krawędź, siatka i DNS
Panele:- Ingress/Envoy/Nginx: RPS, p95, 4xx/5xx, upstream_errors, active_conns.
- LB/Anycast: dystrybucja ruchu przez strefy, zdarzenia awaryjne.
- DNS: opóźnienie rozdzielczości, szybkość NXDOMAIN/SERVFAIL, pamięć podręczna współczynnika trafienia.
- CDN/WAF: zablokowane przez reguły, nieprawidłowy ruch (boty/złomowiska).
promql sum(rate(nginx_http_requests_total[5m])) by (status)
7) Bazy danych i magazyny
PostgreSQL/MySQL: qps, latency, blokada, opóźnienie replikacji, kopie zapasowe/awarie.
Redis: współczynnik trafienia, eksmisje, pamięć, powolne polecenia.
Kafka/RabbitMQ: lag przez grupy konsumenckie, rebalances, nieopakowane wiadomości.
Przechowywanie obiektów: zapytania, błędy, egress, lata p95.
promql
Replication lag in seconds max by (replica) (pg_replication_lag_seconds)
Slow Queries> 1s rate (pg_stat_activity_longqueries_total[5m])
Kafka (przykład):
promql
Lag by group max by (topic, group) (kafka_consumergroup_lag)
8) CI/CD i artefakty
Przegląd rurociągu: sukces/czas trwania, kolejka biegaczy.
Zdrowie wdrożenia: wersje, status kanaryjski/niebiesko-zielony, czas rozgrzewki.
Rejestry obrazu: rozmiar, ostatni push'i, usuwanie.
promql
Rate (ci_pipeline_success_total[1h] )/rate (ci_pipeline_total[1h]) success rate
9) Bezpieczeństwo i zgodność
Łatki i luki: odsetek węzłów/obrazów z krytycznymi CZ, średni „czas do łatania”.
RBAC i tajemnice: nieudane próby dostępu, dostęp do tajemnic.
Zdarzenia audytowe: wejścia/zmiany w komponentach krytycznych, dryf.
Zmiana WAF/DLP/PII: blokady reguł, błędy maskujące.
10) Dzienniki i szlaki: Przegląd końcowy
Podsumowanie błędów z dzienników (Loki/ELK): najlepsze wyjątki, nowe podpisy.
Przycisk „Przejdź do dzienników z filtrami” (zapytanie LogQL/ES).
Ślady: górne powolne przęsła, procent żądań bez kontekstu śladowego.
{app="api", level="error"} = "NullReference"
{app="nginx"} json status="5.." count_over_time([5m])
11) FinOps: koszt i usuwanie
Koszt według usług/najemców/klastrów (według rozliczeń/eksporterów).
Węzły gorące/zimne: bezczynne zasoby, zalecenia dotyczące prawowitości (CPU/Mem).
Pobieranie danych, wnioski L7 i ich koszt.
Dynamika: tydzień/miesiąc, prognoza.
- cost_per_rps, cost_per_request, storage_cost_gb_day, idle_cost.
- współczynnik wydajności: 'RPS/$' lub 'SLO-minutes/$'.
12) SLO, błędy i szybkość spalania
Karta SLO na każdej desce rozdzielczej domeny: cel, okres, błędy (budżet).
Alerty spalania (dwie prędkości: szybki/wolny).
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
13) Standardy wizualizacji
Typy paneli: seria czasowa dla serii, stat dla KPI, stół dla top-N, mapa grzewcza dla opóźnień.
Legendy i jednostki: wymagane; skrócone etykiety, format SI.
Strefy kolorów: zielony/żółty/czerwony według SLO/próg (jednolity).
Opis panelu: co mierzymy, źródło, łącze runbook, właściciel.
14) Szablony paneli (szybki start)
A) Przegląd API
KPI: 'RPS', 'p95', '5xx%', 'error _ budget _ remaining'.
Górne punkty końcowe przez błąd/opóźnienie.
Drilldown w logach 'trace _ id = $ trace'.
(B) Zdrowie węzłów
Procesor/pamięć/dysk/sieć - p95 według węzła, lista „gorących”.
Ciśnienie, przepłukiwanie, krople.
(C) DB Health
TPS, latency p95, zamki, opóźnienie replikacji, powolne zapytania.
Status kopii zapasowej/najnowszy sukces.
(D) Kafka Lag
Opóźnienie w podziale na grupy, wskaźnik konsumpcji w porównaniu z produkcją, przywrócenia równowagi.
(E) Koszt & Util
Koszt/godzina według usług, bezczynność%, wskazówki dotyczące praw, prognoza.
15) Zmienne i znaczniki (zalecany zestaw)
„env” (prod/stage/dev)
„region ”/„ aza”
„luster”
„przestrzeń ”/„ usługa ”/„ obciążenie pracą”
„najemca”
„komponent” (krawędź/db/cache/kolejka)
„wersja” (release/git_sha)
16) Integracja z zarządzaniem alarmami i incydentami
Zasady w Alertmanager/Graphana alerty z linkami do żądanej deski rozdzielczej i już zastąpione zmienne.
P1/P2 według kryteriów SLO, automatycznie przypisać do dyżuru.
Adnotacje dotyczące wydań/incydentów na wykresach.
17) Jakość desek rozdzielczych: lista kontrolna
- Właściciel i kontakt.
- Wartości SLO/progi są udokumentowane.
- Zmienne działają i ograniczają rozmiar zapytań.
- Wszystkie panele z jednostkami i legendą.
- Wiercenie do kłód/torów.
- Panele pasują do 2-3 „ekranów” (bez przewijania na kilometr).
- Czas odpowiedzi ≤ 2 -3 sekundy (pamięć podręczna, minus).
- Brak martwych paneli lub zdegradowanych metryk.
18) Wydajność i koszt samych desek rozdzielczych
Zasady obniżania/rejestrowania ciężkich agregacji.
Buforowanie (query-frontend/repeater) i granice zakresu/stopnia.
Hangar testowy: obciążenie TSDB/klastrów dla typowych żądań deski rozdzielczej.
Oczyszczanie etykiet (niska kardynalność), porzucanie dzikich kart.
19) Plan realizacji (iteracje)
1. Tydzień 1: Lądowanie + K8s/Edge recenzje, podstawowe SLO, właściciele.
2. Tydzień 2: DB/Kolejki, integracja dziennika i śledzenia (drilldown), alerty spalania.
3. Tydzień 3: deski rozdzielcze FinOps, rekomendacje dotyczące praw, raport kosztów.
4. Tydzień 4 +: Bezpieczeństwo/Zgodność, autogeneracja kart SLO, testy regresji deski rozdzielczej.
20) Mini-FAQ
Ile desek rozdzielczych potrzebujesz?
Co najmniej 1 przegląd + jeden na domenę (K8s, krawędź, DB, kolejki, CI/CD, bezpieczeństwo, koszt). Reszta to dojrzałość.
Co jest ważniejsze - metryki lub kłody?
Metryka objawów i SLO, dzienniki przyczyn. Pakiet przez 'trace _ id' i spójne etykiety.
Jak nie „utopić” w panelach?
Hierarchia, wyraźni właściciele, higiena metryczna, regularne recenzje i usuwanie „martwych” paneli.
Razem
Deski rozdzielcze infrastruktury nie są „piękne wykresy”, ale narzędzie zarządzania: sterowanie SLO, szybki RCA i świadomych FinOp. Standaryzuj zmienne, wzory wizualne i właścicieli; zapewnić wiercenie do rejestrów/utworów i zautomatyzować alerty prędkości spalania. Zapewni to przewidywalność, szybkość reakcji i przejrzystość kosztów na poziomie całej platformy.