Grafana և տվյալների տեսողական
(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)
Live ռեզյումե
Grafana-ը ամբողջ դիտարկման վիտրինն է 'մետրերը, լույսերը, հետքերը, բիզնես ցուցանիշները և ալերտները նույն տեղում։ iGaming-ի համար սա ՝ www.p95/p99, վճարումների փոխարկումը, Time-to-Wallet-ը, խաղերի պրովայդերների հասանելիությունը, պարամետրերի գեո բաշխումը և օրինագծերի համեմատությունը (stable vs canary)։ Հաջողությունը 'ձևանմուշներ (105), հասկանալի վահանակներ, օրինագծեր, SLO-dashbords և հասանելիության իրավունքների կարգապահություն։
1) Միացման ճարտարապետությունը
Diasources: Prometheus (metrics), Loki/ELK (Loges), Tempo/Jaeger (Treiss), ClickHouse/BigQuery/PG (բիզնես տվյալները), OTLP-ը Gateway-ի միջոցով։
Հիմնական կապերը 'մետրից wwww.exemplar www.trace-ը, որոնք կապված են «trace _ id» -ի հետ։
Թղթապանակները և RBAC-ը '«MSE», «Payments», «Risk», «Games», «BizOps»։ роли `Viewer/Editor/Admin` и granular permissions.
2) Dashbords դիզայնը ՝ սկզբունքները
1. Պատասխանը 1-2 տեսահոլովակի համար 'SLO քարտերից մինչև մանրամասները։
2. RED/USE-ը յուրաքանչյուր ծառայության համար + հիբրիդային քարտեր (TTW, դեպոզիտների փոխարկումը)։
3. Կայուն ցանցը '24-հսկայական, մեծ KPI վերևում, ներքևի մասերը։
4. Գույներն ու շեմերը 'առնվազն SLA/SLO-ով։
5. Օրինագծերի նույնականացումները ՝ Git SHA, տարբերակը, թողարկման տեսակը (canary/blue-green)։
3) Մոսկվան և թեմպլեյտները (templating)
Մոսկվան մեկ դաշնամուր է վերածում շատ։
Օրինակ (Prometheus query-variable)
Name: `service`
Query: `label_values(up, service)`
Multi-international + include all-ը հարմար է ագրեգատների համար։
Կասկադային կոմպոզիցիաներ
`region` → `env` → `service` → `instance`.
Օգտագործեք «regex »/« soft» UX-ի և «refresh: On dashboard load» -ի համար։
4) Վահանակներ և տեսակներ
Time series: p50/p95/p99, error-rate, throughput.
Stat/Gauge: www.KPI (availability, TTW p95)։
Bar gauge/Table: Առաջին N երթուղիները/PSA/խաղերի պրովայդերներ։
Geomap: Ինտեգրման/լատենտության ջերմային քարտեզներ երկրներով/ROR-ով։
Canvas: սխեմատիկ հոսքեր (Player no API)։
Node graph 'ծառայությունների կախվածությունը, սխալների գույնը։
Փոխակերպումներ
Labels to fields, Meder Join (metric և բիզնես աղյուսակներ), Reduce (mix/max/avg), Add field from calculation (փոխադարձություն)։
5) Հարցումների և առաջարկների օրինակներ
5. 1 p95 latency (PromQL)
promql histogram_quantile(0. 95,
sum by (le, route) (rate(http_request_duration_seconds_bucket{service="$service",region="$region"}[5m]))
)
5. 2 Հարցումների հաջողությունը (SLO proxy)
promql sum(rate(http_requests_total{service="$service",status=~"2.. 3.."}[5m]))
/
sum(rate(http_requests_total{service="$service"}[5m]))
5. 3 Վճարման կոնվերսիա (PromQL ագրեգատ)
promql sum(rate(payments_success_total{psp=~"$psp",currency=~"$currency"}[15m]))
/
sum(rate(payments_attempt_total{psp=~"$psp",currency=~"$currency"}[15m]))
5. 4 Արագ ցատկ ուղու վրա (exemplars)
«Time Time series» վահանակում ներառեք Exemplars Texplars Plack Click Power-ի կետով բացվում է Tempo-ը '«trace _ id» -ից։
5. 5 Trace _ id (Loki)
logql
{service="$service"} = "$traceID"
6) Ծանոթագրություններ և իրադարձություններ
Release annot.ru: Իրադարձության ավելացումը Deple-ում (տարբերակը, հեղինակը, կանարական քաշը)։
Incident/Freeze: Windows-ի սկզբի/վերջի նշանները և ածխաջրածինների սառեցման պատուհանները։
Բիզնես իրադարձություններ 'մեծ քարոզարշավներ/մրցույթներ, տեղադրեք գծապատկերներում։
7) Ալերտան Գրաֆանայում
Alporrules-ը կենտրոնացված է (Prometheus/Loki/Cloud)։
Contact points: PagerDuty/Slack/Email; Notif.ru policies (ruting tem)։
Multi-www.burn-rate: Արագ և դանդաղ բյուջեի կյանքը։
Silences: Պլանավորված պատուհանների և կրկնօրինակների ժամանակ։
P95 արտահայտման օրինակ
promql histogram_quantile(0. 95,
sum by (le, service) (rate(http_request_duration_seconds_bucket{service="$service"}[5m]))
) > 0. 25
8) Պրովիզինինգը որպես կոդ (IaC)
Պահպանեք աղբյուրները/dashbords/alerts Git-ում։
datasource. yaml
yaml apiVersion: 1 datasources:
- name: Prometheus type: prometheus access: proxy url: http://prometheus:9090 isDefault: true
- name: Loki type: loki url: http://loki:3100
- name: Tempo type: tempo url: http://tempo:3100
dashboard. yaml
yaml apiVersion: 1 providers:
- name: sres folder: SRE type: file disableDeletion: false options:
path: /var/lib/grafana/dashboards/sre
grafana. ini (հատված)
ini
[auth]
disable_login_form = false
[users]
viewers_can_edit = false
[alerting]
enabled = true
[unified_alerting. screenshots]
capture = true
9) Անվտանգություն և հասանելիություն
SSO (OIDC/SAML), խմբեր, որոնք համապատասխանում են ռուսական թղթապանակի դերին։
Winasouurces-ի իրավունքները 'միայն անհրաժեշտ հայրիկներին, read-only Viewer-ի համար։
PII-հիգիենան 'մի քաշեք PII-ի դաշտերը վահանակում։ լոգանքների համար ֆիլտրել/դիմակավորել։
Գաղտնիքները 'միայն Vox/secure JSON fields-ի միջոցով, առանց «պլեյն-տեքստի»։
10) Արտադրողականությունը և արժեքը
Recording rules-ում Prometheus-ում ծանր արտահայտությունների համար։
Downsampling/Retention-ը երկար պահպանման բեքենդերում։
Քաշ Դաշբորդներ և ազնիվ ընդմիջումներ (ոչ թե «1s» ամենուր)։
Փոփոխականների կարդինալության սահմանափակումը (մի փոխարինեք «user _ id »/« session _ id»)։
Վերաբաշխումը 'առանձին ինստանսներ/ֆոլդերներ աղմկոտ թիմերի համար։
11) Մասնագիտացված dashbords iGaming-ի համար
Payments: փորձեր/հաջողություններ/TTW p95, սխալ PMS/երթուղով, geo քարտեզի վրա։
Games/Providers: latency և error-rate ստուդիաներով/խաղերով, գործարկման հակադարձումը։
Risk/Fraud: գործողության արագություն, սարքերի/IP, հարաբերակցություններ (35+ բար)։
RG/Compli.ru: նստաշրջաններ> շեմն, սթեյքերի աճը, անոմալիաների ալերտները։
Releault Compare: կայուն vs canareced p95/error/բիզնես մետրերով։
Infra/USE: Utilization/Saturation/Errors կլաստերների և հերթերի վրա։
12) JSON-dashbord (հատված)
json
{
"title": "Payments SLO",
"tags": ["slo","payments"],
"time": {"from":"now-6h","to":"now"},
"panels": [
{
"type":"stat",
"title":"Availability",
"targets":[{"expr":"sum(rate(http_requests_total{service=\"payments-api\",status=~\"2.. 3..\"}[5m]))/sum(rate(http_requests_total{service=\"payments-api\"}[5m]))"}],
"thresholds":{"mode":"absolute","steps":[{"color":"red","value":0},{"color":"green","value":0. 999}]}
},
{
"type":"timeseries",
"title":"p95 latency",
"exemplars": {"color":"rgba(31,120,193,0. 6)"},
"targets":[{"expr":"histogram_quantile(0. 95,sum by (le) (rate(http_request_duration_seconds_bucket{service=\"payments-api\"}[5m])))"}]
}
]
}
13) Runbooks և UX բարելավումներ
Յուրաքանչյուր ալբերտ Runbook URL-ն է (գործողությունների հրահանգը)։
Links-ը կապված dashbords-ի վրա (Payments Ninfra no PSA)։
Medilldown: Clicks եվրոպական ֆիլտրերի պիտակների վրա (region/pox/rome)։
Variables no aula.ru: «env = no», «region = eu» - արագացնում է սկիզբը։
14) Ներդրման չեկի ցուցակ
1. Patte intasources: Prometheus/Loki/Tempo/SQL։
2. Մուտքագրեք թղթապանակները և RBAC; իրավունքների աուդիտ։
3. Ստեղծեք ձևանմուշային բջիջներ (region/env/2019)։
4. Կառուցեք SLO-dashbords (availability, p95, error-rate, սխալների բյուջե)։
5. Ավելացրեք օրինագծերի ծանոթությունները և համեմատությունը stable/canary-ի հետ։
6. Միացրեք exemplars-ը և անցումը դեպի ուղիներ/լոգարաններ։
7. Patte alerta (multi-www.burn-rate) և ռուտինգը։
8. Օգտագործեք ամեն ինչ որպես կոդ, պահեք Git-ում, նախանձեք։
9. Օպտիմիզացրեք արտադրողականությունը 'recording rules, ընդմիջումներ, քեշ։
10. Մուտքագրեք բիզնես դաշնամուրները (TTW, վճարման փոխակերպումը, GGR քարտերը)։
15) Անտիպատերնի
«Կենդանաբանական այգին» չհամաձայնեցված dashbords առանց փոփոխականների և ստանդարտների։
Ծանր PromQL-ի վահանակները առանց recording rules-ի պատրաստված են դանդաղ UI-ով։
Գույների/լեգենդների/առանցքային-Y-ի ավելցուկը տարբեր մասերով։
PII միացումը Viewer-ի համար տեղադրված վահանակում։
Ածխաջրածինների նույնականացման բացակայությունը պարզ չէ, թե որտեղից են ցատկում։
Մեկ «մոնովոյի» դաշբորդը ֆոլդերի կառուցվածքի փոխարեն։
Արդյունքները
Grafana-ը ինտերֆեյս է, որտեղ տեխնոլոգիան հանդիպում է ապրանքի հետ 'մետրիկներ, լոգներ և հետքեր կապված են բիզնեսի նկարների հետ։ Ձևանմուշները, ճիշտ վահանակները, նույնականացումները և ալերտները դարձնում են տվյալները լուծումների մեջ 'արագ ախտորոշում, կանխատեսելի օրինագծեր և դիտարկման վերահսկվող արժեքը։