निगरानी और लॉगिंग
1) यह iGaming में क्यों मायने रखता है
वास्तविक समय में धन: जमा स्वीकार करना, तत्काल भुगतान करना, दांव और जीत की गणना करना, टूर्नामेंट - सब कुछ देरी और विफलताओं के प्रति संवेदनशील है।
नियामक और लेखा परीक्षा: कार्यों की पूर्ण ट्रेसबिलिटी की आवश्यकता होती है (केवाईसी/एएमएल, भुगतान, जिम्मेदार नाटक की सीमाएं)।
जटिल वितरित वास्तुकला: एपीआई गेटवे, भुगतान ऑर्केस्ट्रेशन, ईडीए/काफ्का, प्रदाता सेवाएं, मोबाइल क्लाइंट, मोर्चे, बीआई बस।
लक्ष्य: एमटीटीडी/एमटीटीआर को कम करने के लिए, सोने के संकेतों पर एसएलओ रखें और घटना दर प्रदान करें।
2) अवलोकन की बुनियादी अवधारणाएं
लॉग: विस्तृत घटनाएं (संरचित JSON) जांच और ऑडिट के लिए उपयुक्त हैं।
मेट्रिक्स: समय में कुल (टीएसडीबी), एसएलओ/अलर्ट के लिए उपयुक्त।
निशान: सेवाओं/दलालों/डेटाबेस के माध्यम से अनुरोधों (ट्रेस/स्पैन) के कारण और प्रभाव श्रृंखलाएं।
घटनाएं: डोमेन इवेंट्स (बेटप्लेस्ड, डिपॉजिटेड) - बिजनेस मैट्रिक्स और टेक्नोलॉजी के बीच एक सेतु।
3) "गोल्डन सिग्नल" और iGaming के लिए SLI/SLO
विलंबता: महत्वपूर्ण प्रवाह पर (प्राधिकरण, जमा, दर, सत्र प्रारंभ, स्पिन)।
ट्रैफिक: एपीआई द्वारा आरपीएस, भुगतान द्वारा टीपीएस, घटना द्वारा ईपीएस।
त्रुटियां: 5xx/4xx शेयर, गिरावट-दर, असफल-भीतर, प्रदाता त्रुटियां।
संतृप्ति: सीपीयू, मेमोरी, आईओ, काफ्का लैग, डीबी कनेक्शन, थ्रेड-पूल।
उदाहरण एसएलओ (भुगतान प्रवेश द्वार):- SLI: '1 - (failed_payments/ total_payments)'
- एसएलओ: 99। 30 दिनों में सफल कार्ड प्राधिकरण का 7% (त्रुटि बजट 0। 3%).
4) संग्रह और प्रसंस्करण वास्तुकला
1. इंजेक्शन: एजेंट (ओटेल कलेक्टर/फ्लेंट बिट), आवेदन में एसडीके, आरयूएम/सिंथेटिक्स।
2. रूटिंग: ब्रोकर/टेलीमेट्री बस (ओटीएलपी/एचटीटीपी/जीआरपीसी), फिल्टर और पीआईआई मास्किंग।
3. वाल्ट्स:- मेट्रिक्स: टीएसडीबी (एकत्रीकरण, डाउनसैम्पलिंग)।
- लॉग: गर्म (अनुक्रमित )/गर्म (कम अनुक्रमित )/ठंडा (वस्तु भंडारण, WORM)।
- ट्रेल्स: प्रतिधारण और पूंछ-नमूना के साथ समय-अनुक्रमित भंडारण।
- 4. एनालिटिक्स/अलर्ट: नियम (PromQL/LogQL/SQL), पटरियों और रिलीज के साथ सहसंबंध।
- 5. डैशबोर्ड: तकनीकी + व्यावसायिक प्रकार (भुगतान, आरएनजी/प्रदाता, टूर्नामेंट इंजन)।
5) लॉग स्टैंडर्ड (JSON) और इवेंट टैक्सोनॉमी
सख्त JSON लॉगिंग, एकल कुंजी और स्तर की सिफारिश की जाती है।
Уровни: 'DEBUG Таксономия: 'auth।', 'भुगतान।', 'गेमप्ले।', 'जोखिम।', 'psp।', 'kyc।', 'rg।' (जिम्मेदार गेमिंग), 'ऑप्स।' 6) सहसंबंध: trace_id, correlation_id, idempotency_key 'ट्रेस _ आईडी' (ओटीएल से), 'स्पैन _ आईडी', 'सहसंबंध _ आईडी' (व्यवसाय प्रक्रिया के लिए एंड-टू-एंड), 'idempotency _ key' (भुगतान अनुरोध के लिए) प्रत्येक लॉग और मीट्रिक में जोड़ें। स्लाइस बनाने के लिए स्थानांतरण सामान (किरायेदार/ब्रांड, बाजार, ए/बी विकल्प)। 7) मेट्रिक्स: तकनीकी और व्यवसाय तकनीकी: आरपीएस, पी 95 विलंबता, त्रुटि दर, संतृप्ति, जीसी, पूल उपयोग, काफ्का उपभोक्ता अंतराल। व्यवसाय: सीआर registratsii→depozit, सफल प्राधिकरण, भुगतान रद्द करना, एनजीआर/जीजीआर, एआरपीयू, आरटीपी विसंगतियां, केवाईसी कदम पर ड्रॉप-ऑफ, जिम्मेदार सीमाओं का हिस्सा। 8) ट्रेसिंग और ओपनटेलीमेट्री हम गेटवे, भुगतान ऑर्केस्ट्रेटर, गेम कोर, सूचनाएं, केवाईसी/एएमएल, प्रदाताओं के साथ एकीकरण का साधन बनाते हैं। त्रुटियों/अव्यक्त स्पैन और भुगतान के लिए कुल प्रवाह + पूंछ-नमूना (ऊंचा) के लिए सिर-नमूना। संदर्भ प्रसार: 'traceparent '/' tracestate', काफ्का हेडर, gRPC मेटाडेटा। डोमेन घटनाओं के साथ स्पैन की एनोटेटिंग: 'बेटप्लेस्ड', ' अनुरोधित'। 9) शोर के बिना सचेत करना मल्टी-स्टेज थ्रेसहोल्ड (चेतावनी/महत्वपूर्ण), फड़फड़ाना, डीडुप्लिकेशन, टाइम स्लॉट। सहसंबंध: हम "5xx वृद्धि" + "काफ्का लैग" + "p95 विलंबता PSP" - एक घटना को जोड़ ते हैं। SLO-आधारित अलर्ट: त्रुटि-बजट खर्च करें - आगे बढ़ें। अलर्ट-ए-कोड (GitOps), समीक्षा और नियम परीक्षण। 10) लॉग सर्च (उदाहरण LogQL) लक्ष्य जल्दी से शोर को खत्म करना और लक्ष्य क्षेत्र में "महंगी" विफलताओं को उजागर करना है। 11) डैशबोर्ड: क्या अनिवार्य है भुगतान स्वास्थ्य: पीएसपी द्वारा सफलता/विफलताएं, विधि द्वारा विलंबता, क्षेत्रों का नक्शा, एसएलए प्रदाता। गेम कोर: प्रदाताओं द्वारा RPS, p95 स्पिन, त्रुटि अनुपात SDK, स्लॉट द्वारा RTP विसंगतियाँ। खिलाड़ी यात्रा: registratsiya→KUS→depozit→igra→vyvod। इंफ्रा: काफ्का लैग, डीबी कनेक्शन, कैश हिट अनुपात, कुबर्नेट्स क्लस्टर (पॉड्स/नोड्स का ग्रिड)। 12) भंडारण, प्रतिधारण और लागत (FinOps) नियंत्रण में कार्डिनैलिटी: अत्यधिक परिवर्तनशील लेबल (user_id)। रिटेंशन: गर्म मैट्रिक्स 30-90 दिन, 13 महीने तक डाउनसैम्पलिंग; गर्म 7-14 दिन, गर्म 30-90 दिन, ठंड 1-3 साल (विनियमन को ध्यान में रखते हुए)। ऑडिट लॉग के लिए WORM/अपरिवर्तनीयता, ऑब्जेक्ट लॉक। संपीड़न/विभाजन और आईएलएम नीतियां; ऑडिट/पीआईआई-सुरक्षित के लिए अलग-अलग सूचकांक। जानकारी/DEBUG पर नमूना लॉग; त्रुटि/AUDIT - पूर्ण। 13) सुरक्षा और अनुपालन पीआईआई/पीसीआई: टोकन, हैशिंग, मास्किंग; डेटा को कम करना। RBAC/ABAC: लॉग/ट्रैक तक पहुंच - भूमिका द्वारा, awings का पृथक्करण। रहस्य और कुंजी: लॉग क्रेडेंशियल/टोकन न करें; सीआई पर गुप्त डिटेक्टर। ऑडिट ट्रेल: एडमिन पैनल में प्रविष्टियां, सीमा/भुगतान में परिवर्तन, मैनुअल बैलेंस समायोजन - केवल AUDIT इंडेक्स के लिए, हमेशा। कानूनी पकड़: जांच में ठंड प्रतिधारण के लिए एक तंत्र। 14) टेलीमेट्री डेटा गुणवत्ता लॉग/घटनाओं के लिए स्कीमा रजिस्ट्री (वर्शनिंग, संगतता)। क्षेत्रों का एकल नामकरण (snake_case, माप की इकाइयाँ)। इंजेक्शन पर मान्यता (गंदी घटनाओं की बूंद, विवाह मैट्रिक्स)। Backpressure और "लॉग तूफान" के खिलाफ सुरक्षा। 15) एसआरई प्रक्रियाएं, ऑनलाइन कॉल और रनबुक ऑन्कल मैट्रिक्स और वृद्धि; शांत घंटे और घूर्णन। रनबुक अलर्ट से बंधे होते हैं (नैदानिक चरण, SQL/LogQL व्यंजनों, गिरावट के लिए phicheflags)। दंड के बिना पोस्टमॉर्टम, मालिकों के साथ कार्रवाई की वस्तुएं और समय सीमा। टीम संकेतक: MTTD/MTTR, शोर अलर्ट का प्रतिशत, रनबुक कवरेज। 16) RUM और सिंथेटिक्स RUM: वेबविटल्स (LCP, CLS, INP), फ्रंट एरर, डिवाइस फिंगरप्रिंट, क्षेत्र/प्रदाता। सिंथेटिक्स: विभिन्न क्षेत्रों से परिदृश्य "registratsiya→depozit→spin→vyvod"; आंतरिक रास्तों (व्यवस्थापक/बैक ऑफिस) के लिए निजी स्थान। 17) रिलीज, प्रयोग और फिचफ्लैग की प्रथाएं हम ट्रैक को रिलीज संस्करणों (कमिट/आर्टिफैक्ट) से जोड़ ते हैं। सामान में ए/बी टैग → डैशबोर्ड "एसएलआई पर प्रयोग का प्रभाव"। कैनरी/ब्लू-ग्रीन: कैनरी के लिए अलग-अलग पैनल, त्रुटि-बजट बर्न दर। 18) विसंगति का पता लगाना और धोखाधड़ी विरोधी संकेत नए कार्डों की गिरावट-दर/चार्जबैक-जोखिम/वृद्धि पर सांख्यिकीय ट्रिगर (मौसमी-जागरूक)। सहसंबंध: "पीएसपी एडाप्टर की असफल जमा + नई रिलीज की वृद्धि।" वास्तविक समय की प्रतिक्रियाओं के लिए स्ट्रीमिंग नियम (काफ्का → फ्लिंक)। 19) कार्यान्वयन रोडमैप (चरण के अनुसार) चरण 0 - आधार: JSON लॉग, एकीकृत सहसंबंध क्षेत्र, बुनियादी सेवा मैट्रिक्स, सामान्य डैशबोर्ड, पहले अलर्ट। स्टेज 1 - ट्रेसिंग: ओटेल इंस्ट्रूमेंटेशन, हेड + टेल सैंपलिंग, लॉग से लिंक। स्टेज 2 - बिजनेस एसएलआई/एसएलओ: भुगतान/आउटपुट/गेम मैट्रिक्स, एसएलओ अलर्ट, त्रुटि-बजट प्रक्रियाएं। स्टेज 3 - परिपक्वता: अलर्ट-ए-कोड, आईएलएम, अलग-अलग प्रतिधारण, विसंगति-पहचान, प्रति-सेवा रनबुकी, सीआई/सीडी में एसआरई प्रथाओं। 20) चेकलिस्ट की समीक्षा करें परिशिष्ट ए: ओपनटेलीमेट्री विशेषताएँ (सिफारिश) 'service। नाम ',' सेवा। संस्करण ',' तैनाती। पर्यावरण ' 'क्लाउड। क्षेत्र ',' k8s। फली। नाम ',' k8s। कंटेनर। नाम ' 'किरायेदार', 'ब्रांड', 'बाजार', 'ab _ test', 'user _ segent' 'भुगतान। विधि ',' psp ',' गेम। प्रदाता ',' खेल। पहचान ' परिशिष्ट B: SLO के लिए मेट्रिक्स के उदाहरण 'पेमेंट _ सक्सेस _ रेशियो', 'विदड्रॉअल _ ttw _ p95' (टाइम-टू-वॉलेट), 'psp _ latency _ p99' 'गेम _ स्पिन _ लेटेंसी _ p95', 'प्रदाता _ त्रुटि _ दर', 'काफ्का _ उपभोक्ता _ लाग' 'auth _ emply _ ratio', 'kyc _ step _ dropout', 'cache _ hit _ ratio' परिशिष्ट सी: त्वरित जांच व्यंजनों "बढ़ते 'भुगतान _ त्रुटि _ दर' - PSP/क्षेत्र/विधि द्वारा तुलना करें, टेल-ट्रेल्स की जाँच करें, एडाप्टर रिलीज़ देखें। "p99 स्पिन ↑" ट्रेस →, front→geytvey→provayder चेक प्रदाता/चैनल, थ्रेड पूल लिमिट, नेटवर्क रीट्रे। "काफ्का लैग ↑" → स्वास्थ्य उपभोक्ता, रेट्रो उत्पादक, बैकप्रेशर, धीमी सिंक/डीबी।
पीआईआई/पीसीआई सुरक्षा नियम:
json
{
"ts": "2025-11-04T19:45:31. 842Z",
"lvl": "AUDIT",
"event_type": "payment. deposit_approved",
"correlation_id": "c-7d2c1f0b",
"trace_id": "2d6a9c0e4c0b1f72",
"span_id": "9f3a81d2a1c3b764",
"request_id": "r-8f12de9e",
"tenant": "brand_eu",
"psp": "acq_xyz",
"user_id_hash": "u:sha256:1e63…",
"device_id": "d-3c8f…",
"ip_trunc": "203. 0. 113. 0/24",
"amount_minor": 5000,
"currency": "EUR",
"result": "approved",
"latency_ms": 312,
"tags": ["pci_safe", "kyc_passed", "low_risk"],
"extra": {
"bin": "411111",
"method": "card",
"region": "EU",
"ab_test": "checkout_v2"
}
}
promql sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))yaml groups:
- name: payments rules:
- alert: PaymentErrorSpike expr: (sum(rate(payment_errors_total[5m])) / sum(rate(payment_attempts_total[5m]))) > 0. 02 for: 10m labels: { severity: "critical", team: "payments" }
annotations:
summary: "Payment errors> 2% per 10m"
runbook: "runbooks/payments/error-spike. md"logql
{app="psp-orchestrator", level=~"ERROR FATAL"}
= "decline"
json amount_minor > 10000 region="EU"