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

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

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

מגדירים את הפרויקט ואת תפקידי ה-IAM, ובוחרים את הממשק שמתכננים להשתמש בו.

הגדרת הפרויקט והתפקידים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. כדי לקבל את ההרשאות שדרושות לטעינת הדף Observability Analytics, לכתיבה, להרצה ולשמירה של שאילתות פרטיות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

    • Observability View Accessor (roles/observability.viewAccessor) on the observability views that you want to query. התפקיד הזה תומך בתנאי IAM, שמאפשרים להגביל את ההרשאה לתצוגה ספציפית. אם לא מצרפים תנאי למתן התפקיד, לחשבון המשתמש תהיה גישה לכל תצוגות הנתונים של יכולת התצפית.
    • משתמש עם הרשאה לניתוח נתוני יכולת צפייה (roles/observability.analyticsUser) בפרויקט. התפקיד הזה כולל את ההרשאות שנדרשות לשמירה ולהרצה של שאילתות פרטיות, ולהרצה של שאילתות משותפות.
    • מציג היומנים (roles/logging.viewer) בפרויקט.
    • בעל הרשאת גישה לתצוגת יומנים (roles/logging.viewAccessor) בפרויקט שבו מאוחסנות תצוגות היומנים שרוצים לשלוח לגביהן שאילתות.

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

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

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

המסוף

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

gcloud

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

הפעלת 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. אפשר לחפש, להציג, להריץ ולשתף את השאילתות שמופיעות בכרטיסייה מהזמן האחרון.

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

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

המסוף

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

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

    עוברים אל Observability Analytics

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

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

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

    השאילתה יכולה לכלול כל תצוגה תקפה, כמה תצוגות ותצוגות של נתוני Analytics.

    אם השאילתה בחלונית Query (שאילתה) תקינה, הכפתור Save (שמירה) מופעל.

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

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

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

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

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

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

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

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

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

gcloud

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

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

    • DISPLAY_NAME: השם המוצג של השאילתה השמורה.
    • LOCATION: המיקום של השאילתה השמורה.
    • VISIBILITY: מוגדר לערך private או לערך shared.
    • SQL_QUERY: שאילתת SQL. אם נתיב או שדות בנתיב מוקפים בגרשיים הפוכים בודדים (`), צריך להוסיף לגרשיים האלה תו escape:
          "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. כדי לשמור שאילתה, משתמשים בשיטה 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.

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

  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.
  • כדי לראות את השאילתה, משתמשים באפשרויות בתפריט אפשרויות נוספות.

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

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

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