GH GambleHub

דגימת Multrace תצפית

1) מדוע ניתן להבחין

(O11y) משיב על שלוש שאלות: מה קורה, למה, איך לתקן את זה. זה מסתמך על 4 אותות:
  • Metrics (אגרגטים, להגיב במהירות);
  • יומנים (פרטים וזיהוי פלילי);
  • עקבות (יחסי סיבה-אפקט חיתוך צולב);
  • פרופילים (CPU/heap/lock contementation in prod mode).

מפתח: מתאם בין אותות + כלכלת טלמטריה (דגימה, שימור, דחיסה).

2) מפת אותות ועקרונות

2. 1 אדום/שימוש

שיעור (RPS), שגיאות (% 5xx/4xx חשוב), משך (p50/p95/p99).
שימוש (למשאבים): ניצול, רוויה, שגיאות (NIC, מעבד, דיסק, תורים).

2. 2 חומר אינווריאנטי

הגדר SLO (לדוגמה: ”p95 latency '/v1/תשלומים” 300 ms, תקציב שגוי 0. 5% בימים 30 ". התראות צריכות ”לצעוק” רק כאשר SLO מופר או נשרף.

2. 3 הקשר

יישום הקשר העקבות W3C (”traceparent”, ”tracestate”) ומטען להעברת תכונות אלו/עסקיות (למשל: "דייר", "אזור", בלי מח "ש).

3) ארכיטקטורת יכולת תצפית

SDK/אוטומטי: OpenTelemetry (OTEL) בשירותים [HTTP/gRPC/DB/לקוחות].
Otel Collector כאוטובוס: Celeption # Herichment # Disming = יצוא (פרומתאוס, טמפו/יגר, לוקי/ELK, ClickHouse).

כספות:
  • Metrics: Prometheus/Mimir/Bettmetrics;
  • שבילים: Tempo/Jager/Zipkin;
  • יומנים: Loki/ELK/Vector # S3 + deshevoye אחסון;
  • פרופילים: Pyroscope/Parca.
  • קורלציה: גרפי שירות, מופת, מעבר מגרף p99 לאיתור מסוים.

4) איתור דגימות: אסטרטגיות

4. דגימה מבוססת ראש 1

יישום פשוט וזול (ב ־ SDK/Ingress).
Cons: מאי לפספס טעויות נדירות/שאילתות איטיות.

כאשר: RPS גבוה, תקציבים קפדניים, נתח צפוי נדרש (לדוגמה, 1-5%).

4. 2 דגימה מבוססת זנב

ההחלטה מתקבלת ב ”אספן” אחרי סוף התקופה.
אנומליות יכולות להיות מובטחות לבחירה: שגיאות, p99, נתבים/דיירים ספציפיים.
חסרונות: חציצה, קשה יותר ויקר יותר.

כאשר יש צורך בשבילים ”משמעותיים” במחיר מתון.

4. 3 דגם משולב

ראש גלובלי 1-5%, בתוספת כללי זנב: ”תמיד לשמור שגיאות/מרווחים איטיים”, ”לדגום 50% מהתנועה הקנרית”, ”לשמור את כל העקבות של נתיבי תשלום בתקרית”.

5) דגימה דינמית ותקציב טלמטריה

מודעת לתקציב: Hold volume looked N trails/min; אם חרג, להעלות את הסף (למשל, לבחור רק p99. 5 +, שגיאה בלבד).
כללים לפי מסלול/דייר: נקודות קצה חשובות/דיירים - עם נתח גדול יותר.
חלונות הסתגלות: פרצים * מגבירים באופן זמני את קצב השגיאה/איטי.
הפחתת קרדינליות: נרמול סוכן משתמש, IP/ASN, עקבות מחסנית סקווש, סודות מסכה.

6) תצורות (אזכורים)

6. 1 אספן OpenTelemetry - דגימת זנב-זנב (מקטע yaml)

yaml receivers:
otlp: { protocols: { http: {}, grpc: {} } }

processors:
batch: { send_batch_size: 8192, timeout: 2s }
tail_sampling:
decision_wait: 5s num_traces: 100000 expected_new_traces_per_sec: 5000 policies:
- name: always-error type: status_code status_code: { status_codes: [ERROR] }
- name: slow-endpoints type: latency latency: { threshold_ms: 300 }      # p95 цель
- name: important-routes type: string_attribute string_attribute: { key: http. target, values: ["/v1/payments", "/v1/payouts"] }
- name: tenant-eu1 type: string_attribute string_attribute: { key: tenant, values: ["eu-1"] }
- name: probabilistic-default type: probabilistic probabilistic: { sampling_percentage: 5. 0 }

