צפייה ביומני GKE

בדף הזה מוסבר איך למצוא את היומנים של Google Kubernetes Engine ‏ (GKE) ולהשתמש בהם.

גישה ליומנים

יש הרבה דרכים לגשת ליומנים של GKE:

  • אפשר לצפות ביומנים במסוף Google Cloud מהדפים הבאים:

    • Kubernetes Engine:

      • בוחרים אשכול בדף Clusters (אשכולות) ואז בוחרים בכרטיסייה Logs (יומנים). בכרטיסייה הזו מוצגות גם הצעות לשאילתות ליומני האשכול.
      • בוחרים עומס עבודה בדף Workloads. אחר כך אפשר ללחוץ על הקישורים Container logs (יומני מאגר תגים) או Audit logs (יומני ביקורת) בכרטיסייה Overview (סקירה כללית) כדי לראות את היומנים ב-Logs Explorer, או לבחור בכרטיסייה Logs (יומנים) כדי לראות את היומנים בהקשר.
      • פרטים על עומסי העבודה של AI/ML מופיעים בקטע AI/ML.
    • Logging: בוחרים באפשרות Logs Explorer, ואז משתמשים במסנני יומנים כדי לבחור את משאבי Kubernetes, כמו יומני אשכול, צומת, מרחב שמות, פוד או קונטיינר. כדי לראות דוגמאות לשאילתות שיעזרו לכם להתחיל, אפשר לעיין בשאילתות שקשורות ל-Kubernetes.

    • מעקב: בלוחות הבקרה של GKE מוצגים מדדים ויומנים של משאבי GKE כמו אשכולות, צמתים ו-Pods. מידע נוסף מופיע במאמר הצגת מדדי יכולת התבוננות.

  • מ-Google Cloud CLI: אפשר לשלוח שאילתות ליומנים מאשכולות, מצמתים, מתרמילים ומקונטיינרים באמצעות הפקודה gcloud logging read.

כדי לבצע צבירה של יומנים בהתאמה אישית, ניתוח של יומנים או שילוב עם מערכות של צד שלישי, אפשר גם להשתמש בתכונה 'יעדי ניקוז יומנים' כדי לייצא יומנים ל-BigQuery, ל-Cloud Storage ול-Pub/Sub.

הסבר על רישומי היומן

יומן ב-Cloud Logging הוא אוסף של רשומות ביומן, וכל רשומה ביומן חלה על סוג מסוים של משאב לרישום ביומן.

סוגי המשאבים

אלה סוגי המשאבים שספציפיים לאשכולות GKE:

סוגי משאבים של יומנים
gke_cluster יומני פעולות באשכול GKE
gke_nodepool יומני פעולות של מאגר צמתים ב-GKE
k8s_cluster יומנים של אשכול Kubernetes
k8s_node יומנים של צמתים ב-Kubernetes
k8s_pod יומנים של Pod ב-Kubernetes
k8s_container יומני קונטיינרים של Kubernetes
k8s_control_plane_component יומנים של רכיבי מישור הבקרה של Kubernetes

כש-GKE כותב את היומנים של האשכול, כל רשומה ביומן כוללת את סוג המשאב. הבנה של המיקום שבו היומנים מופיעים מקלה על מציאת היומנים כשצריך אותם.

יומני מערכת

יומני המערכת כוללים יומנים מהמקורות הבאים:

  • כל ה-Pods שפועלים במרחבי השמות kube-system, istio-system, knative-serving, gke-system ו-config-management-system.

  • שירותים מרכזיים שלא מופעלים בתוך קונטיינרים, כולל זמן הריצה של docker/containerd, ‏ kubelet, ‏ kubelet-monitor, ‏ node-problem-detector ו-kube-container-runtime-monitor.

  • הפלט של היציאות הטוריות של הצומת, אם המטא-נתונים של מופע ה-VM‏ serial-port-logging-enable מוגדרים כ-true. החל מ-GKE 1.16-13-gke.400, סוכן Logging מתעד את הפלט של היציאה הטורית של הצמתים. כדי להשבית את הרישום ביומן של הפלט של היציאה הטורית, מגדירים את --metadata serial-port-logging-enable=false במהלך יצירת האשכול. הפלט של היציאה הטורית שימושי לפתרון בעיות שקשורות לקריסות, לאתחול שנכשל, לבעיות בהפעלה או לבעיות בסגירה של צמתי GKE. השבתה של היומנים האלה עלולה להגביל את פתרון הבעיות.

  • כל האירועים של Kubernetes מרכיבים באשכול. מידע נוסף זמין במאמר בנושא יומני אירועים של Kubernetes.

יומני הביקורת של המערכת יופיעו ב-Cloud Logging עם השמות הבאים:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access – יומני Data Access
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity – יומני פעילות אדמין
  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event – יומנים של אירועים במערכת
  • projects/PROJECT_ID/logs/events – יומני אירועים של Kubernetes

למידע מפורט על רשומות ביומן שרלוונטיות לסוגי המשאבים Kubernetes Cluster ו-GKE Cluster Operations, אפשר לעיין במסמך בנושא יומני ביקורת.

יש יומני מערכת נוספים, כמו יומני kube-system, שמתועדים. אפשר לקרוא עליהם במאמר שליטה באיסוף של יומני האפליקציות.

יומני אירועים של Kubernetes

