דגימת 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 וטעויות. שמור על החזרות וקרדינליות תחת שליטה, השתמש באספן אוטל כ "מערכת עצבים מרכזית. "עבור תשלום/סמכויות שיפוט - טלמטריה עדיפות והיגיינת נתונים קפדנית.