שמירה ושיתוף של שאילתות SQL

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

אם עדיין לא כתבתם שאילתות ב-Observability Analytics, קודם כדאי לקרוא את המאמר שאילתות וניתוח של יומנים. במאמר יצירת תרשים של תוצאות שאילתת SQL מוסבר איך ליצור תרשים של תוצאות השאילתה ולשמור את התרשימים האלה במרכז בקרה בהתאמה אישית.

ההבדלים בין שאילתות שמורות לבין תצוגות ניתוח נתונים

שאילתה שמורה היא שאילתה שמריצים באמצעות הדף Observability Analytics ואז שומרים כשאילתה. פעולת השמירה מאפשרת להריץ מחדש את השאילתה הזו מתי שרוצים. כששומרים את השאילתה, אפשר להגדיר אותה כפרטית או כגלויה למשתמשים אחרים שיש להם את ההרשאות הנדרשות לשימוש ב-Observability Analytics. אי אפשר לכתוב שאילתת SQL שבה הסעיף FROM מציין שאילתה שמורה.

תצוגת ניתוח נתונים מכילה שאילתה שאפשר להריץ מחדש מתי שרוצים. כדי ליצור תצוגת ניתוח נתונים, כותבים שאילתת SQL על תצוגת יומן ושומרים את התוצאה כתצוגה. בניגוד לשאילתות שמורות, אי אפשר להגדיר תצוגת ניתוח נתונים כפרטית. אתם יכולים לשלוח שאילתה לתצוגת ניתוח נתונים. היכולת הזו מאפשרת להמיר את נתוני היומן מהפורמט של LogEntry לפורמט אחר שמתאים לכם יותר. אחר כך, במקום לכתוב את השאילתות בתצוגת היומן, אתם שולחים שאילתות לתצוגת ניתוח הנתונים.

אתם יכולים לשמור שאילתות ששולחות שאילתה לתצוגת יומן או לתצוגת ניתוח נתונים.

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

בקטע הזה מוסבר מה צריך לעשות לפני שמשתמשים ב-Observability Analytics.

הגדרת קטגוריות ביומן

מוודאים ששדרגתם את קטגוריות היומנים לשימוש ב-Observability Analytics:

  1. נכנסים לדף Logs Storage במסוף Google Cloud :

    נכנסים לדף Logs Storage.

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה עם כותרת המשנה Logging.

  2. בכל מאגר של יומנים שיש בו תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Observability Analytics available מופיע הערך Open. אם מופיע הכפתור Upgrade, לוחצים עליו ומשלימים את תיבת הדו-שיח.

הגדרת תפקידים והרשאות ב-IAM

בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים כדי להשתמש ב-Observability Analytics:

  • כדי לקבל את ההרשאות שנדרשות לשימוש ב-Observability Analytics ולשאילתות בתצוגות של יומנים, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

    כדי להגביל חשבון משתמש לתצוגת יומנים ספציפית, אתם יכולים להוסיף תנאי IAM להקצאת התפקיד "גישה לתצוגת יומנים" ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומנים. מידע נוסף זמין במאמר שליטה בגישה לתצוגת יומנים.

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

  • כדי לקבל את ההרשאות שנדרשות לשליחת שאילתות לתצוגות ניתוח נתונים, בקשו מהאדמין להקצות לכם בפרויקט את התפקיד משתמש ב-Observability Analytics (roles/observability.analyticsUser) ב-IAM.

בוחרים את הממשק שבו רוצים להשתמש

המסוף

כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.

gcloud

מפעילים את Cloud Shell במסוף Google Cloud .

הפעלת Cloud Shell

בחלק התחתון של מסוף Google Cloud יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

REST

כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

    התקינו את ה-CLI של Google Cloud.

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

שמירת שאילתה

כל השאילתות שאתם מריצים נשמרות באופן אוטומטי למשך 30 ימים, ואפשר לגשת אליהן דרך הכרטיסייה Recent בדף Observability Analytics. בכרטיסייה Recent אפשר לחפש, להציג, להריץ ולשתף את השאילתות שמופיעות ברשימה.

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

אפשר לשמור 10,000 שאילתות בכל Google Cloud פרויקט.

המסוף

