מערכת הפעלה שמותאמת לקונטיינרים כוללת סוכן רישום ביומן שמייצא חלק מיומני המערכת והקונטיינרים אל Cloud Logging. עד גרסה 101 של מערכת הפעלה שמותאמת לקונטיינרים, תמונות של מערכת הפעלה שמותאמת לקונטיינרים שמבוססות על x86 השתמשו בסוכן רישום בקונטיינרים שמבוסס על fluentd. גרסה 105 של מערכת הפעלה שמותאמת לקונטיינרים התחילה לשלוח הטמעה חלופית של סוכן Logging, fluent-bit. החל מגרסה 109 של מערכת הפעלה שמותאמת לקונטיינרים, סוכן הרישום fluent-bit הוא ברירת המחדל. סוכן הרישום ביומן מדור קודם, fluentd, יוסר ב-מערכת הפעלה שמותאמת לקונטיינרים 113.
כל הגרסאות של קובצי אימג' של מערכת הפעלה שמותאמת לקונטיינרים מבוססי-Arm כוללות את סוכן הרישום fluent-bit.
הפעלת סוכן הרישום ביומן
סוכן רישום ביומן מושבת כברירת מחדל. אפשר להפעיל את התכונה הזו כשיוצרים מופע חדש או כשמעדכנים מופע קיים.
דרישות הגישה
ב-Cloud Logging יש תפקידים ב-IAM שאפשר להשתמש בהם כדי להעניק גישה מתאימה. כדי לראות את היומנים בפרויקט, צריך להיות לכם תפקיד roles/logging.viewer ולאפליקציות צריכה להיות הרשאה לכתוב יומנים. כדי להעניק את ההרשאה הזו, צריך להקצות לחשבון השירות את תפקיד IAM roles/logging.logWriter עבור אפליקציה.
מידע נוסף על הרשאות ותפקידים זמין במאמר בנושא תפקידים מוגדרים מראש.
יצירת מכונה עם סוכן רישום ביומן מופעל
המסוף
כדי להריץ מכונה של Compute Engine במערכת הפעלה שמותאמת לקונטיינרים עם סוכן רישום היומנים fluent-bit מופעל, מבצעים את הפעולות הבאות:
פותחים את הדף ליצירת מכונה של Compute Engine במסוף Cloud de Confiance .
מציינים שם למכונה.
בקטע דיסק אתחול, בוחרים תמונה של מערכת הפעלה שמותאמת לקונטיינרים.
לוחצים על Management, security, disks, networking, sole tenancy כדי להרחיב את האפשרויות הנוספות.
בכרטיסייה ניהול, גוללים לקטע מטא-נתונים. מוסיפים רשומה חדשה של מטא-נתונים, עם מפתח בתור
google-logging-enabledוערך בתורtrue.אפשר גם לציין אפשרויות אחרות לתרחיש השימוש. פרטים נוספים זמינים במאמר בנושא יצירה והגדרה של מופעים.
לוחצים על Create כדי ליצור את המכונה ולהפעיל אותה.
gcloud
כדי להריץ מכונת Compute Engine עם מערכת הפעלה שמותאמת לקונטיינרים כשהסוכן לרישום ביומן מופעל, משתמשים בפקודה gcloud compute instances create וכוללים את google-logging-enabled=true במטא-נתונים. לדוגמה:
gcloud compute instances create instance-name \
--image image-name \
--image-project cos-cloud \
--zone compute-zone \
--metadata google-logging-enabled=true
מחליפים את מה שכתוב בשדות הבאים:
- instance-name: השם של מופע ה-VM.
- image-name: השם של תמונת מערכת ההפעלה שמותאמת לקונטיינרים של המכונה. לדוגמה,
--image=cos-113-18244-85-29. - compute-zone: אזור המחשוב של המכונה.
מידע נוסף על הפקודה gcloud זמין במאמרי העזרה gcloud compute instances create.
לפרטים נוספים על יצירת מופעים של מערכת הפעלה שמותאמת לקונטיינרים, אפשר לעיין במאמר יצירה והגדרה של מופעים.
בחירת סוכן ה-Logging
קובצי אימג' של מערכת הפעלה שמותאמת לקונטיינרים מגרסאות 105 ו-109 שמבוססות על x86 כוללים שתי הטמעות של סוכן רישום ביומן: fluentd (גרסה מדור קודם) ו-fluent-bit.
ב-Container-Optimized OS 105 נעשה שימוש ב-fluentd כברירת מחדל, וב-Container-Optimized OS 109 נעשה שימוש ב-fluent-bit כברירת מחדל. אפשר להשתמש ברשומה של מטא-נתונים google-logging-use-fluentbit כדי לשנות את התנהגות ברירת המחדל.
כדי להשתמש בסוכן הרישום fluent-bit ב-מערכת הפעלה שמותאמת לקונטיינרים 105, צריך להגדיר את הערך google-logging-use-fluentbit ל-true.
כדי להשתמש בסוכן רישום ביומן fluentd ב-Container-Optimized OS 109, צריך להגדיר את הערך google-logging-use-fluentbit ל-false.
הפעלת סוכן הרישום ביומן במטא-נתונים של הפרויקט
החל מגרסה 97, אפשר להפעיל את הרישום ביומן במטא-נתונים של הפרויקט:
gcloud compute project-info add-metadata \
--metadata google-logging-enabled=true
יומני גישה
המסוף
נכנסים לדף VM instances.
לוחצים על השם של מופע מערכת הפעלה שמותאמת לקונטיינרים שרוצים לגשת ליומנים שלו.
בקטע Logs, לוחצים על Cloud Logging.
ייפתח הכלי Logs Explorer עבור המופע הנתון. מידע נוסף זמין במאמר שימוש ב-Logs Explorer.
gcloud
כדי לגשת ליומנים, משתמשים בפקודה gcloud logging read. לדוגמה:
gcloud logging read \
"resource.type=gce_instance AND resource.labels.instance_id=instance-id" \
--limit 10 \
--format json \
--freshness 30d
מחליפים את מה שכתוב בשדות הבאים:
- instance-id: המזהה של מופע ה-VM.
הפקודה הזו מנסה לקרוא יומנים מהמכונה הווירטואלית עם instance-id, ומגבילה את הקריאה ל-10 יומנים בפורמט JSON מ-30 הימים האחרונים.
מידע נוסף על הפקודה gcloud מופיע במאמר בנושא gcloud logging read.
איך זה עובד?
סוכן הרישום ביומן מוגדר כברירת מחדל לשליחת יומנים משירותים מסוימים שחיוניים למערכת וממאגרי אפליקציות של משתמשים אל העורף של Cloud Logging. לדוגמה, יומנים מקונטיינרים של Docker, שירותי systemd נבחרים, יומני ביקורת, שגיאות ביומן וכו'. למידע על הגדרות ברירת המחדל המלאות של רישום ביומן, אפשר לעיין במקור ההגדרות הספציפיות ל-מערכת הפעלה שמותאמת לקונטיינרים (תמונות x86 ותמונות Arm).
עבור קובצי אימג' של x86 של מערכת הפעלה שמותאמת לקונטיינרים 105 וגרסאות קודמות, סוכן ה-Logging הוא סוכן Logging מדור קודם של Google Cloud Observability שמופעל בקונטיינר. פקודת Docker שמפעילה את סוכן הרישום מוגדרת במקור של מערכת ההפעלה שמותאמת לקונטיינרים עבור שירות stackdriver-logging systemd. הגרסה של הסוכן שמופעל בקונטיינר מוגדרת ב-מערכת הפעלה שמותאמת לקונטיינרים, בספריית המקור app-admin/stackdriver.
במקרה של תמונות Arm בכל הגרסאות ותמונות x86 של מערכת הפעלה שמותאמת לקונטיינרים בגרסה 109 ואילך, סוכן הרישום הוא חבילת מערכת הפעלה מובנית שנקראת fluent-bit. הסוכן מוטמע במערכת ההפעלה ועובר עדכון יחד עם קובצי האימג' של מערכת ההפעלה.
מגבלות ידועות
תאימות לדרייבר gcplogs
החל מmilestone 89, אם סוכן Logging שכלול ב-מערכת הפעלה שמותאמת לקונטיינרים מופעל ומנהל ההתקן של רישום ביומן של Docker gcplogs מופעל עבור קונטיינר אחד או יותר, יכול להיות שסוכן Logging שכלול יפיק יומנים עם אזהרות מוגזמות. הפעולה הזו עלולה ליצור רעשי יומן או להגדיל את החיובים שקשורים ל-Cloud Logging.
פתרון עקיף הוא לא להשתמש ב-gcplogs כמנהל התקן לרישום ביומן של Docker, אלא להשתמש במנהל ההתקן שמוגדר כברירת מחדל על ידי מערכת הפעלה שמותאמת לקונטיינרים. שימו לב: סוכן Logging שכלול במערכת הפעלה שמותאמת לקונטיינרים ייצא יומנים של קונטיינרים אל Cloud Logging, כך שאין צורך להשתמש בשני הפתרונות בו-זמנית.
תאימות של הגדרות סוכן Logging
סוכן הרישום הוא קונטיינר מבוסס-fluentd בתמונות של מערכת הפעלה שמותאמת לקונטיינרים מבוססת-x86, וקובץ בינארי של fluent-bit בתמונות של מערכת הפעלה שמותאמת לקונטיינרים מבוססת-Arm. ההגדרות של שני הסוכנים לא תואמות. זו לא בעיה אם אתם מסתמכים רק על הגדרות ברירת המחדל של הרישום ביומן שמוטמעות בתמונות של מערכת ההפעלה. עם זאת, אם יש לכם הגדרת רישום מותאמת אישית, יכול להיות שתיתקלו בבעיות כשמעבירים עומסי עבודה לתמונות שמבוססות על ארכיטקטורה שונה או לגרסה חדשה יותר של מערכת הפעלה שמותאמת לקונטיינרים.
קובצי עזר
- מאמרי העזרה בנושא סוכן Logging מדור קודם של Google Cloud Observability. סוכן Logging בקונטיינרים שכלול במערכת הפעלה שמותאמת לקונטיינרים הוא קבוצת משנה של סוכן Logging מדור קודם, ולכן יכול להיות שהתיעוד הזה יספק הקשר לגבי הסוכן באופן כללי יותר, מחוץ להיקף של מערכת הפעלה שמותאמת לקונטיינרים.
- מאמרי העזרה של Google Cloud Observability. דף הבית של מסמכי Google Cloud Observability, שיכול להיות שימושי להקשר.