בדף הזה מוסבר איך לשלוח מדדים של gRPC בצד הלקוח אל Cloud Monitoring כשמשתמשים ב-gRPC כדי ליצור אינטראקציה עם Cloud Storage באמצעות אחד מהממשקים הנתמכים הבאים:
ספריית הלקוח של Cloud Storage Java, גרסה 2.41.0 ואילך
- מחבר Apache Beam ב-Dataflow, גרסה 2.2.26 ואילך
אפשר להשתמש במדדים בצד הלקוח כדי לעקוב אחרי הביצועים של אפליקציית הלקוח שמתקשרת עם Cloud Storage באמצעות gRPC. המדד בצד הלקוח שונה מהמדדים בצד השרת, שמספקים תובנות לגבי הביצועים של Cloud Storage מנקודת המבט של השרת.
איך זה עובד
כשמשתמשים ב-gRPC כדי ליצור אינטראקציה עם Cloud Storage באמצעות אחד מהממשקים הנתמכים, אפשר להפעיל את האפשרות לשליחת מדדים בצד הלקוח אל Cloud Monitoring. אתם יכולים להשתמש בכלי Metrics Explorer כדי לראות מדדים בצד הלקוח, וכך לעקוב אחרי האינטראקציות בין Cloud Storage לבין לקוח gRPC ולשפר אותן, לנהל את השימוש ולפתור בעיות טכניות וצווארי בקבוק בביצועים.
תמחור
מדדים בצד הלקוח של Cloud Storage לא כרוכים בתשלום, כלומר אתם יכולים לשלוח, לאחסן ולגשת למדדים בצד הלקוח של Cloud Storage בלי לשלם חיובים על Cloud Monitoring. למידע נוסף על תמחור, אפשר לעיין בתמחור של Google Cloud Observability.
לפני שמתחילים
כדי להשתמש במדדים בצד הלקוח, צריך קודם לבצע את השלבים הבאים:
מוודאים שספריית הלקוח או המחבר של Cloud Storage שרוצים להשתמש בהם תומכים ב-gRPC. ספריות הלקוח והמחברים הבאים של Cloud Storage תומכים ב-gRPC:
מפעילים את Cloud Monitoring API.
מפעילים את Cloud Storage API.
מגדירים את התפקידים וההרשאות הנדרשים כדי לשלוח מדדים בצד הלקוח.
התפקידים הנדרשים
כדי להגדיר את ההרשאות שדרושות לשליחת מדדים בצד הלקוח של gRPC אל Cloud Monitoring, צריך להקצות את תפקיד ה-IAM Monitoring Metric Writer (roles/monitoring.metricWriter) בחשבון השירות שבו משתמש הלקוח של gRPC.
התפקיד המוגדר מראש הזה מכיל את ההרשאות שנדרשות כדי לשלוח מדדים של לקוח gRPC לצד הלקוח אל Cloud Monitoring. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר לעיין בקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
monitoring.timeSeries.create
הרשאת ה-IAM הזו כלולה בתפקידים המוגדרים מראש הבאים ב-Cloud Storage:
- אדמין באחסון (
roles/storage.admin) - אדמין של אובייקטים באחסון (
roles/storage.objectAdmin) - משתמש באובייקטים באחסון (
roles/storage.objectUser)
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים. מידע נוסף על התפקיד Metric Writer ב-Monitoring זמין במאמר IAM documentation about roles/monitoring.metricWriter.
לתשומת ליבכם
אם אתם משתמשים ב-Cloud Storage connector ב-Dataproc, אתם צריכים להעניק את תפקיד IAM (
roles/monitoring.metricWriter) Monitoring Metric Writer לחשבון השירות של המכונה הווירטואלית (VM) ב-Dataproc.אם אתם משתמשים במחבר Apache Beam ב-Dataflow, אתם צריכים להעניק את תפקיד ה-IAM (
roles/monitoring.metricWriter) Monitoring Metric Writer לחשבון השירות של Dataflow worker.
הצגת מדדים ב-Metrics Explorer
כדי לראות את מדדי בצד הלקוח gRPC של Cloud Storage ב-Metrics Explorer, פועלים לפי ההוראות הבאות.
נכנסים לדף Metrics Explorer במסוף Google Cloud .
בוחרים את הפרויקט שרוצים לראות את המדדים שלו.
בתפריט הנפתח מדד, לוחצים על בחירת מדד.
בסרגל החיפוש Filter by resource or metric name (סינון לפי שם משאב או שם מדד), מזינים
storage.googleapis.com/Clientאו מחפשים את המדד שרוצים להחיל לפי שם המדד ולוחצים על Apply (החלה). כדי להוסיף יותר ממדד אחד, לוחצים על הוספת שאילתה.המדדים מוחלים על הפרויקט ב-Cloud Storage. אפשר לסנן או לצבור את המדדים באמצעות התפריטים הנפתחים הבאים:
כדי לבחור ולהציג קבוצת משנה של הנתונים על סמך קריטריונים שצוינו, משתמשים בתפריט הנפתח Filter.
כדי לשלב כמה נקודות נתונים לערך אחד ולראות תצוגה מסוכמת של המדדים, משתמשים בתפריט הנפתח צבירה.
צריך להפעיל את האפליקציה למשך דקה לפחות לפני שבודקים אם יש מדדים שפורסמו.
כדי לראות את המדדים שהוספתם לפרויקט באמצעות מרכז בקרה, אפשר לעיין במאמר סקירה כללית של מרכזי בקרה.
תיאורי המדדים
בקטעים הבאים מפורטים מדדים בצד הלקוח של Cloud Storage שאפשר להשתמש בהם כדי לעקוב אחרי הביצועים של לקוח gRPC.
מדדים של לקוח לכל ניסיון
המדדים הבאים אוספים נתוני ביצועים לגבי ניסיונות בודדים של לקוח לתקשר עם שרת. מדדים של לקוח לכל ניסיון יכולים לעזור לכם למדוד את התנהגות הניסיון החוזר, צווארי בקבוק ולבצע אופטימיזציה של התקשורת בין לקוח לשרת.
| מדד מלא | תיאור | סוג אמצעי התשלום | יחידה | מאפיינים |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview. המספר הכולל של ניסיונות RPC שהתחילו, כולל אלה שלא הושלמו. |
הצעה נגדית | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview. הזמן הכולל שנדרש להשלמת ניסיון של RPC, כולל הזמן שנדרש לבחירת ערוץ משנה. |
היסטוגרמה | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview. המספר הכולל של הבייטים, דחוסים אבל לא מוצפנים, שנשלחים בכל הודעות הבקשה, למעט מטא-נתונים לכל ניסיון RPC. הנתון הזה לא כולל gRPC או בייטים של מסגור העברה. |
היסטוגרמה | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview. המספר הכולל של הבייטים, דחוסים אבל לא מוצפנים, שמתקבלים בכל הודעות התגובה, למעט מטא-נתונים לכל ניסיון RPC. הנתון הזה לא כולל gRPC או בייטים של מסגור העברה. |
היסטוגרמה | By |
|
מידע נוסף על מכשירים לכל ניסיון של לקוח זמין במאמרי העזרה בנושא מדדים של OpenTelemetry ב-GitHub.
מדדים לכל שיחה בצד הלקוח
המדדים הבאים מספקים תצוגה מצטברת של מחזור החיים המלא של קריאת לקוח לשרת. מדדים ברמת הלקוח לכל שיחה מספקים נתונים ברמה גבוהה על שיחות של לקוחות, מדדי מעקב להבנת דפוסי שיחות ועוזרים לזהות תדירויות בשגיאות.
| מדד מלא | תיאור | סוג אמצעי התשלום | יחידה | מאפיינים |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview. מדד שמודד את הזמן מקצה לקצה שלוקח לספריית gRPC להשלים RPC מנקודת המבט של האפליקציה. |
היסטוגרמה | s |
|
מידע נוסף על מכשירים לכל קריאה של לקוח זמין במאמרי העזרה בנושא מדדים של OpenTelemetry ב-GitHub.
בקשה לקבלת מדדים של חישת עומס
המדדים הבאים מספקים תובנות לגבי היעילות של השימוש באפליקציית הלקוח בזיהוי עומס בקשות. מדדים של חישת עומס הבקשות יכולים לעזור לכם לאזן את עומסי השרתים, לבצע אופטימיזציה של ניצול המשאבים ולשפר את זמני התגובה של הלקוחות. המדדים הבאים זמינים רק עם קישוריות ישירה.
| מדד מלא | תיאור | סוג אמצעי התשלום | יחידה | מאפיינים |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview. מספר הרשומות במטמון של חישת עומס הבקשות. |
מד | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview. הגודל הנוכחי של מטמון החישה של עומס הבקשה. |
מד | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview. מספר הבחירות של מאזן העומסים (LB) שנשלחו ליעד ברירת המחדל. |
הצעה נגדית | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview. מספר הבחירות של LB שנשלחו לכל יעד לחישת עומס הבקשות. אם יעד ברירת המחדל מוחזר גם על ידי השרת לחישת עומס הבקשות, בקשות RPC שנשלחות ליעד הזה מהמטמון נספרות במדד הזה, ולא במדד grpc.rls.default_target_picks. |
הצעה נגדית | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview. מספר הבחירות של איזון העומסים שנכשלו בגלל
בקשת חישה של עומס בקשה שנכשלה או בגלל שהערוץ של חישת עומס הבקשה
הוגבל. |
הצעה נגדית | {pick} |
|
מדדים של לקוח שירות xDiscovery
המדדים הבאים מספקים תובנות לגבי האינטראקציה של אפליקציית הלקוח עם מישור הבקרה של xDiscovery Service (xDS) כדי לגלות ולהגדיר חיבורים לשירותי קצה עורפיים. מדדי xDS יכולים לעזור לכם לעקוב אחרי זמן האחזור של בקשות שירות, לעקוב אחרי עדכוני הגדרות ולבצע אופטימיזציה של הביצועים הכוללים של xDS.
המדדים הבאים זמינים רק בקישוריות ישירה.
| מדד מלא | תיאור | סוג אמצעי התשלום | יחידה | מאפיינים |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview. בודק אם ללקוח xDS יש זרם ADS פעיל לשרת xDS. עבור שרת נתון, המדד הזה מוגדר כ-1 כשיוצרים את מקור הנתונים. אם יש כשל בקישוריות או אם הסטרימינג של ADS נכשל בלי שמוצגת הודעת תגובה כמו שמתואר בA57, ערך המדד מוגדר כ0. אחרי שהערך מוגדר ל-0, המדד יאופס ל-1 כשהתשובה הראשונה תתקבל בזרם ADS. המדד הזה זמין רק בספריות לקוח של Cloud ל-C++. |
מד | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview. מספר המשאבים שהתקבלו ונחשבו לא תקינים. המדד הזה זמין רק בספריות לקוח של Cloud ל-C++. |
הצעה נגדית | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview. מספר המשאבים שהתקבלו ונחשבו לתקינים, גם אם לא בוצע בהם שינוי.
המדד הזה זמין רק בספריות לקוח של Cloud ל-C++. |
הצעה נגדית | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview. מספר משאבי ה-xDS. המדד הזה זמין רק בספריות לקוח של Cloud ל-C++. |
מד | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview. מספר שרתי ה-xDS שכבר לא פועלים בצורה תקינה, והפכו ללא זמינים, עמוסים מדי או מספקים נתוני הגדרה שגויים או לא חוקיים. המדד הזה זמין רק בספריות לקוח של Cloud ל-C++. |
הצעה נגדית | {failure} |
|
מידע נוסף על מדדי לקוח xDS זמין במאמר בנושא איזון עומסים גלובלי מבוסס xDS ב-GitHub.
ביטול ההסכמה למדדים בצד הלקוח
אם צריך, אפשר להשבית את המדדים בצד הלקוח.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
מידע נוסף זמין במאמר בנושא שיטת המחלקה GrpcStorageOptions.Builder של ספריות לקוח של Cloud ל-Java למדדים של לקוח gRPC.
C++
כדי להשבית את המדדים בצד הלקוח עבור gRPC API באמצעות ספריות לקוח ב-Cloud ל-C++, אפשר לעיין במאמר Struct EnableGrpcMetricsOption.
אם אתם משתמשים ב-Bazel כדי ליצור את האפליקציה ורוצים להשבית את המדדים בצד הלקוח, צריך להגדיר את האפשרות enable_grpc_metrics לערך false בקובץ ה-build של האפליקציה.