הפצת אותות ומדדים
(סעיף: מערכת אקולוגית ורשת)
1) מטרה ואזור
סיגנל והפצה מטרית היא דרך עקבית לאסוף, לנרמל ולהעביר טלמטריה (אירועים, מטריצות, רישומים, עקבות, סטטוסים בריאותיים) לכל המשתתפים המעוניינים: מפעילים, ספקי תוכן, שירותי תשלום/CCM, גשרים, צומתי רשת, משתייכים וצוותי SRE/BI/Complication. מטרות:- שפת טלמטריה מאוחדת וחוזי נתונים.
- ערוצי QOS מנוהלים: עדיפות לאותות קריטיים.
- SLI/SLO שקוף והתראה צפויה.
- פרטיות, בידוד ומדדי חיסכון בתקציב.
2) טקסונומיה אותות
1. אירועים עסקיים: עלייה למטוס, הפקדות/תשלומים, אירועי משחקים, ייחוס.
2. מדדים טכניים: Latency/breadput/event code, תור, CPU/RAM/IO.
3. יומנים: רישומים מובנים על פעולות ושגיאות.
4. עקבות: מרווח שאילתה/נושא, מתאם הופ-טו-הופ.
5. מצבי בריאות: גשושיות סינתטיות, מוכנות/לביאה, צמתים של פעימות לב.
6. אותות סיכון/ציות: KYC/KYB/AML, אירועי סנקציות.
לכל כיתה יש רמת ביקורת ומדיניות אחסון/משלוח משלה.
3) ארכיטקטורת הפצה (התייחסות)
אספני קצה (SDK/סוכנים) * Ingress (HTTP/OTLP/gRPC/QUIC) * Bus (קפקא/פולסר) # Processors (זרימה) # אחסון (TSDB עבור מטריצות, אובייקט/טור - עבור יומנים/אירועים, Tracer) # תצוגות/לוחות מחוונים/התראות.
ריבוי דירות: שם/דייר-id במפתחות, מכסה/גבולות/ACL.
מקטע QOS: קריטי (P0), חשוב (P1), רקע (P2).
Egress: מנויים (Ops/BI/Third-Part) באמצעות מנויים לנושאים ותצוגות ממשיות.
4) חוזים ותוכניות (אירועים/מדדים/שבילים)
4. 1 אירועים (מפושטים, YAML)
yaml event:
id: uuid kind: business ops risk ts: timestamp # ISO8601 tenant: string # org_id/namespace source: string # service/peer-id trace_id: string type: string # deposit. created payout. failed probe. ok...
attrs: object # semantic fields (no PII)
severity: info warn error critical qos: P0 P1 P2
4. 2 מטריצות (OpenMetrics/OTLP)
מד/נגד/היסטוגרמה עם תוויות יציבות (קרדינליות מוגבלת).
מזהים: "metric _ name {service, region, derant, version, route}.
היסטוגרמות עבור latency/ממדים במקום p99 בקוד.
4. 3 שבילים
שדות נדרשים הם "trace _ id'," span _ id', "hoter _ id'," service "," peer "," route "," qos ".
קישורים בין דומיין (צרכן/יצרן) לבין רשת אופס (ממסר/גשר).
5) QOS ותעדוף
P0 (קריטי): SLI תשלומים/תשלומים, bridge/node statuses, burn-rate SLO # משלוח קפדני (acks, retrics, idempotency), מינימום פסקי זמן.
P1 (חשוב): מאורעות מוצר/מדדי מפתח * מובטח משלוח בתוך SLO.
P2 (רקע): רישומים מפורטים, ניפוי באגים = המאמץ הטוב ביותר, אתה יכול לרדת כאשר עומס יתר.
פוליטיקאים: תורים שונים, מכסה ליצרנים, תרגיל גב, מגבלות דירוג, סבא על ידי ”idempotency _ key”.
6) תקציב חשמליות ומדדים
כלל 6 תוויות: לא יותר מ-6 מפתחות למטר, מילונים קבועים של ערכים.
Cardinality name 10k time series/metric/terenant.
דגימה: מבוסס ראש/זנב עבור עקבות; מנמיכים את ה-10 כ10m כ5m כ1h מדדים.
מכסות: גבולות של נקודות/שניות ובתים/שניות לכל אוהל ולכל שיעור QOS.
תרשימי לינטר: דוחה מדדים עם תוויות "מתפוצצות" (זיהוי, דוא "ל, ip וכו ').
7) לאסוף ולמסור: לדחוף נגד למשוך
Push (OTLP/StaffliD/HTTP): גמישות, לקוחות מובייל/אדג ', ערוצי P0.
תשתית פנימית, מטרות צפויות.
היברידי: יצואנים * gateway # TSDB; שריטות פדרליות לאזורים.
תחבורה: QUIC/HTTP/2, דחיסה, חבטות, TLS/mTLS, רטריי עם ג 'יטר.
8) SLI/SLO והתראה
8. 1 סלים בסיסיים
זמינות% נקודות קצה/שערים,
Latency p50/p95/p99 במסלולים קריטיים,
שגיאה-קצב (5xx/timeout/בטל),
פיגור משלוח באוטובוס, עומק תור,
רעננות של חלונות ראווה (inbullet _ לשרת עיכוב).
8. 2 דוגמאות SLO
צינורות P0: זמינות 99. 95%, p99 latency latency 400/emply, deliver lag p95 lother 2.
פ-1: זמינות ב-99. 9%, רעננות p95 3min.
P2: רעננות p95 על 15, ללא עמוד.
8. 3 התראות בקצב צריבה (דוגמה)
חלון זמן של שעתיים: ”שגיאה _ תקציב _ burn image 2 ×”.
חלון זמן של 6 שעות: ”שגיאה _ תקציב _ burn _ 1 ×” עמוד/הסלמה.
לשלב עם ”תור _ לאג” ו- ”drop _ rate” P0.
9) כספות וחזרות
מטרי TSDB: בתדירות גבוהה - 7-14 ימים; אגרגטים - 6-12 חודשים
אירועים/יומנים: אחסון חם 7-30 ימים, קור (אובייקט) 6-24 חודשים.
שבילים: דגימה 1-10%; חיסכון ”איטי/שגוי” משתרע (מבוסס זנב).
מדיניות מחיקה/תיקון עבור PII ובקשות נושא נתונים.
10) פרטיות, ביטחון ובידוד
מזעור PII: טוקניזציה/פסאודונימיזציה של שדות, איסור על זיהוי ”גולמי” במדדים.
חתימות MTLS/אירוע, מצמיד מפתח מפיק.
ACL/ABAC בנושאים/שירותים/דיירים, מפתחות נפרדים לכתיבה/קריאה.
ארגז חול של דייר: הפרדה לוגית/פיזית, גבולות והגבלת קצב לדייר.
שובל ביקורת: רישומים לא משתנים של גישה/שינויים לתצורות.
11) עיבוד נחלים (עבודות זרם)
העשרה: נורמליזציה, גיאו/גירסה/כיתת תנועה.
צבירה: חלונות 10/1m/5m, היסטוגרמות, סקיצות כמויות.
איתור: חריגות (EWMA/ESD), סחיפה של הפצות, התפרצויות תורים.
מסלול: מאוורר-אאוט לראווה/התראה/הוק שותפים.
שומר: ”כפתור אדום” - חנק/להרוג-מתג על ידי מקור/נושא.
12) לוחות מחוונים (פריסות התייחסות)
Ops Core (שעה/זמן אמת): p95 latency, latency-rate, liver lag, תור עומק, הצלחה-שיעור בליעה.
בריאות צינורות: רעננות לכל צינור, קצב ירידה, תרמיל גב, SLO שרפה קצב.
שימוש בדייר: שורות/שניות, בייטים/שניות, קרדינליות, תוויות עליונות.
אבטחה/ציות: מדינאות mTLS, מפתחות תפוגה, גישה, תיקוני מח "ש.
עדשה עסקית: המרה/תשלום/גשר SLIs ליד מדדים טכניים.
13) דוגמאות הגדרות
כיתות וגבולות QOS (YAML)
yaml telemetry:
qos:
P0:
topics: [payout. sli, bridge. finality, gateway. availability]
delivery: guaranteed retry:
attempts: 3 backoff_ms: [100, 400, 800]
max_queue_lag_ms: 2000
P1:
topics: [product. events, api. metrics]
delivery: at-least-once sampling: 1. 0
P2:
topics: [debug. logs, verbose. traces]
delivery: best-effort sampling: 0. 1 quotas:
tenant_default:
metrics_points_per_sec: 50_000 logs_mb_per_hour: 500 traces_spans_sampled_pct: 5
תוויות מטריות (פוליטיקה)
yaml metrics_policy:
allowed_labels: [service, route, code, region, tenant, version]
forbidden_labels: [user_id, email, ip, session_id]
max_label_value_count: 1000
התראות שרפה-קצב
yaml alerts:
- name: "p0_error_burn_2h"
expr: burn_rate_p0_2h > 2 action: [page_oncall, open_incident]
- name: "queue_lag_p0"
expr: queue_lag_ms_p95 > 2000 action: [page_oncall]
14) תרשימי נתונים ושאילתות
רישום מטרי (תיקייה)
sql
CREATE TABLE metric_catalog(
name TEXT PRIMARY KEY,
unit TEXT, description TEXT,
labels JSONB, owner TEXT, qos TEXT, sla JSONB
);
תורים ופיגור
sql
SELECT topic,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY lag_ms) AS lag_p95,
SUM(dropped) AS drops
FROM queue_metrics
WHERE ts >= now() - INTERVAL '24 hours'
GROUP BY topic;
קרדינליות אוהל
sql
SELECT tenant, metric_name, COUNT(DISTINCT series_id) AS series
FROM tsdb_series
WHERE day = current_date
GROUP BY tenant, metric_name
ORDER BY series DESC
LIMIT 50;
15) תהליכים ותפקידים
טלמטריה בעלים - מזימות/מדיניות/מכסות, בקרת קרדינליות.
SRE/Ops - SLO, התראות, תקריות, מדדים.
אבטחה/ציות - מפתחות, גישה, מח "ש, ביקורת.
מוצר/BI - תצוגות KPI, אנליטיקה, מדדי A/B.
דיירים (שותפים) - נכון אינטגרציה SDK, ציות חוזה.
16) תקריות משחק
פיצוץ של קרדינליות
1. יצרן/מטריצות בלוק אוטומטי, 2) לחתוך תוויות ”רעות”, 3) רטרו-צבירה, 4) לאחר המוות וחוקי לינטר.
ב. עליית התור לג P0
1. כלל עדיפות, 2) להרחיב צדדים/צרכנים, 3) להפחית באופן זמני דגימת P2, 4) ניתוח צוואר בקבוק.
סתיו החנויות הטריות
1. עבור לחיבור הגיבוי, 2) הפעל את מצב ההשפלה (”אחרון סופי”), 3) הודע לבעלי המקור.
דליפת מח "ש במדדים
1. חסימת זרימה מיידית, 2) redaction על שכבה חמה, 3) DPO/Complication Notion, 4) lenter/SDK עדכון.
שגיאות מסיביות 5xx/עקבות
1. דף, 2) דגימה מבוססת זנב עבור שגיאות, 3) אבחון עקבות מסלול קריטי, 4) לשחרר rollback/file flag.
17) רשימת מימושים
1. אישור חוזי אירוע/מטרי/עקבות ורשימת תוויות מקובלות.
2. צור שיעורי QOS, נושאים/תורים, מכסות ותקציב מדדים.
3. הגדרה פנימה (לדחוף/למשוך), TLS/mTLS, retrai ו idempotency.
4. כלול מדדים/תיקיות אירועים ושרטוטים.
5. הגדר SLI/SLO, התראות דרגת צריבה והסלמה.
6. לבנות לוחות מחוונים Ops/צינורות/דייר/אבטחה.
7. הרץ בדיקות כאוס טלמטריה (אובדן/עצבנות/הדבקה).
8. להחזיר באופן קבוע קרדינליות, אחסון ועלויות אחסון.
18) גלוסרי
QOS - שיעור איכות משלוח/עדיפות.
רעננות - עיכוב בהופעת הנתונים בתצוגה.
שיעור צריכת תקציב שרפה-שגיאה ביחס ל-SLO.
קרדינליות - מספר שורות המדדים הייחודיות (צירופי תוויות).
דגימה מבוססת זנב - מבחר עקבות ”איטי/שגוי”.
מפתח Idempotency - מפתח לשכפול חזרת אירועים.
שורה תחתונה: חלוקת אותות ומדדים אינה רק ”איסוף והצגת גרפים”, אלא גם משמעת של חוזים, ערוצי QOS ותקציבים. על ידי מעקב אחר מסגרת זו, המערכת האקולוגית משיגה יכולת תצפית צפויה, עמידה בפני נחשול, פרטית-נתונים ושימושית להחלטות הן בקווים התפעוליים והן בעסקים.