exporters:
otlphttp/tempo: { endpoint: http://tempo:4318 }
prometheus: { endpoint: "0. 0. 0. 0:9464" }

service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, tail_sampling]
exporters: [otlphttp/tempo]

6. 2 פרומתאוס - מופת (שבר) ‏

ביישום, בעת הקלטה של היסטוגרמות, הוסף מופת עם "trace _ id'. בגרפנה, קליקים על ”מחטים” מובילים לעקבות.

yaml scrape_configs:
- job_name: api scrape_interval: 10s honor_labels: true static_configs: [{ targets: ["api:9100"] }]
exemplar_limit: 10

6. 3 לוקי - הפחתת עלות היומנים

התוויות יציבות בלבד (”שירות”, ”env”, ”אזור”, ”מסלול _ מחלקה”).
קרדינליות גבוהה (request_id, user_id) - במטען, אבל עם עריכה.
דגימת מידע ”מוצלח”, שמור כל שגיאה/אזהרה.

6. 4 יגר/טמפו - שימור ואינדקס

לאחסן שבילים גולמיים במשך 3-7 ימים, צבירה/סימטריות לזמן ארוך יותר.
אפשר פרקט/בלוקים באחסון זול (S3 תואם), אינדקסים הם קומפקטיים.

7) איתור סימולציה

7. 1 שמות ותכונות

'service. שם, 'שירות. גרסה ”, פריסה”. סביבה ".
'http. שיטה ", http. מסלול ", http. המטרה ", http. status_code', "נטו. עמיתים. שם '.
תכונות עסקיות ללא PII: "דייר", "אזור", "תשלום _ ספק", "משחק _ id'.

7. 2 אירועים וחיבורים

אירועי ספאן: נקודות חשובות (תחילת העסקה DB, מגש מחדש, גלגל פתוח, מטמון מתגעגע).
קישורים: zapros # vebkhuk/sobytiye communication; שימושי עבור EDA ותיבת דואר אלקטרוני.

7. 3 מקרים

הוסף דוגמאות עם ”trace _ id” להיסטוגרמות latency/size: ניווט מ ־ ex trace אל עקבות מטריות בלחיצה אחת.

8) מטריצות: מה וכיצד

8. 1 טכני

אדום בדרך/דייר/ספק (PSP, KYC).
http _ client _ in _ flight, ”תור _ עומק”.
ייצוב: חזרות, פסקי זמן, מעגל פתוח/חצי פתוח, פגיעות מגבלות קצב.
Go/Java/Python Runtime: GC pauses, ערימה, נקודות ביטחון, עיכובי גיל.

8. 2 מדדים עסקיים

רישום/התחברות/מרבץ/מסקנות, המרה, כשלים 3DS/KYC, יחס שרצים.
תכונות חשובות: זמן לארנק, תשלום אחוזי הצלחה.

8. 3 קרדינליות ואחסון

היסטוגרמות עם דליים מפורשים (למשל: '[ 50 100 200 300 500 1000 2000 ] ms').
הימנע מסימנים בעלי קרדינליות גבוהה (user_id גלם, request_id) - קחו אותם אל היומנים/שבילים.

9) יומנים: סטנדרטים וקורלציה

פורמט: JSON + נדרש מפתחות (”חותמת זמן”, ”רמה”, ”הודעה”, ”trace _ id',” span _ id', ”service”, ”env”).
עריכה: מסכה פאן, אסימונים, מח "ש.

דגימה: 100% עבור ”שגיאה/אזהרה”, 5-20% עבור ”מידע” במסלולים ”רועשים”

קשירה לעקבות - באמצעות 'trace _ id'. מחרוזות רישום = ”ציר” כדי להתחקות ולהיפך.

10) פרופיל במכירות

אפשר פרופיל רציף (פירוסקופ/פארקה) עבור מעבד/היפ/אלוק/מנעולים.
פסגות Corlate p99 עם ערימות חמות; לשמור במשך 7-14 ימים.

11) התראה על SLO/תקציב פגום

