תחילת העבודה עם Genkit Monitoring

במדריך למתחילים הזה נסביר איך מגדירים את Firebase Genkit Monitoring בתכונות Genkit שנפרסו, כדי שתוכלו לאסוף ולצפות בנתוני טלמטריה בזמן אמת. בעזרת Firebase Genkit Monitoring תוכלו לראות איך התכונות של Genkit עובדות בסביבת הייצור.

בין היכולות העיקריות של Firebase Genkit Monitoring:

  • הצגת מדדים כמותיים כמו זמן האחזור של תכונות Genkit, שגיאות ושימוש באסימונים.
  • בדיקת עקבות כדי לראות את השלבים, הקלט והפלט של התכונה ב-Genkit, כדי לעזור בניפוי באגים ובשיפור האיכות.
  • ייצוא של נתוני מעקב בסביבת הייצור כדי להריץ הערכות ב-Genkit.

כדי להגדיר את Genkit Monitoring, צריך לבצע משימות גם בקוד וגם במסוף Google Cloud.

לפני שמתחילים

  1. אם עדיין לא עשיתם זאת, יוצרים פרויקט ב-Firebase.

    במסוף Firebase, לוחצים על Add a project (הוספת פרויקט) ופועלים לפי ההוראות במסך. אפשר ליצור פרויקט חדש או להוסיף שירותי Firebase לפרויקט קיים ב-Google Cloud.

  2. מוודאים שהפרויקט שלכם מוגדר לתוכנית התמחור Blaze.

    שירות Genkit Monitoring מבוסס על נתוני טלמטריה שנכתבים ב-Google Cloud Logging,‏ Metrics ו-Trace, שהם שירותים בתשלום. בדף תמחור של Google Cloud Observability מפורטים פרטי התמחור ומוסבר על המגבלות של הרמות ללא תשלום.

  3. כדי לכתוב תכונה ב-Genkit, פועלים לפי המדריך למתחילים ומכינים את הקוד לפריסה באמצעות אחד מהמדריכים הבאים:

    1. פריסה של תהליכים באמצעות Cloud Functions for Firebase
    2. פריסה של תהליכים באמצעות Cloud Run
    3. פריסה של תהליכים בכל פלטפורמת Node.js

שלב 1. הוספת הפלאגין של Firebase

מתקינים את הפלאגין @genkit-ai/firebase בפרויקט:

npm i save @genkit-ai/firebase

מייבאים את enableFirebaseTelemetry לקובץ התצורה של Genkit (הקובץ שבו מתבצע האתחול של genkit(...)) ומפעילים אותו:

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry();

שלב 2. מפעילים את ממשקי ה-API הנדרשים

מוודאים שממשקי ה-API הבאים מופעלים בפרויקט GCP:

ממשקי ה-API האלה אמורים להופיע במרכז הבקרה של ה-API של הפרויקט.

שלב 3. הגדרת ההרשאות

כדי לבצע אימות מול שירותי Google Cloud Logging, ‏ Metrics ו-Trace, הפלאגין של Firebase צריך להשתמש בחשבון שירות.

מקצים את התפקידים הבאים לחשבון השירות שמוגדר להריץ את הקוד במסוף IAM של Google Cloud. ב-Cloud Functions for Firebase ו/או ב-Cloud Run, זה בדרך כלל חשבון השירות המוגדר כברירת מחדל ל-Compute.

  • כתיבה של מדדי מעקב (roles/monitoring.metricWriter)
  • Cloud Trace Agent‏ (roles/cloudtrace.agent)
  • כתיבה ביומן (roles/logging.logWriter)

שלב 4. (אופציונלי) בדיקה של ההגדרות האישיות באופן מקומי

לפני הפריסה, אפשר להריץ את הקוד של Genkit באופן מקומי כדי לוודא שנתוני הטלמטריה נאספים וניתנים לצפייה במרכז הבקרה של Genkit Monitoring.

  1. בקוד של Genkit, מגדירים את forceDevExport כ-true כדי לשלוח נתוני טלמטריה מהסביבה המקומית.

  2. משתמשים בחשבון השירות כדי לאמת ולבדוק את ההגדרות.

    באמצעות הכלי Google Cloud CLI, מבצעים אימות באמצעות חשבון השירות:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
    
  3. מריצים את התכונה של Genkit ומפעילים אותה, ואז בודקים את המדדים בלוח הבקרה של מעקב Genkit. צריך להמתין עד 5 דקות כדי שהמערכת תאסוף את המדד הראשון. כדי לצמצם את העיכוב הזה, אפשר להגדיר את הערך metricExportIntervalMillis בתצורת הטלמטריה.

  4. אם המדדים לא מופיעים במרכז הבקרה של Genkit Monitoring, תוכלו לעיין במדריך פתרון בעיות כדי לקבל הוראות לניפוי באגים.

שלב 5. יצירה מחדש ופריסה של קוד

מפתחים מחדש, פורסים ומפעילים את התכונה של Genkit כדי להתחיל לאסוף נתונים. אחרי שהמדדים שלכם יתקבלו ב-Genkit Monitoring, תוכלו להציג אותם במרכז הבקרה של Genkit Monitoring.