במאמר הזה מוסבר איך למצוא רשומות ביומן שניתבו מ-Cloud Logging אל נושאי Pub/Sub, וזה קורה כמעט בזמן אמת.
כשמנתבים רשומות ביומן לנושא Pub/Sub, שירות Logging מפרסם כל רשומה ביומן כהודעת Pub/Sub ברגע שהוא מקבל את הרשומה. רשומות ביומן שמועברות לניתוב זמינות בדרך כלל תוך שניות מרגע ההגעה שלהן ל-Logging, כאשר 99% מהרשומות ביומן זמינות תוך פחות מ-60 שניות.
לפני שמתחילים
הסבר על המושגים שקשורים לאובייקטים מסוג sink מופיע במאמר סקירה כללית על מודלים של ניתוב ואחסון: אובייקטים מסוג sink.
הוראות לגבי ניתוב רשומות ביומן מופיעות במאמר ניתוב יומנים ליעדים נתמכים.
צפייה ביומנים
כדי לראות את היומנים בזמן שהם מועברים בסטרימינג דרך Pub/Sub: פועלים לפי השלבים הבאים:
-
נכנסים לדף Topics במסוף Cloud de Confiance :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Pub/Sub.
מחפשים או יוצרים מינוי לנושא שמשמש את sink ביומן, ושולפים ממנו רשומה ביומן. יכול להיות שתצטרכו לחכות עד שיופיע רשומה חדשה ביומן.
ארגון היומנים
השדה data של כל הודעה הוא אובייקט LogEntry בקידוד Base64.
לדוגמה, אפליקציה רשומה ב-Pub/Sub עשויה לשלוף את האובייקט הבא מנושא שמקבל רשומות ביומן.
האובייקט שמוצג מכיל רשימה עם הודעה אחת, אבל יכול להיות שמערכת Pub/Sub תחזיר כמה הודעות אם יש כמה רשומות ביומן.
כדי שהדוגמה תהיה קלה יותר לקריאה, קיצרנו את הערך data (כ-600 תווים) ואת הערך ackId (כ-200 תווים):
{
"receivedMessages": [
{
"ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
"message": {
"data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
"attributes": {
"compute.googleapis.com/resource_type": "instance",
"compute.googleapis.com/resource_id": "123456"
},
"messageId": "43913662360"
}
}
]
}אם מפענחים את השדה data ומעצבים אותו, מקבלים את אובייקט LogEntry הבא:
{
"log": "helloworld.log",
"insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
"textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
"timestamp": "2015-04-15T18:40:56Z",
"labels": {
"compute.googleapis.com\/resource_type": "instance",
"compute.googleapis.com\/resource_id": "123456"
},
"severity": "WARNING"
}
}מגבלה
השדה LogEntry.errorGroups לא זמין ביעד הזה.
יעדי יומן מעבירים את רשומות היומן שנשלחות לפרויקט, אבל רשומות היומן האלה לא מכילות קבוצות שגיאות.
פתרון בעיות
אם נראה שחסרים רשומות ביומן ביעד של ה-sink, או אם יש לכם חשד אחר שה-sink לא מעביר את הרשומות ביומן כמו שצריך, כדאי לעיין במאמר פתרון בעיות שקשורות לניתוב יומנים.