צפייה ביומנים של מופעים

בדף הזה מוסבר איך משתמשים ב-Cloud Logging כדי להציג יומנים של מכונות Cloud SQL ולשלוח אליהם שאילתות.

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

לפני שמתחילים

כדי לקבל את ההרשאות שדרושות לצפייה ברשומות ביומן באמצעות Logs Explorer, צריך לבקש מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:

  • כדי לראות את רשומות היומן בקטגוריה _Required ואת אלה שבתצוגה _Default בקטגוריה _Default, או כדי לבחור אוסף תצוגות יומן (log scope): צפייה ביומנים (roles/logging.viewer) בפרויקט, בתיקייה או בארגון.
  • כדי לראות את כל הרשומות ביומנים בקטגוריות _Required ו-_Default: התפקיד צפייה ביומנים פרטיים (roles/logging.privateLogViewer) בפרויקט, בתיקייה או בארגון.

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

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

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

כדי לראות את הרשומות ביומן של מכונת Cloud SQL:

המסוף

  1. נכנסים לדף Cloud Logging במסוף Google Cloud .

    כניסה ל-Cloud Logging

  2. בוחרים פרויקט ב-Cloud SQL.
  3. בחלונית Query, בוחרים את האפשרויות הבאות:
    • כל המשאבים: בוחרים באפשרות מסד נתונים של Cloud SQL. בתיבת הדו-שיח, בוחרים מכונה של Cloud SQL.
    • כל שמות היומנים: עוברים לקטע Cloud SQL ובוחרים את קובצי היומן המתאימים למכונה. לדוגמה:
      • cloudsql.googleapis.com/postgres.log
    • כל מידות החומרה: בוחרים רמת חומרה. לדוגמה, בוחרים באפשרות Error כדי להציג יומנים עם רמת חומרה של Error לפחות.
    • בורר טווח תאריכים: בחירת אפשרות זמן מוגדרת מראש, ציון שעת התחלה ושעת סיום בהתאמה אישית או הגדרת טווח התאריכים סביב חותמת זמן ספציפית.

gcloud

משתמשים בפקודה gcloud logging כדי להציג רשומות ביומן. בדוגמה הבאה, מחליפים את PROJECT_ID. הדגל limit הוא פרמטר אופציונלי שמציין את המספר המקסימלי של רשומות שיוחזרו.

gcloud logging read "resource.type=cloudsql_database" \
--project=PROJECT-ID \
--limit=10 \
--format=json

הצגת יומן הפעולות של המכונה

אפשר לראות את היומנים של מכונה בחלונית Operations. בחלונית Operations מתועדת כל פעולה שבוצעה במכונה, עם הפרטים הבאים:

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

אם הפעולה נכשלת, אתם יכולים להשתמש בהודעה כדי לפתור את הבעיה.

כדי להציג יומן פעולות של מכונה:

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. כדי לראות את יומן הפעולות, עוברים לחלונית Operations and logs.
הערה: יומן הפעולות לא כולל פעולות שבוצעו באמצעות כלי ניהול חיצוניים, כמו לקוח psql. רק פעולות של ניהול משתמשים ושינוי סיסמה שבוצעו באמצעות מסוף Google Cloud , כלי שורת הפקודה gcloud או Cloud SQL Admin API מופיעות ביומן הפעולות.

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

אפליקציות שמתחברות ל-Cloud SQL מאחסנות את היומנים שלהן במיקומים שונים.

‫App Engine (סביבה גמישה)

כדי לראות את היומנים של שירותי App Engine:

  1. נכנסים לדף Services של App Engine במסוף Google Cloud :

    מעבר אל "שירותים"

  2. בוחרים שירות מהטבלה ולוחצים על Logs בעמודה Diagnose.

    תועברו אל דף השאילתות ב-Logs Explorer, שבו תוכלו לאחזר את היומנים של שירות App Engine.

כדי להציג את יומני App Engine בקטע Logs Explorer במסוףGoogle Cloud , משתמשים בשאילתה כמו זו:

resource.type="gae_app"
resource.labels.module_id="default"

Cloud Run

כדי להציג את יומני Cloud Run בקטע Logs Explorer במסוףGoogle Cloud , משתמשים בשאילתה כמו זו:

resource.type="cloud_run_revision"
resource.labels.service_name="$SERVICE_NAME"
resource.labels.revision_name="$REVISION_NAME"

חשוב לזכור ש-Cloud Run מדווח רק על הודעות שגיאה מ-Cloud SQL Auth Proxy.

Cloud SQL Auth Proxy

כדי להציג את היומנים של Cloud SQL Auth Proxy בקטע Logs Explorer במסוףGoogle Cloud , משתמשים בשאילתה כמו זו:

log_id("appengine.googleapis.com/cloud-sql-proxy")

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

ב-Cloud SQL נכתבים יומני ביקורת של Cloud כדי לתעד פעילויות ניהול וגישה לנתונים במשאבים שלכם. אפשר לראות את הסוגים הבאים של יומני ביקורת במכונות של Cloud SQL:

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

מידע נוסף על הצגת יומני ביקורת של Cloud SQL, כולל רשימה מלאה של שיטות מבוקרות, זמין במאמר רישום ביומן ביקורת של Cloud SQL ל-PostgreSQL.

תמחור

למידע נוסף על התמחור של Cloud Logging, ראו מחירון מקוצר של Cloud Logging.

פתרון בעיות

שגיאה פתרון בעיות
רישום ביומן צורך הרבה מעבד (CPU) וזיכרון במכונת Cloud SQL. צריך לכוונן את הרישום ביומן.

אפשר להגדיר את הדגל log_statement ל-none ואת הדגל logging_collector ל-off. אם עדיין מתבצע רישום ביומן, יכול להיות שיש דגלים אחרים שקשורים ליומן שאפשר לשנות. כדי לשנות את הדגלים האלה, אפשר לערוך את המכונה.

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

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

קשה לקרוא קובצי יומן. אתם מעדיפים להציג את היומנים כקובץ JSON או כטקסט.אתם יכולים להשתמש בפקודה gcloud logging read יחד עם פקודות עיבוד ב-Linux כדי להוריד את היומנים.

כדי להוריד את היומנים כקובץ JSON:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d" \
> downloaded-log.json
    

כדי להוריד את היומנים כקובץ TEXT:

gcloud logging read \
"resource.type=cloudsql_database \
AND logName=projects/PROJECT_ID \
/logs/cloudsql.googleapis.com%2FLOG_NAME" \
--format json \
--project=PROJECT_ID \
--freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) \
| .textPayload' \
--order=asc
> downloaded-log.txt
   
יומני השאילתות לא נמצאים ביומני PostgreSQL. צריך להפעיל את הדגלים של pgaudit.
  1. מתחברים למסד הנתונים מהטרמינל:
    gcloud sql connect INSTANCE_NAME
          
  2. מריצים את הפקודה הבאה כדי ליצור את התוסף:
    CREATE EXTENSION pgaudit;
          
  3. יוצאים ממסד הנתונים ומריצים את הפקודה הבאה מהטרמינל:
    gcloud sql instances patch INSTANCE_NAME \
    --database-flags=cloudsql.enable_pgaudit=on,pgaudit.log=all