במאמר הזה מוסבר איך להפעיל, ליצור ולהציג יומנים מ-Cloud Logging עבור משימה באצווה.
אפשר להשתמש ביומנים כדי לקבל מידע שימושי לניתוח העבודות. לדוגמה, יומנים יכולים לעזור לכם לנפות באגים במשימות שנכשלו.
חשוב לדעת: יומנים נוצרים רק אחרי שהמשימה מתחילה לפעול, ורק אם הפעלתם את האפשרות 'רישום ביומן' למשימה. אם אתם צריכים לנתח עבודה בלי יומנים, אתם יכולים לראות את אירועי הסטטוס במקום.
לפני שמתחילים
- אם עוד לא השתמשתם ב-Batch, כדאי לעיין במאמר תחילת העבודה עם Batch ולהפעיל את Batch על ידי השלמת הדרישות המוקדמות לפרויקטים ולמשתמשים.
-
כדי לקבל את ההרשאות שדרושות בשביל לנתח עבודה באמצעות יומנים, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור משרה:
- הכלי לעריכת משימות באצווה (
roles/batch.jobsEditor) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות של הג'וב, שמוגדר כברירת מחדל כחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine
- הכלי לעריכת משימות באצווה (
-
כדי לצפות ביומנים: מציג היומנים (
roles/logging.viewer) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
-
כדי ליצור משרה:
הפעלת רישום ביומן למשימה
כדי לאפשר יצירת יומנים עבור משימה, מפעילים את היומנים מ-Cloud Logging כשיוצרים את המשימה:
- אם יוצרים עבודה באמצעות מסוף Google Cloud , היומנים מ-Cloud Logging תמיד מופעלים.
אם יוצרים עבודה באמצעות ה-CLI של gcloud או Batch API, יומנים מ-Cloud Logging מושבתים כברירת מחדל. כדי להפעיל יומנים מ-Cloud Logging, צריך לכלול את ההגדרה הבאה בשדה
logsPolicyכשיוצרים את העבודה:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
כתיבה ויצירה של יומנים למשימה
כשמפעילים יומנים מ-Cloud Logging למשימה, Cloud Logging יוצר באופן אוטומטי את כל היומנים שנכתבים למשימה. באופן ספציפי, למשימות Batch יכולים להיות סוגי היומנים הבאים:
יומני סוכנים (
batch_agent_logs): יומנים של פעילויות מסוכן שירות Batch.מערכת Batch כותבת באופן אוטומטי יומני פעילות של סוכנים לכל משימה שהופעל בה רישום ביומן.
יומני משימות (
batch_task_logs): יומנים של כל הנתונים שהגדרתם שרכיבי ההפעלה של משימה יכתבו לזרם הפלט הרגיל (stdout) או לזרם השגיאות הרגיל (stderr).אפשר גם לכתוב יומני משימות לכל עבודה שהפעלתם בה את האפשרות לרישום ביומן.
צפייה ביומנים של משימה
אפשר לראות את היומנים של עבודה באמצעות מסוף Google Cloud , ה-CLI של gcloud, Logging API, Go, Java, Python או C++.
המסוף
כדי לראות את היומנים של עבודה באמצעות המסוף Google Cloud , מבצעים את הפעולות הבאות:
נכנסים לדף Job list במסוף Google Cloud .
בעמודה Job name (שם המשימה), לוחצים על שם המשימה. ייפתח הדף פרטי המשרה.
לוחצים על הכרטיסייה יומנים. ב-Batch מוצגים כל היומנים שמשויכים למשימה.
אופציונלי: כדי לסנן את היומנים, מבצעים אחת מהפעולות הבאות:
מזינים מסנן בשדה מסנן.
ברשימה Severity, בוחרים רמת חומרה.
לוחצים על הצגה ב-Logs Explorer כדי ליצור שאילתה ב-Logs Explorer באמצעות פרמטרים של מסנן אצווה.
gcloud
כדי להציג יומנים באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud logging read:
gcloud logging read "QUERY"
כאשר QUERY היא שאילתה ליומני Batch שמכילה פרמטרים של מסנן Batch.
API
כדי להציג יומנים באמצעות Logging API, משתמשים ב-entries.list method:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שלכם. -
QUERY: שאילתה ליומני Batch שמכילה פרמטרים של מסנן Batch.
המשך
Go
מידע נוסף מופיע במאמרי העזרה של Batch Go API.
כדי לבצע אימות ב-Batch, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
Java
מידע נוסף מופיע במאמרי העזרה של Batch Java API.
כדי לבצע אימות ב-Batch, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
Python
מידע נוסף מופיע במאמרי העזרה של Batch Python API.
כדי לבצע אימות ב-Batch, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
C++
C++
מידע נוסף מופיע במאמרי העזרה של Batch C++ API.
כדי לבצע אימות ב-Batch, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
סינון יומנים של קובצי Batch
כדי לסנן את יומני Batch, צריך לכתוב שאילתה שכוללת אחד או יותר מהפרמטרים הבאים של המסנן ואפס או יותר אופרטורים בוליאניים (AND, OR ו-NOT).
כדי לסנן יומנים ממשימה ספציפית, מציינים את המזהה הייחודי (UID) של המשימה:
labels.job_uid=JOB_UIDכאשר
JOB_UIDהוא מזהה ה-UID של המשרה. כדי לקבל את ה-UID של משימה, צופים בפרטי המשימה.כדי לסנן לפי סוג מסוים של יומני אצווה, מציינים את סוג היומן:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של הפרויקט שרוצים להציג את היומנים שלו. -
BATCH_LOG_TYPE: סוג יומני האצווה שרוצים להציג,batch_task_logsליומני משימות אוbatch_agent_logsליומני סוכנים.
-
כדי לסנן יומנים עם אירועי סטטוס בהתאמה אישית, צריך לציין שהיומן צריך להגדיר את השדה
jsonPayload.batch/custom/event:jsonPayload.batch"/"custom"/"event!=NULL_VALUEכדי לסנן את היומנים לפי רמת חומרה ספציפית אחת או יותר, מציינים את ההשוואה הבאה:
severityCOMPARISON_OPERATORSEVERITY_ENUMמחליפים את מה שכתוב בשדות הבאים:
-
COMPARISON_OPERATOR: אופרטור השוואה – לדוגמה,>=. -
SEVERITY_ENUM:LogSeverityenum, שמתאר את רמת החומרה של יומן. לדוגמה,ERROR.
-
אפשרויות סינון נוספות מפורטות במאמר בנושא שפת השאילתות של Cloud Logging.
המאמרים הבאים
- מידע נוסף על פתרון בעיות
- מידע נוסף על Cloud Logging
- איך כותבים יומני משימות
- איך מייצאים את פרטי המשרה
- איך מוחקים משרות