Cloud Monitoring אוסף מדדים, אירועים ומטא-נתונים ממוצרי Google Cloud . בעזרת Cloud Monitoring, אפשר גם להגדיר מרכזי בקרה מותאמים אישית והתראות על שימוש.
במאמר הזה מוסבר איך להשתמש במדדים, איך להבין את לוח הבקרה של מדדים מותאמים אישית ואיך להגדיר התראות.
משאבים במעקב
משאב במעקב ב-Cloud Monitoring מייצג ישות לוגית או פיזית, כמו מכונה וירטואלית, מסד נתונים או אפליקציה. משאבים במעקב מכילים קבוצה ייחודית של מדדים שאפשר לבדוק, לדווח עליהם באמצעות מרכז בקרה או להשתמש בהם כדי ליצור התראות. לכל משאב יש גם קבוצה של תוויות משאבים, שהן צמדי מפתח/ערך שמכילים מידע נוסף על המשאב. תוויות משאבים זמינות לכל המדדים שמשויכים למשאב.
באמצעות Cloud Monitoring API, מתבצע מעקב אחר הביצועים של Firestore במצב Datastore באמצעות המשאבים הבאים:
| Resources | תיאור | מצב מסד נתונים נתמך |
firestore.googleapis.com/Database (מומלץ) | סוג המשאב במעקב שמספק פירוטים של project, location* ו-database_id . התווית database_id תהיה (default) למסדי נתונים שנוצרו ללא שם ספציפי. |
ההגדרה חלה על שני המצבים. |
datastore_request | סוג המשאב שבמעקב בפרויקטים של Datastore, ולא מספק פירוט של מסדי נתונים. |
מדדים
Firestore זמין בשני מצבים שונים: Firestore Native ו-Firestore במצב Datastore. כאן אפשר לראות השוואה בין התכונות של שני המצבים.
רשימה מלאה של מדדים ל-Firestore במצב Datastore מופיעה במאמר מדדים של Firestore במצב Datastore.
מדדים של זמן ריצה של שירות
המדדים serviceruntime מספקים סקירה כללית של תנועת הגולשים בפרויקט. המדדים האלה זמינים ברוב ממשקי ה-API של Google Cloud . סוג המשאב במעקב consumed_api מכיל את המדדים הנפוצים האלה. המדדים האלה נדגמים כל 30 דקות, ולכן הנתונים מוחלקים.
תווית משאב חשובה למדדים של serviceruntime היא method. התווית הזו מייצגת את שיטת ה-RPC הבסיסית שנקראת. יכול להיות שהשם של ה-method ב-SDK שאתם קוראים לה לא יהיה זהה לשם של ה-method הבסיסית של ה-RPC. הסיבה לכך היא ש-SDK מספק הפשטה של API ברמה גבוהה. עם זאת, כשמנסים להבין איך האפליקציה שלכם מתקשרת עם Firestore, חשוב להבין את המדדים על סמך השם של שיטת ה-RPC.
אם אתם רוצים לדעת מהי שיטת ה-RPC הבסיסית עבור שיטת SDK נתונה, תוכלו לעיין במאמרי העזרה של ה-API.
api/request_count
במדד הזה מוצג מספר הבקשות שהושלמו, לפי פרוטוקול(פרוטוקול הבקשה, כמו HTTP, gRPC וכו'), קוד תגובה (קוד תגובה HTTP), response_code_class (סיווג קוד התגובה, כמו 2xx, 4xx וכו') ו-grpc_status_code (קוד תגובה מספרי של gRPC). אפשר להשתמש במדד הזה כדי לראות את בקשת ה-API הכוללת ולחשב את שיעור השגיאות.
באיור 1 אפשר לראות בקשות שמחזירות קוד 2xx, מקובצות לפי שירות ושיטה. קודים מסוג 2xx הם קודי סטטוס HTTP שמציינים שהבקשה בוצעה בהצלחה.
באיור 2 אפשר לראות קומיטים שמקובצים לפי response_code. בדוגמה הזו, אנחנו רואים רק תגובות HTTP 200, מה שאומר שהמסד נתונים תקין.
אפשר להשתמש במדדי זמן הריצה של השירות הבאים כדי לעקוב אחרי מסד הנתונים.
api/request_count בסוג המשאב datastore_request
המדד api/request_count זמין גם בקטע datastore_requestסוג המשאב עם פירוטים של api_method ו-response_code. כדאי להשתמש במדד הזה במקום במדד הקודם כדי לנצל את תקופת הדגימה הקצרה יותר, שעוזרת לזהות עליות חדות.
api/request_latencies
המדד api/request_latencies מספק את התפלגות זמני התגובה בכל הבקשות שהושלמו.
Firestore מתעד מדדים מהרכיב Firestore Service. מדדי זמן האחזור כוללים את הזמן שחל מרגע ש-Firestore מקבל את הבקשה ועד לרגע ש-Firestore מסיים לשלוח את התשובה, כולל אינטראקציות עם שכבת האחסון. לכן, זמן האחזור הלוך ושוב (rtt) בין הלקוח לבין שירות Firestore לא נכלל במדדים האלה.
api/request_sizes ו-api/response_sizes
המדדים api/request_sizes ו-api/response_sizes מספקים תובנות לגבי גדלי המטען הייעודי (בבייטים). הם יכולים לעזור להבין עומסי עבודה של כתיבה ששולחים כמויות גדולות של נתונים או שאילתות רחבות מדי, ומחזירים מטען ייעודי גדול.
באיור 5 אפשר לראות מפת חום של גדלי התגובות לשיטה RunQuery.
אפשר לראות שהגדלים יציבים, החציון הוא 50 בייטים והטווח הכולל הוא בין 10 בייטים ל-100 בייטים. חשוב לזכור שגודלי מטען נמדדים תמיד בבייט לא דחוס, לא כולל תקורה של בקרת שידור.
מדדי פעולות של ישויות
המדדים האלה מספקים נתונים על גודל המטען הייעודי (payload) בבייטים לקריאות (חיפושים ושאילתות) ולכתיבות במסד נתונים של Firestore. הערכים מייצגים את הגודל הכולל של המטען הייעודי (payload). לדוגמה, כל התוצאות שמוחזרות על ידי שאילתה.
המדדים האלה דומים למדדים api/request_sizes ו-api/response_sizes, אבל ההבדל העיקרי הוא שהמדדים של פעולות על ישויות מספקים דגימה מפורטת יותר, אבל פירוטים פחות מפורטים.
לדוגמה, מדדי הפעולות של הישויות משתמשים במשאב datastore_request שבמעקב, ולכן אין פירוט של השירות או השיטה.
-
entity/read_sizes: התפלגות הגדלים של ישויות לקריאה, מקובצות לפי סוג. -
entity/write_sizes: התפלגות הגדלים של ישויות שנכתבו, מקובצות לפי פעולות.
מדדי אינדקס
אפשר להשוות בין שיעורי הכתיבה של האינדקס לבין document/write_ops_count המדד
כדי להבין את יחס הפיצול של האינדקס.
-
index/write_count: מספר הכתיבות לאינדקס.
באיור 7 אפשר לראות את ההבדל בין קצב הכתיבה לאינדקס לבין קצב הכתיבה של המסמך. בדוגמה הזו, לכל פעולת כתיבה של מסמך יש בערך 6 פעולות כתיבה של אינדקס, שזה שיעור פיצול קטן יחסית של האינדקס.
מדדי TTL
מדדי ה-TTL זמינים גם ל-Firestore Native וגם למסדי נתונים של Firestore במצב Datastore. בעזרת המדדים האלה אפשר לעקוב אחרי ההשפעה של מדיניות ה-TTL שנאכפת.
-
entity/ttl_deletion_count: המספר הכולל של הישויות שנמחקו על ידי שירותי ה-TTL.
entity/ttl_expiration_to_deletion_delays: הזמן שחלף בין המועד שבו פג תוקף של ישות עם TTL לבין המועד שבו היא נמחקה בפועל.אם אתם רואים שהעיכובים במחיקה של TTL נמשכים יותר מ-24 שעות, פנו לתמיכה.
מה השלב הבא
- איך משתמשים בלוח הבקרה של Cloud Monitoring כדי להציג מדדים