Cloud de Confiance by S3NS מספקת יכולות מתקדמות של מעקב, רישום ביומן ואבחון לאפליקציות Node.js.
ספריות הלקוח של Node.js מוגדרות לפליטת נתוני מעקב. כדי להשתמש במכשור, צריך להפעיל אותו באופן מפורש. במאמר הזה מוסבר על האותות הזמינים ואיך מפעילים אותם.
האותות הזמינים
ספריות הלקוח של Node.js מוגדרות ליצור את האותות הבאים:
INFOטווחים לכל בקשת לקוח לוגית. בדרך כלל, הפעלת method אחת ב-struct של הלקוח מקבלת יחידה לוגית למעקב כזה (לדוגמה, הפעלה שלaccessSecretVersionב-SecretManagerServiceClient).-
INFOspans לכל ניסיון RPC ברמה נמוכה. בדרך כלל, שיטה אחת במבנה הלקוח מקבלת טווח כזה, אבל יכול להיות שיהיו יותר אם הספרייה תצטרך לנסות שוב את ה-RPC.
הטווחים והיומנים האלה תואמים למוסכמות הסמנטיות של OpenTelemetry, עם מאפיינים נוספים שלCloud de Confiance by S3NS . גם הטווחים וגם היומנים צריכים להתאים למעקב בסביבת הייצור. האותות כוללים מאפייני OpenTelemetry סטנדרטיים (לדוגמה, http.response.status_code ו-rpc.system.name).
רשימה מלאה של מאפיינים סטנדרטיים מופיעה במוסכמות הסמנטיות של OpenTelemetry HTTP ו-gRPC.
הפעלת אותות טלמטריה
כדי להגן על מידע אישי רגיש, אותות הטלמטריה מושבתים כברירת מחדל.
ב-Node.js, צריך להגדיר את הלקוח כך שיפיק מעקבים וגם להגדיר מנויים ורכיבי ייצוא שישלחו את האותות האלה לשירות חיצוני.
כדי להגדיר את הלקוח, אפשר להגדיר את משתנה הסביבה הבא:
export GOOGLE_SDK_NODE_ENABLE_TRACING=true
כשמפעילים מעקב, ולאפליקציה יש טווח פעיל של OpenTelemetry בהקשר הנוכחי כשקוראים לשיטה של ספריית לקוח, ספריית הלקוח מקשרת באופן אוטומטי את הטווחים שלה כצאצאים של הטווח הפעיל.
ייצוא של נתוני מעקב
אחרי שמפעילים את הטלמטריה בספריות הלקוח, צריך להגדיר את האפליקציה כך שתאסוף את הנתונים האלה ותייצא אותם לשירות הניטור.
הוראות מפורטות להגדרת נתוני המתאם של מעקב OpenTelemetry מופיעות בדוגמה לתצפית במאגר Node.js.
כדי לייצא ל-OpenTelemetry את הטווחים של tracing שנוצרו על ידי ספריות הלקוח של Cloud de Confiance by S3NS , צריך להגדיר ספק מעקב וכלי לייצוא:
const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);
const provider = new NodeTracerProvider({
spanProcessors: [spanProcessor],
});
provider.register();