באמצעות Cloud Trace תוכלו לנתח את ההתנהגות והביצועים של אפליקציות מבוססות-סוכנים שקוראות לשרתי MCP מרוחקים של Google Cloud. אתם יכולים להגדיר את האפליקציה כך שתתעד הנחיות, תשובות וקריאות לשיטות, בזמן ששרתי MCP מרוחקים יוצרים טווחים לקריאות לכלים. Trace מתעד את הפעולה מקצה לקצה כדי להציג רצפים של קריאות ואת זמן האחזור הכולל, בעוד ש-spans מספקים פרטים על הסטטוס והתזמון של פונקציות ספציפיות.
מידע על כלים
כלים מאפשרים לסוכן לאסוף מידע מחוץ לנתוני האימון שלו, בדרך כלל באמצעות אינטראקציה עם ממשקי API חיצוניים. בעזרת שרתי MCP של Google Cloud, אפליקציות מבוססות-סוכנים יכולות לקרוא לכלים שמפעילים Google Cloud שיטות API. לדוגמה, האפליקציה יכולה להפעיל את הכלי list_log_entries כדי לאחזר נתונים עדכניים מיומן.
Model Context Protocol (MCP) הוא מפרט שמגדיר דרך סטנדרטית לסוכני AI לתקשר עם כלים חיצוניים, מקורות נתונים ומשאבים, ולבצע איתם אינטראקציות. רשימה מלאה של מוצרים שמספקים שרת MCP וקישורים למסמכי העזר שלהם זמינה בדף 'מוצרים נתמכים'.
איך הקשר יומן מעקב מועבר לשרת MCP
בדפי העזרה של MCP, כמו המסמכים של list_log_entries, יש דוגמה לפקודה curl שאפשר להשתמש בה כדי לשלוח בקשות HTTP לכלי. מטען ה-JSON (payload) שנשלח בבקשה דומה לזה:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
}
},
"id": 1
}
הערך בשדה name הוא שם הכלי, כמו list_log_entries.
השדה arguments מכיל את המידע שנדרש כדי שהפעולה תשלים את הבקשה.
תקן ה-MCP מגדיר שדה _meta, שמאפשר ללקוחות ולשרתים לצרף מטא-נתונים לאינטראקציות שלהם. לקוחות ושרתים יכולים להשתמש בשדה הזה כדי להעביר את הקשר של המעקב:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
},
"_meta": {
"traceparent": "00-TRACE_ID-PARENT_SPAN_ID-SAMPLED_FLAG",
"tracestate": "Vendor specific information."
},
},
"id": 1
}
הנתונים של _meta כוללים את השדה traceparent. הפורמט של הערך בשדה הזה מוגדר על ידי traceparent header של World Wide Web Consortium (W3C). הערך כולל את:
- גרסה של מפרט
traceparent(00). - המזהה של המעקב (TRACE_ID).
- המזהה של טווח הזמן של השיחה (PARENT_SPAN_ID).
- האם הטווח שביצע את הקריאה דגם את הבקשה (SAMPLED_FLAG). הערך של השדה הזה הוא
01אם הבקשה נדגמה, ו-00אם היא לא נדגמה.
השדה tracestate מכיל מידע מעקב ספציפי לספק.
מגבלות
הקשר יומן המעקב צריך להיות בהתאם לתקן W3C Trace Context, וצריך להגדיר את הדגל
sampledלערך 1.שרתי MCP מרוחקים של Google Cloud יכולים ליצור טווח יחיד לפעולה
tools/call, אבל הם לא יוצרים טווחים לסוגים אחרים של פעולות או טווחי צאצא לפעולהtools/call.שרתי MCP מרוחקים של Google Cloud יוצרים טווח רק כשהבקשה מאומתת, מורשית ועוברת בדיקות פנימיות אחרות.
שרתי MCP שתומכים במעקב
בקטע הזה מפורטים שרתי ה-MCP Google Cloud ו-Google המרוחקים שתומכים במעקב. בנוסף, מוסבר בו איך שרתי MCP באירוח עצמי יכולים ליצור טווחים של מעקב.
שרתים באירוח עצמי
מומלץ להגדיר את שרתי ה-MCP המתארחים באופן עצמאי כך שישלחו נתוני טלמטריה לפרויקט Google Cloud שלכם.
אם משתמשים ב-Python, אפשר ליצור טווחים עבור פעולות tools/call באמצעות המכשיר. מידע נוסף זמין במאמר ביצוע אינסטרומנטציה לשרת MCP באירוח עצמי באמצעות OpenTelemetry.
שרתי Google ו- Google Cloud MCP מרוחקים שתומכים במעקב
המוצרים הבאים מכילים שילוב שמאפשר לשרת ה-MCP המרוחק שלהם ליצור טווח מעקב עבור פעולה מסוג tools/call:
הגדרת האפליקציה
אפשר להשתמש בכל framework או SDK שמעבירים את הקשר יומן המעקב באמצעות השדה _meta. מסגרות וערכות ה-SDK האלה כוללות את אלה שתומכות במוסכמות הסמנטיות של OpenTelemetry ל-MCP.
לדוגמה, אפשר להשתמש במסגרת של ערכה לפיתוח סוכנים (ADK). מידע נוסף מופיע במאמר ביצוע אינסטרומנטציה של אפליקציות ADK באמצעות OpenTelemetry.
הצגת טווחים
כדי לראות את נתוני העקבות, משתמשים בTrace Explorer. בדף הזה אפשר לראות מידע מצטבר על נתוני העקבות, ולעיין בעקבות ובטווחים ספציפיים. מידע נוסף זמין במאמר חיפוש של עקבות ועיון בהם.
כדי לראות את היחידות הלוגיות למעקב שנכתבו על ידי שרתי MCP, מסננים את נתוני המעקב לפי שם היחידה הלוגית למעקב. לדוגמה, חלק משרתי ה-MCP המרוחקים של Google Cloud יכולים ליצור יחידה לוגית למעקב כשמתקבלת פעולת tools/call. השמות של טווחי הזמן האלה נקבעים לפי המוסכמה הבאה:
tools/call NAME
בביטוי הקודם, NAME מתייחס לכלי שהופעל – לדוגמה, list_keys. מוסכמת השמות הזו מוגדרת במוסכמות הסמנטיות של OpenTelemetry עבור MCP.
כדי למצוא את טווחי הזמן האלה, משתמשים בסרגל הסינון ומוסיפים מסנן מאפיינים ל-mcp.method.name. מגדירים את ערך המסנן ל-tools/call. מידע מפורט על השלבים האלה זמין במאמר בנושא צפייה בקריאות לשרתי MCP מרוחקים.
דוגמאות של אינסטרומנטציה
המלצות להטמעה מפורטות במאמר בחירת גישה להטמעה.
הדוגמאות של שדרוג המידע שאנחנו מספקים משתמשות ב-OpenTelemetry:
דוגמאות לשימוש בייצוא מבוסס-איסוף:
הדוגמאות האלה שולחות נתוני מדדים ומעקב בפורמט OpenTelemetry Protocol (OTLP) לפרויקט שלכם באמצעות Telemetry API. בדוגמאות נעשה שימוש ב Google Cloud כלי לייצוא נתוני יומן.
במאמר מעבר מייצוא נתוני מעקב לנקודת הקצה של OTLP מוסבר איך להשתמש בייצוא ישיר של נתוני מעקב ולשלוח את הנתונים האלה ל-Telemetry API.
דוגמאות שמראות איך להגדיר אפליקציה מבוססת-סוכנים כדי לאסוף פרומפטים ותשובות זמינות במאמר איך להטמיע כלי מדידה באפליקציות מבוססות-AI גנרטיבי.