כדי לשמור שאילתה:

  1. נכנסים לדף Observability Analytics במסוף Google Cloud :

    כניסה לדף Observability Analytics

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה עם כותרת המשנה Logging.

  2. ממלאים את החלונית Query בשאילתה.

    כדי לאכלס את החלונית Query, אפשר להזין שאילתה חדשה, לבחור שאילתה מהכרטיסייה Recent או לבחור שאילתה מהכרטיסייה Saved.

    השאילתה יכולה לכלול כל תצוגה תקינה, כמה תצוגות ותצוגות ניתוח נתונים.

    כשהשאילתה בחלונית Query תקינה, הלחצן Save מופעל.

  3. לוחצים על שמירה, בוחרים באפשרות שמירת השאילתה וממלאים את השדות שם ותיאור. הערכים שתגדירו בשדות האלה יוצגו בכרטיסייה שמורים.

  4. אופציונלי: כדי לאפשר לכל מי שיש לו גישה לדף Observability Analytics בפרויקט Google Cloud לצפות בשאילתה השמורה ולהריץ אותה, מפעילים את המתג Share with project.

    כברירת מחדל, המתג הזה מושבת וההרשאה מוגבלת אליכם.

  5. לוחצים על שמירת השאילתה.

  6. אופציונלי: כדי לראות, למיין ולהריץ שאילתות שמורות שגלויות לכם, בוחרים בכרטיסייה Saved.

    אתם יכולים למיין ולסנן את השאילתות השמורות לפי השם, התיאור ותווית החשיפה שלהן. אפשר גם לסנן לפי התוכן של השאילתה.

אתם יכולים לערוך ולמחוק שאילתות שיצרתם באמצעות האפשרויות בכרטיסייה Saved:

  • כדי לערוך שאילתה, לוחצים על More Options ובוחרים באפשרות Edit. אפשר לשנות את הערכים בשדות Name ו-Description, אבל אי אפשר לשנות את השאילתה עצמה.

  • כדי למחוק שאילתה שמורה, לוחצים על More Options ובוחרים באפשרות Delete.

gcloud

כדי ליצור ולשמור שאילתה:

  1. לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

    • ‫DISPLAY_NAME: השם המוצג של השאילתה השמורה.
    • ‫LOCATION: המיקום של השאילתה השמורה.
    • VISIBILITY: צריך להגדיר לערך private או לערך shared.
    • ‫SQL_QUERY: שאילתת SQL. אם הנתיב או השדות בנתיב מוקפים בגרש הפוך בודד (`), צריך להוסיף תו בריחה לגרש ההפוך:
          "SELECT * FROM \`PROJECT_ID.LOCATION.my-log-bucket._AllLogs\`"
          

      או

          "SELECT * FROM \`PROJECT_ID.LOCATION._Trace.Spans._AllSpans\`"
          

      צריך להשתמש בגרש הפוך (`) כשרכיב נתיב מכיל תו נקודה (.).

    • ‫ID: המזהה של השאילתה השמורה. המזהה הזה הוא קלט חובה לפקודות שמתארות, מעדכנות או מוחקות שאילתה שמורה. אם לא תספקו את המזהה כשאתם יוצרים שאילתה שמורה, המערכת תיצור מזהה מספרי.
    • ‫DESCRIPTION: תיאור טקסטואלי של השאילתה. זה שינוי אופציונלי.
    • ‫PROJECT_ID: מזהה הפרויקט.

    מריצים את הפקודה gcloud logging saved-queries create:

    ‫Linux,‏ macOS או Cloud Shell

    gcloud logging saved-queries create --display-name=DISPLAY_NAME \
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY \
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    ‏Windows (PowerShell)

    gcloud logging saved-queries create --display-name=DISPLAY_NAME `
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY `
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    Windows‏ (cmd.exe)

    gcloud logging saved-queries create --display-name=DISPLAY_NAME ^
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY ^
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    זו דוגמה לתשובה שמתקבלת כשהמזהה שצוין בפקודה הוא my-saved-query:

    Created saved query [projects/PROJECT_ID/locations/LOCATION/savedQueries/my-saved-query].
    

    התגובה לפקודה create מציגה את השם המלא של השאילתה, כולל המזהה שלה. מזהה השאילתה, שבדוגמה הזו הוא my-saved-query, הוא קלט חובה לפקודות של Google Cloud CLI שמתארות, מוחקות או מעדכנות שאילתה שמורה.

  2. כדי לבדוק את השאילתה השמורה, מריצים את הפקודה הבאה:

     gcloud logging saved-queries list --location=- --project=PROJECT_ID
    

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

יש פקודות של Google Cloud CLI למחיקה, להצגה, לתיאור ולעדכון של שאילתות שמורות. מידע נוסף זמין במאמר סקירה כללית על gcloud logging saved-queries.

