GH GambleHub

Լոգարանների կենտրոնացումը

1) Ինչո՞ ւ կենտրոնացնել լոգերը

Կենտրոնացված լոգները դիտարկման, պարամետրերի և կոմպլենսների հիմքն են։ Նրանք

արագացնում են զանգվածի արմատների որոնումը (հարաբերակցությունը request-id/trace-id);

թույլ են տալիս կառուցել ազդանշանային ալերտներ ախտանիշների վրա (սխալներ, անոմալիաներ);

աուդիտի հետք են տալիս (ով/երբ/ինչ է արել);

նվազեցնում են ծախսերը վերականգնման և պահեստավորման միավորման միջոցով։


2) Հիմնական սկզբունքները

1. Միայն կառուցվածքային լոգները (JSON/RFC5424) ոչ մի «free-2019» առանց պահանջների։

2. Մեկ բանաձևի սխեման '«ts, level, eve, env, region, tenae, trace _ id, trace _ id, request _ id, user _ id (www.ked), kv...»։

3. Լռելյայն հարաբերակցությունը 'գնացեք trace _ id gateway-ից դեպի backends և loga։

4. Առնվազն աղմուկ 'ճիշտ մակարդակներ, սեմպլինգ, կրկնօրինակներ։

5. By design: PII դիմակավորում, RBAC/ABAC, անփոփոխ։

6. Տնտեսությունը 'hot/warm/cold, սեղմումը, ագրեգացիան, TTL և rehydration։


3) Տիպիկ ճարտարապետություններ

EFK/ELK: (Fluent Bit/Fluentd/Filebeat) → (Kafka — опц.) → (Elasticsearch/OpenSearch) → (Kibana/OpenSearch Dashboards). Համընդհանուր որոնում և միավորում։

Loki-նման (log-ինդեքսավորում մետրերով): Promtail/Fluent Bit no Loki no Grafana։ Ավելի էժան է մեծ մետաղների համար, հզոր label ֆիլտրը + գծային դիտումը։

Ամպերը ՝ CloudWatch/Cloud Logging/Log Analytics + էքսպորտը սառը պահեստում (S3/GCS/ADIM) և/կամ SIEM-ում։

Systel Lake մոտեցումը 'shippers international օբյեկտի (parquet/iceberg) արտահայտվում է էժան վերլուծական (Athena/BigQuery/Spark) + առցանց շերտը (OpenSearch/Loki) վերջին N օրերի համար։

Առաջարկություն 'պարզ ուռուցքի համար պահել առցանց շերտը (7-14 օր hot) և արխիվային (ամիսներ/տարիներ) lake-ում rehydrate հնարավորությամբ։


4) Լոգերի սխեման և ձևաչափը (առաջարկություն)

Նվազագույն JSON ձևաչափը

json
{
"ts":"2025-11-01T13:45:12.345Z",
"level":"ERROR",
"service":"payments-api",
"env":"prod",
"region":"eu-central",
"tenant":"tr",
"trace_id":"0af7651916cd43dd8448eb211c80319c",
"span_id":"b7ad6b7169203331",
"request_id":"r-7f2c",
"user_id":"",        // masked
"route":"/v1/payments/charge",
"code":"PSP_TIMEOUT",
"latency_ms":1200,
"msg":"upstream PSP timeout",
"kv":{"provider":"psp-a","attempt":2,"timeout_ms":800}
}

Ստանդարտները ՝ RFC339 ժամանակի համար, level 'TRACE/DEBUG/VI/WARN/ERROR/FATAL ", բանալիներ delake _ cast-ում։


5) Տրամաբանության և սեմպլինգի մակարդակները

DEBUG - միայն dev/stage; դրոշի և TTL-ի հետ։

ԲԿՄԱ - հարցումների/իրադարձությունների կյանքի ցիկլը։

WARN-ը կասկածելի իրավիճակներ են առանց SLO-ի ազդեցության։

ERROR/FATAL-ը ազդում է հարցման/օգտագործողի վրա։

Սեմպլինգ

rate-limit կրկնվող սխալների համար (օրինակ, 1/վայրկյան/բանալին)։

tail-sempling trass (թողնել ամբողջական լոգեր/treiss միայն «վատ» հարցումների համար)։

դինամիկ, երբ սխալները փոթորկի մեջ են, նվազեցնել դետալիզացիան, պահպանել համախմբված։


6) Logs (105 և shippers)

Հանդիպման ժամանակ Fluent Bit/Delebeat/Promtail-ը հավաքում է stdout ֆայլեր/ջուրնալներ, անում են պարսինգ, դիմակավորում, բուֆերիզացիա։

Ցանցային գծերը ՝ Kafka/NATS, որպեսզի հարթեն գագաթները, ռելսերը և կարգադրությունները։