ב-Kubernetes, אירועים הם אובייקטים שמספקים מידע על משאבים, כמו שינויים במצב, שגיאות בצומת, שגיאות ב-Pod או כשלים בתזמון. רכיבי Kubernetes שונים, כמו kubelet או בקרי עומס עבודה, יוצרים אירועים כדי לדווח על שינויים באובייקטים. לדוגמה, יכול להיות שבקר StatefulSet ייצור אירוע כשמספר הרפליקות ב-StatefulSet משתנה. מידע נוסף על אירועים זמין בדף ההפניה של Event API ובערך המונח Event במילון המונחים של Kubernetes.

אפשר למצוא את היומנים של אירועי Kubernetes ב-Logging עם שם היומן projects/PROJECT_ID/logs/events. רשומות ביומן של אירועים משתמשות באחד מסוגי המשאבים הבאים, בהתאם לרכיב שיצר את האירוע ב-Kubernetes API:

  • k8s_pod: אירועים ב-Pod
  • k8s_node: Node Events
  • k8s_cluster: כל האירועים שאינם אירועים של Pod או Node

יומני אפליקציות

קונטיינרים של Kubernetes אוספים יומנים של עומסי העבודה שנכתבים ב-STDOUT וב-STDERR. אפשר למצוא את יומני האפליקציות של עומס העבודה באמצעות סוג המשאב k8s_container. היומנים יופיעו ביומן הרישום בשמות הבאים:

  • projects/PROJECT_ID/logs/stderr – logs written to standard error

  • projects/PROJECT_ID/logs/stdout – יומנים שנכתבו לפלט רגיל

יומנים של רכיבים במישור הבקרה

אם הפעלתם את היומנים של מישור הבקרה באשכול GKE, היומנים שנוצרים על ידי רכיבים מסוימים של מישור הבקרה ב-Kubernetes (לדוגמה, שרת ה-API, המתזמן ומנהל הבקרה) מיוצאים אל Cloud Logging.

היומנים האלה משתמשים בסוג המשאב k8s_control_plane_component ומופיעים ב-Cloud Logging עם השמות הבאים:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fapiserver

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fscheduler

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fcontroller-manager

יומני גישה למישור הבקרה

אם אתם משתמשים בשליטה במישור הבקרה של GKE, אתם יכולים להפעיל יומנים אופציונליים לכל חיבורי הרשת הנכנסים למופעים של מישור הבקרה, וגם כשמתרחשים אירועי SSH במופעים של מישור הבקרה. לאחר מכן תוכלו להשוות בין יומני הגישה האלה למישור הבקרה לבין יומנים מ-Access Transparency ויומנים משרת ה-API של Kubernetes, כדי לוודא שהחיבורים למופעים של מישור הבקרה נוצרו כתוצאה של גישת אדמין מורשית של צוות Google. פרטים נוספים זמינים במאמר בנושא אימות החיבורים של Google למישור הבקרה של האשכול.

היומנים האלה משתמשים בסוג המשאב gke_cluster ומופיעים ב-Cloud Logging עם השמות הבאים:

  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_connection
  • projects/PROJECT_ID/logs/container.googleapis.com%2Fkcp_ssh

יומנים של הנפקת זהויות לאשכול

אם אתם משתמשים בסמכות של מישור הבקרה של GKE כדי להפעיל רשויות אישורים (CA) ומפתחות חתימה משלכם עבור האשכול, GKE יוצרת יומני ביקורת לשימוש ברשויות האישורים ובמפתחות האלה כדי להנפיק אישורי X.509 או אסימוני JWT (‏JSON Web Tokens) באשכול. לאחר מכן אפשר לבצע קורלציה בין יומני הנפקת הזהויות האלה לבין יומנים משרת ה-API של Kubernetes, מ-Certificate Authority Service ומ-Cloud Key Management Service כדי לעקוב אחרי השימוש באישורים וב-JWT האלה באשכול. פרטים נוספים זמינים במאמר בנושא אימות הנפקת זהויות ושימוש בהן.

היומנים האלה הם יומני ביקורת מסוג System Event, הם משתמשים בסוג המשאב gke_cluster והם מופיעים ב-Cloud Logging עם השם הבא:

  • projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event

איתור היומנים בממשק המשתמש של Logging

אפשר לצפות ביומנים באמצעות Logs Explorer בממשק המשתמש של Logging.

Logs Explorer

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

ב-Logs Explorer יש דרך נוספת ליצור שאילתות חיפוש באמצעות הכלי לחיפוש שדות ביומנים. מוצגת בו ספירה של רשומות ביומן, ממוינות לפי ספירה בסדר יורד, בשדה היומן הנתון. השימוש בכלי לבחירת שדות ביומנים שימושי במיוחד ליומני GKE, כי הוא מאפשר לבחור את ערכי Kubernetes של המשאבים כדי ליצור שאילתה. לדוגמה, באמצעות כלי החיפוש בשדות של יומנים, אפשר לבחור יומנים של אשכול ספציפי, מרחב שמות, Pod ואז שם קונטיינר.

פרטים נוספים על השימוש ב-Logs Explorer זמינים במסמכי התיעוד בנושא Logging.

שאילתות לדוגמה

אם אתם מחפשים יומנים ספציפיים, תוכלו להשתמש בשאילתות לדוגמה הבאות כדי למצוא את יומני GKE:

פתרון בעיות נפוצות שקשורות ליומנים

עצות לפתרון בעיות מופיעות במאמר פתרון בעיות של יומנים חסרים.

המאמרים הבאים