הצגה, חיפוש וסינון של יומני בקשות האינטרנט של האתר שלך באמצעות Cloud Logging

אתם יכולים לקשר את פרויקט Firebase ל-Cloud Logging כדי להציג, לחפש ולסנן את יומני הבקשות לאינטרנט של כל אחד מהאתרים ב-Hosting. היומנים האלה מגיעים מ-CDN ש-Firebase מספקת באופן אוטומטי, כך שכל בקשה לאתר ונתוני הבקשה המשויכים מתועדים ביומן.

ריכזנו כאן כמה דברים שאפשר לעשות באמצעות יומני Cloud Logging. כדאי לעיין בכל אחד מהקטעים בדף הזה כדי לקבל פרטים נוספים.

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

  1. לוחצים על קישור בכרטיס השילוב של Cloud Logging במסוף Firebase.

    כדי לקשר או לבטל את הקישור של Cloud Logging, צריכות להיות לכם ההרשאות שכלולות באחת מהתפקידים הבאים: בעלים או עורך של פרויקט או אדמין פיתוח ב-Firebase.

  2. פועלים לפי ההוראות במסך כדי לבחור לאילו מהאתרים ב-Hosting יהיה צריך לייצא יומנים אל Cloud Logging.

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

אחרי הקישור אל Cloud Logging, בדרך כלל יומני הבקשות החדשות לאתרים שלכם ב-Hosting יופיעו תוך 30 דקות ממועד שליחת הבקשה.

אפשר גם לבטל את הקישור של Firebase Hosting ל-Cloud Logging, וכך להפסיק את הייצוא של יומני הבקשות מהאינטרנט אל Cloud Logging.

מעקב אחר השימוש בנתונים ביומני המערכת

אחרי הקישור אל Cloud Logging, תוכלו לראות את רמת השימוש בנתונים ביומני האתרים ב-Hosting:

הבנה טובה יותר של האתר

הממשק של Logs Viewer במסוף Google Cloud מספק כלים להצגת יומנים ונתונים ספציפיים באמצעות שאילתות, מסננים מובְנים ולוחות נתונים. מידע נוסף על סינון היומנים באמצעות שאילתות זמין בקטע הבא.

  • מה מקור התנועה לאתר שלכם ברמת פירוט גבוהה?
    אפשר לראות מידע על כל בקשה, כולל כתובת ה-IP של המקור, מקור ההפניה, העיר והסטטוס.

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

  • מהו הפירוט של הסטטוסים של בקשות ממשתמשי קצה?
    אפשר לראות את הסטטוס של כל בקשה ואפילו לאבחן בקשות שקיבלו שגיאות. אפשר לסנן את היומנים לפי Critical, ‏ Error או Warning.

  • כמה זמן חולף מהרגע שבו נשלחת בקשה לאתר עד שהאתר משיב לה?
    אפשר לראות את זמן האחזור של האתר לכל בקשה באמצעות הערך latency שנשמר בכל יומן.

  • האם האתר שלכם מנצל את האחסון במטמון של תוכן?
    כל יומן מכיל שדה cacheHit שמציין אם המשאב של האתר הוצג במהירות מהמטמון של ה-CDN של Hosting, או אם הוא נאלץ לעבור את כל המסלול לקצה העורפי של Hosting. כך תוכלו להפיק את המרב מ-CDN הגלובלי של Firebase ולשפר את הביצועים של האתר. לדוגמה, תוכלו להשתמש בנתונים כדי לשפר את הרגלי האחסון במטמון של הנכסים הסטטיים ושל התוכן הדינמי.

  • מהי התפלגות התנועה לדומיינים השונים שלכם?
    אם יש לכם כמה דומיינים או Hosting אתרים, תוכלו לסנן את היומנים לפי דומיין או לפי אתר. כך תוכלו לראות איך התנועה מתחלקת. כשמסננים לפי דומיין, אפשר לעקוב אחרי הדומיין שאליו נכנסים בתדירות הגבוהה ביותר.

סינון היומנים באמצעות שאילתות

במאמרים דוגמאות לשאילתות באמצעות Logs Viewer ויצירת שאילתות ביומן מוסבר איך לסנן את היומנים באמצעות שאילתות. בטבלה הבאה מתוארים השדות שזמינים לשאילתות האלה.