Տե՛ ս ՝ backpressure, սկավառակի օրինակներ, առաքումների հաստատումը (at-leport-once), idempotent ինդեքսները (բանալին-hash)։

Ֆիլտրը եզրին 'ճահճուտները և գաղտնիքները ցանցում մտնելուց առաջ։


7) Ինդեքսավորումը և պահպանումը

Ժամանակի կուսակցության (daily/weekly) + «env/region/ten.ru» (թվանշանների կամ պիտակների միջոցով)։

Պահեստային շերտերը

Hot (SSD, 3-14 օր) 'արագ որոնում և ալտերտեր։

Warm (HDD/սառնարան, 30-90 օր), երբեմն փնտրում ենք։

Cold/Archive (օբյեկտ, ամիսներ/տարիներ) 'կոմպլենսը և հազվագյուտ հետազոտությունները։

Սեղմումը և ռոտացիաները ՝ ILM/ISM (կյանքի ցիկլի քաղաքականություն), gzip/zstd, downsampling (ագրեգացիոն սեղաններ)։

Rehydration: Արխիվային կուսակցության ժամանակավոր բեռնումը «տաք» կլաստերի մեջ հետազոտության համար։


8) Որոնում և վերլուծություն 'տիպիկ հարցումներ

Պատահականություն 'ֆիլտրը ժամանակի բանաձևով =... "www.d' level> = ERROR 'trace _ id _ id/" request _ id"։

Պրովայդերներ ՝ «code: PMS _» և «kv»։ provider: pox-a '- տարածաշրջանի խմբով։

Աննոմալիա 'հաղորդագրությունների հաճախության աճը կամ դաշտերի բաշխման փոփոխությունը (ML դետեկտորներ, rule-based)։

Աուդիտ ՝ "category: audit '+" actor '/" resource' + արդյունքը։


9) Փոխկապակցումը մետրերի և հետքերի հետ

Նույն ցուցանիշները ՝ «trace _ id _ id» բոլոր երեք ազդանշաններում (metrics, logs, treiss)։

Գծապատկերներից ոսպնյակներ 'p99 վահանակից մինչև «trace _ id»։

Օրինագծերի նույնականացումները 'տարբերակներ/կանարեյներ մետրերում և լոգարաններում արագ ինտեգրման համար։


10) Անվտանգություն, PII և կոմպլենս

Դաշտերի դասակարգումը 'PII/գաղտնիքները/ֆինանսները' դիմակավորել կամ հեռացնել մուտքի վրա (Fluent Bit/Lua-ֆիլտրեր, Re2)։

RBAC/ABAC 'մուտք դեպի ինդեքսներ/պիտակներ դերերով, rows/field-level-2019։

Անփութություն (WORM/append-only) կարգավորողների պահանջների համար։

Ռենտենցիա և «մոռացման իրավունք» ՝ TTL/հեռացում բեկորների վրա, թունիզացիա «user _ id»։

Ստորագրություններ/հեշներ 'քննադատական ամսագրերի ամբողջականությունը (admin-գործողություններ, վճարումներ)։


11) SLO և metrics www.pline logs

Առաքում ՝ 99։ Իրադարձությունների 9 տոկոսը hot շերտում 30-60 վայրկյան է։

Կորուստները ՝ <0։ հատվածում 01 տոկոսը 24 ժամ է (ստուգման կետերով)։

Որոնման հասանելիությունը 3699 է։ 9 տոկոսը 28 օրվա ընթացքում։

Հարցումների լատենտ ՝ p95-2-5 վայրկյան տիպիկ ֆիլտրերի վրա։

Արժեքը ՝ դոլար/1M իրադարձություններ և դոլար/պահել/ԳԲ-ն շերտերի հատվածում։


12) Dashbords (նվազագույն)

Առողջություն. 108/շիպեր, գետեր, ածխաջրածիններ լցնելը, Kafka լագը։

Ծառայությունների/կոդերի սխալները 'առաջին N, միտումները, փոխանցեցին «latency _ 112»։

Աուդիտի ակտիվությունը 'admin-գործողություններ, պրովայդերական սխալներ, հասանելի։

Էկոնոմիկա 'ծավալ/օր, աճի ինդեքսը, շերտերի արժեքը, «թանկ» հարցումները։


13) Վիրահատություններ և պլեյբուսներ

Լոգարանների փոթորիկ 'ներառել ագրեսիվ սեմպլինգ/rate-limit գործակալությունում, բարձրացնել ածխաջրածինները, ժամանակավորապես փոխանցել հոսքի մի մասը warm-ում։

