원격 측정 및 이벤트 수집
1) 목적과 원칙
목표:- 분석, 사기 방지, RG, 규정 준수 및 ML을위한 단일 및 예측 가능한 이벤트 흐름.
- 종단 간 추적 (사용자/세션/요청/추적) 및 재현성.
- PII 최소화 및 개인 정보 보호 준수.
우선 스키마 우선, 디자인 별 개인 정보 보호, 기본적으로 demempotency, 기본적으로 관찰 가능성, 비용 인식.
2) 이벤트 분류
지불: '지불. 보증금 ',' 지불. 철회 ',' 지불. 요금 환급 '.
게임: '게임. 세션 _ 시작/중지 ',' 게임. 내기 ',' 게임. 지불 ',' 보너스. 적용되었습니다. '.
사용자 정의: '제작. 로그인', '프로필. 업데이트 ',' kyc. 상태 _ 변경 ',' rg. (PHP 3 = 3.0.6, P
수술실: 'api. ',' 오류를 요청하십시오. 예외 ',' 릴리스. ',' 기능을 배포합니다. 플래그 _ 변경 '.
준수: 'aml. 경고 _ 개방 ', 제재. 스크린 ',' dsar. 요청 '.
각 유형에는 도메인 소유자, 스키마 및 신선도 SLO가 있습니다.
3) 계획 및 계약
필요한 필드 (최소):- '이벤트 _ time' (UTC), '이벤트 _ 유형', '스키마 _ 버전', '이벤트 _ id' (UUI/ULID),
- 'trace _ id '/' span _ id', '요청 _ id', '사용자. pseudo _ id ',' section _ id ',
json
{
"event_id": "01HFY1S93R8X",
"event_time": "2025-11-01T18:45:12. 387Z",
"event_type": "game. bet",
"schema_version": "1. 4. 0",
"user": {"pseudo_id": "p-7a2e", "age_band": "25-34", "country": "EE"},
"session": {"id": "s-2233", "device_id": "d-9af0"},
"game": {"id": "G-BookOfX", "provider": "StudioA", "stake": {"value": 2. 00, "currency": "EUR"}},
"ctx": {"ip": "198. 51. 100. 10", "trace_id": "f4c2...", "request_id": "req-7f91"},
"labels": {"market": "EE", "affiliate": "A-77"}
}
체계의 진화: 의미 버전; 역 호환-널링 가능한 필드 추가; 파괴 - 이중 녹음 기간이있는 새 버전 ('/v2 ') 에서만 가능합니다.
4) 계측: 어디서 어떻게
4. 1 클라이언트 (웹/모바일/데스크톱)
로컬 버퍼 원격 측정 SDK, 배치 제출, 지수 배상.
자동 이벤트: 방문, 클릭, 블록 가시성, 웹 바이탈 (TTFB, LCP, CLS), JS 오류.
식별자: '장치 _ id' (안정적이지만 비공개), 'sesion _ id' (업데이트), '사용자. pseudo _ id '.
"노이즈" 로부터 보호: '이벤트 _ id', 스로틀 링, 클라이언트 측 샘플링에 의한 디드 업.
4. 서버/백엔드 2 개
로거/트레이서 래퍼 (OpenTelemetry) → 도메인 이벤트가 방출됩니다.
에지/게이트웨이에서 모든 다운 스트림 서비스까지 필수 던지기 'trace _ id'.
도메인 이벤트의 거래 게시를위한 전송 패턴.
4. 공급자/제 3 자
호스트 회로에 대한 정규화를 갖는 커넥터 (PSP/KYC/스튜디오); 버전 어댑터.
서명/페이로드 무결성 점검, 주변 로깅 (가장 많은 감사).
5) OpenTelemetry (OTel)
추적: 각 요청은 'trace _ id' 를받습니다. 'trace _ id '/' span _ id' 를 통해 로그/이벤트를 연결합니다.
로그: OTel 로그/변환기 사용; 환경 라벨 서비스. 이름 ',' 배포. env '.
메트릭: 서비스 별 RPS/대기 시간/오류율, 비즈니스 메트릭 (GGR, 변환).
수집기: 단일 영수증/버퍼/내보내기 Kafka/상태/그래픽. 스택.
6) 식별자 및 상관 관계
'이벤트 _ id' -독창성과 demmpotence.
'사용자. pseudo _ id '-안정적인 앨리어싱 (별도 매핑 및 제한).
엔드 투 엔드 분석에는 'setion _ id', '요청 _ id', 'trace _ id', '장치 _ id' 가 필요합니다.
API 게이트웨이 및 SDK 레벨에서의 ID 일관성.
7) 샘플링 및 볼륨 제어
규칙: 이벤트 당 유형, 시장당, 부하 별 동적 (적응 적).
정확하게 캡처 된 이벤트: 지불/준수/사건-샘플링되지 않음.
분석 이벤트: 디스플레이 케이스에 수정 가중치가있는 10-50% 가 허용됩니다.
서버 측 다운 샘플링: 고주파 메트릭에 유효합니다.
8) 개인 정보 보호 및 준수
PII 최소화: Tokenize PAN/IBAN/이메일; 섭취시 IP → 지오 코드/ASN.
지역화: 지역 섭취 엔드 포인트 (EEA/UK/BR) 로 보내십시오.
DSAR/RTBF: 선택적 투영 숨기기 지원; 법적 거래 로그.
보존 정책: 유형 별 타이밍 (분석이 짧고 규제가 더 길다); 법적 보류.
9) 운송 및 버퍼링
→ Edge 클라이언트: HTTPS (해/2/3), 'POST/원격 측정/배치' (최대 100 개 이벤트).
Edge → Tire: Kafka/Redpanda는 'user. pseudo _ id '/' tenant _ id '.
형식: JSON (가장 많이), Avro/Proto (버스), Parquet (호수).
신뢰성: 지터, DLQ, 독약 분리를 이용한 retrai.
json
{
"sdk": {"name":"igsdk-js","version":"2. 7. 1"},
"sent_at": "2025-11-01T18:45:12. 500Z",
"events": [ {... }, {... } ]
}
10) 신뢰성과 민첩성
클라이언트 생성 '이벤트 _ id' + '(이벤트 _ id, 소스)' 서버 할아버지.
스레드의 정확한 시맨틱 (keyed state + dedupe) 서비스에 대한 미리 보기.
키 내에서 주문: '사용자/세션' 으로 분할됩니다.
- 11) 원격 측정 품질 (TQ) 및 SLO
완전성: 99 이상. T. 당 중요한 유형 이벤트의 5%
신선도: 실버까지 p95 배송 지연이 15 분
정확성: 유효한 체계는 99 이상입니다. 9%, 낙하 율 <0. 1%.
추적 범위: 'trace _ id' 가있는 요청 비율은 98% 입니다.
비용/GB: 도메인 별 섭취/저장을위한 목표 예산.
12) 관찰 및 대시 보드
최소 위젯:- 소스 및 지역별로 가장 지연된 (p50/p95).
- 이벤트 유형 및 시장별로 완벽합니다.
- 대형 페이로드 체계의 검증 오류.
- SDK 버전 맵 및 레거시 클라이언트 비율.
- 웹-바이탈의 상관 관계 표현/실패.
13) 클라이언트 SDK 요구 사항
발자국, 오프라인 버퍼, 초기화 지연.
설정: 샘플링, 최대 배치 크기, 최대 대기열 연령, 개인 정보 보호 패션 (PII 없음).
보호: 패키지 서명/변조 방지, 주요 난독 화.
업데이트: 시끄러운 이벤트를 비활성화하는 기능 플
14) 가장자리 계층 및 보호
속도 제한, WAF, 스키마 유효성 검사, 압축 (ggip/ml).
클라이언트 당 토큰 버킷; 재생 방지 ('요청 _ id', TTL).
IP 및 UA 제거 → "원시" 페이로드 외부의 정규화/농축.
15) 데이터 파이프 라인과의 통합
청동: 돌이킬 수없는 원시 페이로드 (법의학 용).
은: 중복/농축이있는 정규화 된 테이블.
금: BI/AML/RG/제품의 케이스를 표시합니다.
사건과 보고서의 연계; 변환 버전.
16) 고객 품질 분석
조용한 고객 비율 (N 시간 내에 이벤트 없음).
"폭풍" (질량 중복/버스트) 의 이상.
버전 및 플랫폼별로 "레거시 SDK" 공유
17) 프로세스 및 RACI
R: 데이터 플랫폼 (가장 많은/버스/유효성 검사기), 앱 팀 (SDK 계측).
A: 데이터/아키텍처 책임자.
C: 준수/DPO (PII/보존), SRE (SLO/사건).
I: BI/마케팅/위험/제품.
18) 구현 로드맵
MVP (2-4 주):1. 6-8 유형의 이벤트 분류 v1 + JSON 스키마.
2. SDK (웹/안드로이드/iOS) 배 전용 샘플링; 가장자리 '/원격 측정/배치 '.
3. 카프카 + 브론즈 레이어; 기본 유효성 검사기 및 dedup.
4. 대시 보드 섭취 지연/완료, 드롭/유효성 검사기 경고.
2 단계 (4-8 주):- OTel Collector, 추적 상관 관계; 은 정규화 및 DQ 규칙.
- 지역 종점 (EEA/UK), 개인 정보 보호 패션, DSAR/RTBF 절차.
- SDK 버전 맵, 링별 자동 롤아웃 업데이트.
- 정확히 한 번 스트림, Feature Store 연결, 사기 방지 온라인 피드.
- 체계 및 검증자를위한 규칙 코드, 영향 분석.
- 가치 최적화: 적응 형 샘플링, 호수의 Z- 순서/클러스터링.
19) 출시 전 품질 점검표
- 필요한 스키마 필드 및 올바른 유형이 채워집니다.
- 'trace _ id '/' 요청 _ id '/' sesion _ id' 가 있습니다.
- SDK는 배치, 재 시도, 샘플링을 지원합니다.
- Edge는 구성표를 검증하고 페이로드 크기를 제한합니다.
- 개인 정보 보호 필터 및 민감한 필드의 토큰 화가 활성화됩니다.
- 구성 SLO/경고 및 대시 보드.
- 도메인 문서 (예: 이벤트, 소유자, SLA).
20) 빈번한 실수와 피하는 방법
체계가없는 원시 이벤트: 레지스트리 및 CI 검증을 입력하십시오.
demopotency 없음: '이벤트 _ id' 가 필요하고 중복 제거 창을 저장합니다.
PII 및 분석 믹스: 별도의 매핑, 마스크 필드.
추적 없음: 게이트웨이 → 서비스를 통한 경로 'trace _ id' → 이벤트.
관리되지 않는 볼륨-샘플링/트로 틀 링 및 예산 할당량을 사용하십시오.
지역이없는 글로벌 엔드 포인트-지역화 및 데이터 레지던트를 사용하십시오
21) 용어집 (브리핑)
OpenTelemetry (OTel) 는 트레일/메트릭/로그에 대한 공개 표준입니다.
미리 보기 - 도메인 이벤트의 거래 게시.
DLQ - "깨진" 메시지 대기열.
샘플링-볼륨 감소를위한 이벤트 중 일부를 선택합니다.
데이터 레지던시-원하는 관할 구역에 데이터를 저장합니
22) 결론
잘 설계된 원격 측정은 엄격한 체계, 합의 된 식별자, 기본 개인 정보 보호, 안정적인 전송, 관찰 가능성 및 비용 절감과 같은 "로그 전송" 뿐만 아니라 배열에 관한 것입니다. 이 기사를 따르면 예측 가능한 SLO를 통해 분석, 규정 준수 및 머신 러닝을 위해 꾸준한 이벤트 스트림을 준비합니다.