המחשה חזותית של העלויות באמצעות Looker Studio


אפשר לשלב את נתוני החיוב ב-Cloud שמיוצאים ל-BigQuery עם Looker Studio כדי להציג מידע עדכני לגבי העלויות שלכם ב-Google Cloud.

בדף הזה מוסבר איך מגדירים את מרכז הבקרה לנתוני חיוב ותובנות לגבי עלויות לנתוני החיוב שלכם ב-Cloud. בלוח הבקרה תוכלו לענות על שאלות לגבי ההוצאות שלכם ב-Google Cloud. למשל, מה גובה ההוצאות שלי על משאבים של Compute Engine?

דוגמה להמחשה חזותית ב-Looker Studio

כדי להגדיר את מרכז הבקרה צריך לפעול לפי ההנחיות במדריך הזה, או לצפות בסרטון הבא:

מטרות

במדריך הזה תלמדו:

  • איך ליצור עותק משלכם של מרכז הבקרה לנתוני חיוב ותובנות לגבי עלויות באמצעות Cloud Shell.

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

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

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

תוכלו להשתמש במחשבון התמחור כדי ליצור הערכת עלויות בהתאם לשימוש החזוי. משתמשים חדשים ב-Google Cloud? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

  1. הגדרת ייצוא של נתוני החיוב ב-Cloud אל BigQuery.

    כדי להשתמש במרכז הבקרה, צריך להפעיל את ייצוא הנתונים ל-BigQuery לנתוני השימוש הסטנדרטיים והמפורטים בחיוב ב-Cloud.

    לאחר הפעלת ייצוא הנתונים, יחלוף בערך יום עד שמערך הנתונים יאוכלס בנתוני החיוב ב-Cloud. יכול להיות שקודם תראו מעט תעבורת נתונים יוצאת (egress), לאחר מכן כמה חיובי VM, לאחר מכן נתוני שימוש ב-Pub/Sub וכן הלאה. אחרי שתצברו נתונים במערך הנתונים תוכלו להריץ עליהם שאילתות.

  2. אם בארגון שלכם כבר הוגדר ייצוא ל-BigQuery, אתם צריכים הרשאות ליצירת תצוגות ב-BigQuery בפרויקט שמארח את מערכי הנתונים.

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

  3. עליכם לקבל את המידע הבא על סביבת Google Cloud:

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

יצירת עותק של מרכז הבקרה

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

ככלל, סקריפט ההגדרה של המאגר:

  • יוצר מערך נתונים חדש ב-BigQuery, עם תצוגות שמאחזרות את הנתונים מהייצוא של נתוני העלות הסטנדרטיים והמפורטים.
  • מעתיק את התבנית של מרכז הבקרה ומקשר את העותק לתצוגות של הנתונים שלכם ב-BigQuery.
  • יוצר קישור של Looker Studio לעותק של מרכז הבקרה. את הקישור אפשר לשמור במרכזי הבקרה של Looker Studio.

כך יוצרים עותק:

  1. פותחים את מאגר הנתונים של GitHub ב-Cloud Shell:

    פתיחה ב-Cloud Shell

  2. מנווטים לספרייה billboard:

    cd examples/billboard
    
  3. מריצים את הפקודות הבאות כדי להגדיר את סביבת Python לסקריפט:

    rm -rf bill-env
    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. מריצים את הסקריפט שיוצר את מרכז הבקרה. יכול להיות שתצטרכו לאשר ל-Cloud Shell לבצע בשמכם קריאות ל-API:

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET' \
      -bb 'BILLBOARD_DATASET'
    

    כאשר אלה המשתנים:

    • PROJECT_ID: מזהה הפרויקט שמארח את מערכי הנתונים של החיוב ב-Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: מערך הנתונים ב-BigQuery שמכיל את הייצוא של נתוני עלות השימוש הסטנדרטיים.
    • DETAILED_BILLING_EXPORT_DATASET: מערך הנתונים ב-BigQuery שמכיל את הייצוא של נתוני עלות השימוש המפורטים.
    • BILLBOARD_DATASET: השם של מערך הנתונים ב-BigQuery, שבו יוצרים את התצוגות של BigQuery במרכז הבקרה. למשל, example_dashboard_views. אם עדיין אין לכם מערך נתונים עבור התצוגות, הסקריפט יוצר מערך נתונים חדש בשם הזה.

    כשהרצת הסקריפט תסתיים, תקבלו קישור של Looker Studio למרכז הבקרה.

  5. לוחצים על הקישור ל-Looker Studio כדי לפתוח את מרכז הבקרה.

  6. ב-Looker Studio, לוחצים על Edit and share כדי לשמור את מרכז הבקרה. כשמופיעה הודעה שבה אתם מתבקשים להוסיף מקורות נתונים לדוח, לוחצים על Add to report.

עכשיו אתם יכולים לגשת למרכז הבקרה דרך דף הבית של Looker Studio.

(מתקדם) שינוי הנתונים למספר חשבונות לחיוב ב-Cloud