Սխեմայի դրեյֆը 'ալերտը նոր կոդերի/տեսակների հայտնվելուն, սխեմաների համակարգման արձակումը (schema-catalog)։

Դանդաղ որոնում 'ինդեքսների փոխպատվաստում, կրկնօրինակի ավելացում, «ծանր» հարցումների վերլուծություն, հին կուսակցությունների արխիվացում։

Անվտանգության դեպքը 'անփոփոխ, արտեֆակտների բեռնումը, դերերի հասանելիության սահմանափակումը, RCA-ն։


14) FinOps: Ինչպե՞ ս չփչանալ լոգարաններում

Հեռացրեք վերբեռնումը 'վերափոխեք բազմաշերտ stacktrace-ը «stack» դաշտում և սեմպլիզացրեք կրկնությունները։

Միացրեք TTL 'տարբեր «env »/« level »/« category» համար։

Օգտագործեք Loki/արխիվ + on-demand rehydrate հազվագյուտ հասանելիության համար։

Կուսակցությունը և սեղմումը 'մեծ կուսակցությունները ավելի էժան են, բայց հետևեք SLA որոնումներին։

Նյութականացրեք հաճախակի վերլուծական հաշվետվությունները (ամենօրյա ագրեգատները)։


15) Գործիքային օրինակներ

Fluent Bit (դիմակավորում և ուղարկում OpenSearch)

ini
[INPUT]
Name       tail
Path       /var/log/app/.log
Parser      json
Mem_Buf_Limit   256MB

[FILTER]
Name       modify
Match
Remove_key    credit_card, password

[OUTPUT]
Name       es
Host       opensearch.svc
Port       9200
Index       logs-${tag}-${date}
Logstash_Format  On
Suppress_Type_Name On

Nginx access log в JSON с trace_id

nginx log_format json escape=json '{ "ts":"$time_iso8601","remote":"$remote_addr",'
'"method":"$request_method","path":"$uri","status":$status,'
'"bytes":$body_bytes_sent,"ua":"$http_user_agent","trace_id":"$http_trace_id"}';
access_log /var/log/nginx/access.json json;

OpenSearch ILM քաղաքականությունը (hot warm nowarm)

json
{
"policy": {
"phases": {
"hot":  { "actions": { "rollover": { "max_age": "7d", "max_size": "50gb" } } },
"warm": { "min_age": "7d", "actions": { "forcemerge": { "max_num_segments": 1 } } },
"delete":{ "min_age": "90d", "actions": { "delete": {} } }
}
}
}

16)

  • Դաշտերի սխեմա և լոգարանների մակարդակներ; trace/request-id հարաբերակցությունը ներառում է։
  • Տրամադրված են (Fluent Bit/Promtail) դիմակով և բուֆերով։
  • Ընտրվել է առցանց շերտը (OpenSearch/Loki/ամպ) և արխիվը (S3/GCS + parquet)։
  • ILM/ISM + hot/warm/cold, rehydrate գործընթացը։
  • RBAC/ABAC, անփոփոխ ռուսական համար, հասանելիության ամսագիր։
  • Dashbords pline, alerts կորստի/lag/սկավառակի թողարկման համար։
  • Պլեյբուկին 'փոթորիկ, սխեմա, դանդաղ որոնում, պատահականություն։
  • Ֆինանսական լիմիտներ ՝ դոլար/1M իրադարձություններ, քվոտաներ «թանկ» հարցումների համար։

17) Anti-patterna

Տեքստային լույսերը առանց կառուցվածքի հնարավորություն են տալիս ֆիլտրել և համախմբել։

Հսկայական stacktrace-ը RF-ում ցույց է տալիս ծավալի պայթյուն։

Հարաբերակցության բացակայությունը կատարվում է «սթրեսը» բոլոր ծառայությունների վրա։

«Ամեն ինչ հավերժ է» պահելը ամպի պատճառով, ինչպես ինքնաթիռի համար։

Գաղտնիքները/PII-ի լոգարիթմներում պարունակում են համակարգչային ռիսկեր։

Ինդեքսների ձեռքով ուղղությունները վաճառում են dreaft-ը և որոնման երկար արագությունը։


18) Արդյունքը

Լոգարանների կենտրոնացումը համակարգն է, ոչ միայն աթոռը։ Ստանդարտացված սխեմա, հարաբերակցություն, անվտանգ բաճկոններ, հետպատերազմյան պահպանումը և հասանելիության խիստ քաղաքականությունը վերածում են Loges-ի հզոր գործիքի MSE-ի, անվտանգության և արտադրանքի համար։ Ճիշտ վերականգնումները և FinOps-ը պահպանում են բյուջեն, իսկ SLO-ն և պլեյբուսները արագ և վերարտադրելի հետազոտություններ են անում։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։