צפייה בסטטוס של VM Manager בארגון באמצעות מאגר משאבי ענן ו-BigQuery

כשמייצאים נתונים מ-VM Manager ממאגר משאבי ענן ל-BigQuery, אפשר להריץ שאילתות מתקדמות כדי לבדוק אם VM Manager מופעל, להציג את הגרסאות של סוכן OS Config ולבדוק את פרטי מערכת ההפעלה בכל הפרויקטים בארגון.

במאמר הזה מוסבר איך להשתמש ב-VM Manager, ב-Cloud Asset Inventory (מאגר משאבי ענן) וב-BigQuery כדי לראות דוחות על ההפעלה של VM Manager ועל סטטוס מערכת ההפעלה במכונות Compute Engine בארגון.

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

  • הגדרת VM Manager
  • מפעילים את Cloud Asset Inventory API.
  • יוצרים מערך נתונים ב-BigQuery כדי לאחסן בו את הנתונים המיוצאים.
  • מוודאים שיש לכם את ההרשאות הנדרשות כדי לראות את דוחות הסטטוס של VM Manager בכל הארגון.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

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

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

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

  • הגדרת אזור ותחום כברירת מחדל

התפקידים הנדרשים

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

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

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

ההרשאות הנדרשות

כדי לייצא נתוני משאבים ולהריץ שאילתות ב-BigQuery, צריך את ההרשאות הבאות:

  • cloudasset.assets.exportOSInventories
  • cloudasset.assets.exportResource
  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.update
  • bigquery.tables.get
  • bigquery.jobs.create

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

ייצוא נתונים של VM Manager ל-BigQuery

כדי לייצא נתוני מלאי ומשאבים של מערכת הפעלה ל-BigQuery:

  1. מזהים את מזהה הארגון:

    gcloud projects get-ancestors PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט.

  2. ייצוא של נתוני מלאי מערכת ההפעלה שנאספו על ידי VM Manager מהמכונות הווירטואליות:

    gcloud asset export \
        --content-type=os-inventory \
        --organization=ORGANIZATION_ID \
        --per-asset-type \
        --bigquery-table="projects/BQ_PROJECT_ID/datasets/DATASET_ID/tables/os"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ORGANIZATION_ID: מזהה הארגון.
    • BQ_PROJECT_ID: מזהה הפרויקט שבו נמצא מערך הנתונים ב-BigQuery.
    • DATASET_ID: השם של מערך הנתונים ב-BigQuery.
  3. מייצאים את המטא-נתונים של המשאב לטבלה ב-BigQuery:

    gcloud asset export \
        --content-type=resource \
        --organization=ORGANIZATION_ID \
        --per-asset-type \
        --bigquery-table="projects/BQ_PROJECT_ID/datasets/DATASET_ID/tables/res"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ORGANIZATION_ID: מזהה הארגון.
    • BQ_PROJECT_ID: מזהה הפרויקט שבו נמצא מערך הנתונים ב-BigQuery.
    • DATASET_ID: המזהה של מערך הנתונים ב-BigQuery.

איך מייצאים תמונת מצב של נכסים

יצירת דוח סטטוס של VM Manager לארגון

אחרי שמייצאים את נתוני המלאי, אפשר להריץ שאילתת SQL ב-BigQuery כדי ליצור דוח סטטוס של VM Manager. בדוח הזה מופיעים הפרטים הבאים:

  • האם נתוני מלאי מערכת ההפעלה של VM Manager מדווחים (vmm_data) לגבי כל מכונה וירטואלית.
  • השם הארוך של מערכת ההפעלה (os_info_reported_by_vmm) וגרסת הסוכן (osconfig_agent_version) שדווחו על ידי כל מופע.osconfig
  • האם שירות ה-API‏ osconfig.googleapis.com מופעל (osconfig_enabled_in_project) בכל הפרויקטים בהיררכיה.

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

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, מדביקים את סקריפט ה-SQL הבא:

    SELECT
      vms.project,
      vms.zone,
      vms.instance_name,
      vms.instance_status,
      vms.vmm_data,
      vms.instance_creation_time,
      vms.vmm_info_update_time,
      --  vms.gce_image,
      vms.os_info_reported_by_vmm,
      vms.service_account,
      service.resource.data.state AS osconfig_enabled_in_project,
      vms.osconfig_agent_version
      --  "INFO N/A" as enable_osconfig_metadata_set_in_project,
      --  "INFO N/A" as enable_osconfig_metadata_set_in_instance,
    FROM
    (
      SELECT
        SPLIT(name, '/')[OFFSET(8)] AS instance_name,
        SPLIT(name, '/')[OFFSET(4)] AS project,
        SPLIT(name, '/')[OFFSET(6)] AS zone,
        instances.ancestors,
        instances.resource.data.creationTimestamp AS instance_creation_time,
        instances.resource.data.serviceAccounts[SAFE_OFFSET(0)].email AS service_account,
        CASE WHEN inventory.os_inventory IS NOT NULL THEN TRUE ELSE FALSE END AS vmm_data,
        /*  SPLIT(resource.data.disks[OFFSET(0)].licenses[OFFSET(0)], '/')[OFFSET(9)] as gce_image, */
        inventory.os_inventory.os_info.long_name AS os_info_reported_by_vmm,
        inventory.os_inventory.update_time AS vmm_info_update_time,
        instances.resource.data.status AS instance_status,
        inventory.os_inventory.os_info.osconfig_agent_version
      FROM
        DATASET_ID.res_compute_googleapis_com_Instance AS instances
        LEFT JOIN DATASET_ID.os_compute_googleapis_com_Instance AS inventory
      USING (name)
      --  WHERE instances.resource.data.status = "RUNNING"
    ) AS vms
    LEFT JOIN DATASET_ID.res_serviceusage_googleapis_com_Service AS service
      ON vms.ancestors[OFFSET(0)] = service.resource.data.parent
    WHERE service.resource.data.name = "osconfig.googleapis.com"
    

    מחליפים את הערך DATASET_ID בשם של מערך הנתונים ב-BigQuery.

  3. לוחצים על Run.

מידע נוסף על שליחת שאילתות על נתונים זמין במאמר הרצת שאילתות.

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

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