אם אתם רוצים שמרכז הבקרה יכלול נתונים ממספר חשבונות לחיוב ב-Cloud, אתם יכולים לשנות את התצוגות של BigQuery כך שיכללו את הייצוא של נתוני החיוב של כל החשבונות לחיוב ב-Cloud.

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

פועלים לפי כל השלבים בקטע הדרישות המוקדמות במדריך זה עבור כל חשבון לחיוב ב-Cloud שרוצים לכלול.

עדכון התצוגות ב-BigQuery כך שיכללו נתוני ייצוא נוספים של החיוב ב-Cloud

  1. במסוף Google Cloud, פותחים את הדף ב-BigQuery.

    כניסה ל-BigQuery

  2. בוחרים את הפרויקט שמכיל את מערך הנתונים שיצרתם עבור מרכז הבקרה.

  3. בחלונית Explorer מרחיבים את הפרויקט ואז מרחיבים את מערך הנתונים.

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

  5. לוחצים על הכרטיסייה Details ואז על Edit Query. השאילתה על התצוגה דומה לשאילתה הבאה:

    SELECT *,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

    כאשר PROJECT_ID הוא שם הפרויקט ב-BigQuery שמכיל את ייצוא נתוני העלות הסטנדרטיים של החיוב ב-Cloud, ו-BILLING_ACCOUNT_EXPORT הוא השם של טבלת BigQuery שמכילה את נתוני העלות הסטנדרטיים שלכם.

  6. משכפלים את השאילתה הקיימת, ובקטע FROM מחליפים את מזהה הפרויקט ואת טבלת BigQuery במידע של החשבון הנוסף לחיוב ב-Cloud.

  7. מוסיפים את האופרטור UNION ALL בין שתי השאילתות כדי לשלב בין הנתונים. השאילתה הסופית תיראה בערך כמו בדוגמה הבאה, שמשלבת את ייצוא הנתונים של הפרויקטים BILLING_ACCOUNT_1 ו-BILLING_ACCOUNT_2 שנמצאים בטבלאות PROJECT_ID_1 ו-PROJECT_ID_2, בהתאמה.

    SELECT *, --query for BILLING_ACCOUNT_1
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      EXTRACT(DATE FROM _PARTITIONTIME) AS date
    FROM `PROJECT_ID_1.BILLING_ACCOUNT_1_EXPORT` s
    WHERE _PARTITIONTIME >"2021-01-01"
    UNION ALL
    SELECT *, --query for BILLING_ACCOUNT_2
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    
  8. חוזרים על השלבים האלה עבור התצוגה billboard_detail, שבה המערכת מבצעת שאילתה על נתוני העלות ונתוני השימוש המפורטים.

  9. אם אחד מהחשבונות מוגדר למטבע שאינו דולר ארה"ב, חוזרים על השלבים האלה ומשתמשים בעמודה currency_conversion_rate כדי להמיר לדולר ארה"ב, בדומה לדוגמה הבאה:

    select *,
      (COALESCE((SELECT SUM(x.amount)
      FROM UNNEST(s.credits) x),0))/currency_conversion_rate AS credits_sum_amount,
        (COALESCE((SELECT SUM(x.amount)
        FROM UNNEST(s.credits) x),0))/currency_conversion_rate + cost/currency_conversion_rate as net_cost,
        'USD' as net_cost_currency,
         PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
          _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

הסרת המשאבים

אם אתם רוצים להפסיק להשתמש במרכז הבקרה, תוכלו לשכפל את המאגר של GitHub ולהריץ את הסקריפט של מרכז הבקרה עם האפשרות -clean. הסקריפט ימחק את התצוגות ב-BigQuery, אבל ישאיר את מערך הנתונים של הייצוא ב-BigQuery ללא שינוי.

  1. פותחים את מאגר הנתונים של GitHub ב-Cloud Shell:

    פתיחה ב-Cloud Shell

  2. מנווטים לספרייה billboard:

    cd examples/billboard
    
  3. מריצים את הפקודות הבאות כדי להגדיר את סביבת Python לסקריפט:

    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. מריצים את הפקודה להסרת המשאבים:

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET'
      -bb 'BILLBOARD_DATASET' \
      -clean yes
    

    כאשר אלה המשתנים:

    • PROJECT_ID: מזהה הפרויקט שמארח את מערכי הנתונים של החיוב ב-Cloud.
    • STANDARD_BILLING_EXPORT_DATASET: מערך הנתונים ב-BigQuery שמכיל את הייצוא של נתוני עלות השימוש הסטנדרטיים.
    • DETAILED_BILLING_EXPORT_DATASET: מערך הנתונים ב-BigQuery שמכיל את הייצוא של נתוני עלות השימוש המפורטים.
    • BILLBOARD_DATASET: מערך הנתונים ב-BigQuery שבו יצרתם את התצוגות של BigQuery עבור מרכז הבקרה.
  5. כדי למחוק את מרכז הבקרה ב-Looker Studio, פותחים את Looker Studio, מאתרים את מרכז הבקרה הרצוי ובתפריט לוחצים על Remove.

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