SLO מתריע: ”תקציב שגוי מושקע מהר יותר מ X %/שעה” (התראות חזוי).
תסמינים, לא גורמים: התראה לרמת הלקוח (רום/קצה או לכל מסלול), לא למעבד.
חלונות מרובים, שיעור צריבה רב: 2% בשעה 1 ו-5% ב- 6 שעות - שני תנאים.
שתיקה בזמן הידרדרות מתוכננת: שינוי סף בדגלים/כנרית.

12) עלות ושמירה

מכסות נפח: שבילים שלמים N TB/חודש, יומנים - חם 3-7 ימים, קר S3 30-90 ימים, מדדים - ירידה (1 min _ 5 min _ 1 h).
חוקי הזנב מפחיתים את הנפח של x 10-× 100, שומרים על איטיות/שגויה.
אותות עלות נמוכה ביותר - מדדים; עם הערך הגבוה ביותר - ”נכון” שבילים ופרופילים.

13) תרופות אנטי ־ פטריות

”100% שבילים תמיד” = פיצוץ של עלות, רעש ובלמים.
יומנים בפורמט חופשי ללא מפתחות/מיסוך.
מדדי תווית אינסופיים (user_id/ip/full UA).
אין ”טרקפרנט ”/” מטען” - לא יכול להיות מתואם.
התראות על מעבד/ערימה במקום SLO - צ "אט" כוויות "ללא תועלת.
דגימת ”1% אקראי” ללא עדיפות שגיאה/איטיות - לאבד מקרים בעלי ערך.

14) דוגמאות של לוחות מחוונים (שלדים) ‏

API סקירה: RPS, שיעור שגיאה לפי רמה, latency p95/p99 (מופת ניתן לחיצה), נתבים עליונים.
שחרור/קנרית: השוואה של מדדי גירסה ישנים/חדשים, קצב חריג, מעגלים פתוחים, חוזר.

PSP/KYC: אחוזי הצלחה על ידי ספקים, איחור וכישלון,

אינפרה: שימוש על ידי משאבים, רווית תורים, טיפות רשת.

15) פרטים של iGaming/Finance

שבילים קריטיים (הפקדות/מסקנות): 100% איתור רק עבור אירועים או חלונות מוגבלים; במצב רגיל - זנב ”הכל עם טעות/איחור ארוך”.
אזור/דייר: הוסף ”דייר”, ”תחום שיפוט”, ”מותג” למטען; לבנות SLOs בתחום השיפוט.
מסנן אנטי-פרוד/בוט: מטריצות ועקבות של פתרונות סיכון API (אפשר/מכחיש/אתגר), אתגר-מעבר-קצב, מהירות-להיטים.
ביקורת/ציות: לשמור על המינימום הדרוש, ללא PII; רישומים קבועים במעגל נפרד.

16) רשימת מוכנות תומכת

[ ] התפשטות מקצה לקצה ("tracepart'," מטען "), מתאם רישום/מטרי/עקבות.
[ ] אוטל אספן עם דגימת זנב (שגיאות/איטיות/חשובות) + ברירת מחדל הסתברותית.
[ ] מדדי RED/USE, דליים מפורשים, מופת.
[ ] SLO והתראת תקציב שגויה (שני צירי זמן).
[ ] תקנות טלמטריה ותקציב; ירידה במדדים; אחסון קר ליומנים.
[ ] יומן JSON סטנדרטי, עריכה פיל/סודות.
[ ] פרופיל במכירות כולל; לוחות מחוונים של ערימות ”חמות” לאירוע.
[ ] לוחות מחוונים קנריים והשוואת גרסאות; שחרור ללא ”נקודות מתות”.
[ ] Runbook: כיצד להגדיל באופן זמני את נתח הדגימה של אירוע.
[ ] ייחוס/תווית שמות תיעוד ועיכוב קרדיאלי גבוה.

17) TL; DR

לבנות יכולת תצפית סביב קורלציה: RED/USE * exemplars metrics # trails * logs/profiles. ניהול עלות באמצעות דגימה משולבת: כללי ראש וזנב קטנים% + (שגיאות, מסלולים איטיים וחשובים/דיירים). התראות על תקציב SLO וטעויות. שמור על החזרות וקרדינליות תחת שליטה, השתמש באספן אוטל כ "מערכת עצבים מרכזית. "עבור תשלום/סמכויות שיפוט - טלמטריה עדיפות והיגיינת נתונים קפדנית.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.