REST

אפשר לשמור שאילתה באמצעות Cloud Logging API. כדי לשמור שאילתה, משתמשים ב-method‏ savedQueries.create.

כדי להשתמש בשיטה הזו:

  1. לוחצים על savedQueries.create.
  2. בדף העזר, משתמשים ב-APIs Explorer כדי להנפיק פקודה. חובה לציין את השדה opsAnalyticsQuery.

בדוגמה הבאה מוצג גוף בקשה לדוגמה, שמכיל מופע של SavedQuery:

{
   "parent": "projects/my-project/locations/global"
   "saved_query":
   {
      "ops_analytics_query":
      {
         "sql_query_text" :
            "SELECT
            timestamp, log_name, severity, json_payload, resource, labels
            FROM
            `VIEW`
            WHERE
            timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
            ORDER BY timestamp ASC
            LIMIT 100"
      }
   "visibility": "PRIVATE"
   }
}

איך לשתף שאילתה

אתם יכולים לשתף שאילתה שמורה עם כל מי שיש לו גישה לפרויקט ב-Google Cloud . עם זאת, תפקידי ה-IAM של החשבון הראשי קובעים אם אפשר להריץ את השאילתה ואת הנתונים שהשאילתה מחזירה.

המסוף

כשפותרים בעיה או כשרואים תוצאות חריגות, יכול להיות שתרצו לשתף שאילתה ואת התוצאות שלה עם חבר צוות. כשאתם צופים בתוצאות של שאילתה בדף Observability Analytics, אתם יכולים להעתיק כתובת URL שכשתפתחו אותה, יוצגו השאילתה שהרצתם והתוצאות שלה.

כדי לשתף שאילתה ותוצאות עם חבר צוות:

  1. נכנסים לדף Observability Analytics במסוף Google Cloud :

    כניסה לדף Observability Analytics

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה עם כותרת המשנה Logging.

  2. ממלאים את החלונית Query בשאילתה ולוחצים על Run query.

    כדי לאכלס את החלונית Query, אפשר להזין שאילתה חדשה, לבחור שאילתה מהכרטיסייה Recent או לבחור שאילתה מהכרטיסייה Saved.

  3. לוחצים על שיתוף הקישור.

  4. שולחים את הקישור לחבר או לחברה בצוות.

    כשהקולגה יפתח את הקישור, הדף Observability Analytics ייפתח ותוצג בו השאילתה, אבל היא לא תופעל. הם צריכים להריץ את השאילתה באופן ידני.

    בדף Observability Analytics מוצגת תיבת דו-שיח של אזהרה כשהשאילתה פועלת במנוע BigQuery והמשאבים ששלחתם לגביהם שאילתה לא נמצאים באותו גבול בעלות. גבולות הבעלות נקבעים לפי כמה גורמים, כולל ההיררכיה של המשאבים שבהם משתמשים בשאילתה.

    כדי לפתוח את כתובת ה-URL, תפקיד ה-IAM של חבר הצוות בפרויקט ב- Google Cloud צריך לכלול את ההרשאות הנדרשות לצפייה בדף Observability Analytics.

gcloud

כדי ליצור שאילתה שמורה שאחרים יכולים להריץ, מגדירים את הערך של השדה visibility ל-shared:

--visibility=shared

כדי לשנות את הרשאות הגישה של שאילתה שמורה קיימת, משתמשים בפקודה update. למידע נוסף על הפקודות הזמינות, קראו את הסקירה הכללית על gcloud logging saved-queries.

REST

כדי ליצור שאילתה משותפת באמצעות Logging API, משתמשים ב-method‏ savedQueries.create ומציינים את הערך SHARED בשדה visibility. למידע נוסף, קראו את דף העזרה של savedQueries.create.

איך רואים ומריצים שאילתות אחרונות או שמורות

כדי לראות שאילתה או להריץ אותה מחדש, בוחרים בכרטיסייה Recent בדף Observability Analytics ומוצאים את השאילתה:

  • כדי להריץ את השאילתה, לוחצים על Run.
  • כדי לראות את השאילתה, משתמשים באפשרויות שבתפריט More Options.

כדי לראות, לערוך או להריץ שאילתה שמורה, בוחרים בכרטיסייה Saved בדף Observability Analytics ומוצאים את השאילתה:

  • כדי להריץ את השאילתה, לוחצים על Run.
  • כדי לערוך, להציג או למחוק את השאילתה, משתמשים באפשרויות בתפריט More Options.

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