בדף הזה מוסבר איך לשלוח מדדים של gRPC בצד הלקוח אל Cloud Monitoring כשמשתמשים ב-gRPC כדי ליצור אינטראקציה עם Cloud Storage באמצעות אחד מהממשקים הנתמכים הבאים:
ספריית הלקוח של Cloud Storage Java, גרסה 2.41.0 ואילך
אפשר להשתמש במדדים בצד הלקוח כדי לעקוב אחרי הביצועים של אפליקציית הלקוח שמתקשרת עם Cloud Storage באמצעות gRPC. המדד בצד הלקוח שונה מהמדדים בצד השרת, שמספקים תובנות לגבי הביצועים של Cloud Storage מנקודת המבט של השרת.
איך זה עובד
כשמשתמשים ב-gRPC כדי ליצור אינטראקציה עם Cloud Storage באמצעות אחד מהממשקים הנתמכים, אפשר להפעיל את האפשרות לשליחת מדדים בצד הלקוח אל Cloud Monitoring.
תמחור
מדדים בצד הלקוח של 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 שאפשר להשתמש בהם כדי לעקוב אחרי הביצועים של לקוח 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 של האפליקציה.