כשמייצאים נתונים מ-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
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לייצוא נתוני משאבים ולהרצת שאילתות ב-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ברמת הפרויקט, התיקייה או הארגון:
- צפייה במאגר משאבי הענן (
roles/cloudasset.viewer) - עריכה של נתוני BigQuery (
roles/bigquery.dataEditor) - BigQuery Job User (
roles/bigquery.jobUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לייצוא נתוני משאבים ולהרצת שאילתות ב-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:
מזהים את מזהה הארגון:
gcloud projects get-ancestors PROJECT_IDמחליפים את
PROJECT_IDבמזהה הפרויקט.ייצוא של נתוני מלאי מערכת ההפעלה שנאספו על ידי 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.
-
מייצאים את המטא-נתונים של המשאב לטבלה ב-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) בכל הפרויקטים בהיררכיה.
כדי ליצור את הדוח, פועלים לפי השלבים הבאים:
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מדביקים את סקריפט ה-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.לוחצים על Run.
מידע נוסף על שליחת שאילתות על נתונים זמין במאמר הרצת שאילתות.
אחרי שיוצרים את הדוח, אפשר להשתמש ב-Data Studio כדי ליצור מרכז בקרה בהתאמה אישית. מידע נוסף זמין במאמר בנושא ניתוח נתונים באמצעות Data Studio.
המאמרים הבאים
- הקצאת משאבים של VM Manager באמצעות Terraform.
- מידע נוסף על מלאי מערכות הפעלה ב-VM Manager
- איך מייצאים מטא-נתונים של נכסים ל-BigQuery
- שימוש ב-Data Studio כדי ליצור תרשים של נתוני BigQuery.