דניאל פרידקין · ראשי
חזרה לפרויקטים

ניטור / מודרניזציית מערכות ותיקות

מודרניזציית PHP ותיק ועקבות מבוזרות

הוספת distributed tracing ו-OpenTelemetry ליישום PHP 5.6 ותיק ללא שכתוב, באמצעות shim קל והזרקת trace בשכבת הקצה.

מודרניזציה ב-Production

תהליך tracing

נראות באמצעות traces ללא שכתוב מלא

שילוב ה-tracing מחבר בין הזרקה בשכבת הקצה, shim קל ביישום הוותיק וקישור traces ללוגים.

  1. הזרקה בשכבת הקצה

    שימוש בהזרקת OpenTelemetry מובנית ב-proxy.

    • Traefik
    • OpenTelemetry
  2. הוספת instrumentation ליישום

    הוספת tracing באמצעות shim של auto_prepend_file.

    • PHP 5.6
  3. קישור traces ולוגים

    חיבור נתוני trace ושדות נגזרים מלוגים לצורך תחקור.

    • Tempo
    • Loki

האתגר

מערכות PHP ותיקות זקוקות לנראות באמצעות traces ולנתיב מודרניזציה ללא הסיכון שבשכתוב מלא.

הגישה

שימוש ב-shim של auto_prepend_file, הזרקת OpenTelemetry מובנית ב-Traefik, Grafana Tempo ושדות נגזרים ב-Loki לקישור בין traces ללוגים, תוך תמיכה במעבר הדרגתי ל-Kubernetes לפי נתיב.

התפקיד שלי

שילוב tracing בקוד יישום ותיק, ניתוב קצה, לוגים ועבודת המעבר ל-Kubernetes.

החלטות הנדסיות

מודרניזציה הדרגתית

הוספת נראות באמצעות shim קטן בלי להפוך שכתוב מלא של PHP לתנאי מקדים.

תמיכה במעבר לפי נתיב

שימוש בקישור traces ולוגים בזמן המעבר ההדרגתי של המונולית ל-Kubernetes בדפוס strangler.

היקף העבודה

  • עקבות מבוזרות ב-PHP 5.6 ללא שכתוב.
  • הזרקת OpenTelemetry מובנית ב-Traefik בשכבת הקצה.
  • קישור traces בין Loki ל-Tempo באמצעות derived fields.
  • תמיכה במעבר מונולית ותיק ל-Kubernetes נתיב אחר נתיב בדפוס strangler.
הפרויקט הבאתפעול וניטור מסדי נתונים