עבור Hosting, הנה כמה מסננים ראשוניים לשאילתה:

  • משאב (resource.type) – firebase_domain (Firebase Hosting Site Domain)
  • שם היומן (logName) – webrequests (Firebase Hosting)

לכל רשומה ביומן יש מבנה מוגדר מראש ושדות שניתן להריץ עליהם שאילתות (ראו LogEntry). ב-Hosting, חלק מהשדות הם סטנדרטיים לבקשת HTTP, אבל יש ערכים אחרים של שדות שמגיעים מהעיבוד ש-Hosting מפעיל בכל בקשה.

שדהתיאור
Firebase Hosting שומר את השדות הבאים באובייקט httpRequest של הרשומה ביומן.
השדות האלה מוגדרים במפרט ה-HTTP.
cacheHitהאם המשאב של התגובה היה במטמון של ה-CDN של Hosting
latencyמשך הבקשה, בשניות עם סיומת s (לדוגמה, 1.256s)
protocolהפרוטוקול שבו נעשה שימוש בבקשה (לדוגמה, HTTP/1.1,‏ HTTP/2, ‏ websocket)
refererהכתובת של דף האינטרנט הקודם שממנו בוצע מעבר לקישור לדף הנוכחי המבוקש (אם קיים)
remoteIpכתובת ה-IP של לקוח המקור של הבקשה
requestMethodשיטת הבקשה (GET,‏ POST,‏ PUT וכו')
requestSizeגודל הבקשה בבייטים
requestUrlכתובת ה-URL המלאה של הבקשה (לדוגמה,
https://foo.web.app/bar או https://custom.domain.com?query=param)
responseSizeגודל תגובת ה-HTTP בבייטים
serverIpnot populated
statusסטטוס התגובה של ה-HTTP (לדוגמה, 200 או 404)
userAgentכותרת סוכן המשתמש של הבקשה
Firebase Hosting שומר שדות נוספים באובייקט jsonPayload של הרשומה ביומן.
acceptEncoding(מבקשת ה-HTTP) איזה קידוד תוכן, בדרך כלל אלגוריתם דחיסה, הלקוח תומך בו (לדוגמה, gzip או compress)
billableהאם הפרויקט שלכם חויב על הבקשה או לא
customDomainאם הבקשה נשלחה לגבי דומיין מותאם אישית או לא
hostnameשם המארח שאליו נשלחה הבקשה
remoteIpCountryמדינת המקור של הבקשה
remoteIpCityהעיר שממנה נשלחה הבקשה

שימוש במדדים מבוססי-יומנים

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

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

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

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

Firebase Hosting יוצר גם את מדדי הרישום ביומן הבאים שספציפיים ל-Hosting. המדדים האלה לא ספציפיים לרשומה ביומן, אלא לאתר Hosting הספציפי בכללותו.

  • log_bytes: סך כל הבייטים של שימוש בנתונים בכל אתר

  • response_count: המספר הכולל של התשובות שנכתבו באתר

    המדד הזה כולל את השדה של סטטוס ה-HTTP, כך שאפשר להציג תשובות HTTP לפי סטטוס (לדוגמה).

ייצוא יומנים לכלים אחרים של Google Cloud

אפשר גם לייצא את היומנים של האתר לכלים אחרים של Google Cloud, כמו Cloud Monitoring או BigQuery. לדוגמה:

  • באמצעות Cloud Monitoring, אפשר ליצור מדדים שמבוססים על יומנים, שאפשר להשתמש בהם בתרשימים ובמדיניות התראות.

  • באמצעות BigQuery אפשר לבצע את הפעולות הבאות:

    • אתם יכולים להשתמש ב-Data Studio כדי ליצור מרכזי בקרה של נתוני Hosting.
    • מריצים שאילתות כדי לקבל תובנות נוספות על הבקשות (גודל התגובה הממוצע, היטים במטמון לעומת החמצות וכו').
    • לבדוק אילו כתובות URL המשתמשים מבקשים בפועל.
    • שילוב של נתוני Hosting עם נתונים אחרים של Firebase שייצאתם ל-BigQuery, ושליחת שאילתות לגבי הנתונים האלה בדרכים חדשות.