צפייה ביומני פעילות

יומני הפעילות של Compute Engine הוצאו משימוש. במקום זאת, השתמשו ביומני ביקורת. מידע נוסף זמין במאמר בנושא מעבר מיומני פעילות ליומני ביקורת.

יומני הפעילות של Compute Engine שונים מיומני הביקורת. יומני הביקורת מכילים את אותו מידע כמו יומני הפעילות מדור קודם ועוד. מומלץ להשתמש ביומני ביקורת במקום ביומני פעילות. אם אתם כבר משתמשים ביומני פעילות, כדאי לקרוא את המאמר בנושא מעבר מיומני פעילות ליומני ביקורת.

‫Compute Engine מספק יומני פעילות שמאפשרים לעקוב אחרי אירועים מסוימים שמשפיעים על הפרויקט, כמו קריאות ל-API ואירועים במערכת. באופן ספציפי, יומני הפעילות מספקים מידע על:

  • קריאות ל-API של Compute Engine: אירועים GCE_API_CALL הם קריאות ל-API שמשנות את המצב של משאב. לדוגמה, קריאות ל-API ליצירת דיסק, לעדכון מטא-נתונים של מופע, ליצירת קבוצת מופעים או לשינוי סוג מכונה מתועדות ביומני פעילות. קריאות ל-API שלא מעדכנות משאב, כמו בקשות get ו-list, לא נרשמות.
  • יומני פעולות: GCE_OPERATION_DONE אירועים נרשמים ביומן כשקריאה ל-API משנה את המצב של משאב ומסתיימת, ו-Compute Engine מחזיר אירוע של פעולה שהושלמה שנרשם ביומני הפעילות.
  • יומני מערכת: GCE_SYSTEM_EVENT אירועים מתועדים כש- Compute Engine מבצע אירוע מערכת, והם נרשמים ביומני פעילות. לדוגמה, אירוע תחזוקה שקוף יתועד כאירוע מערכת.

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

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

יומני הפעילות מסופקים כחלק משירות Cloud Logging. מידע נוסף על רישום ביומנים באופן כללי זמין במאמר בנושא Cloud Logging.

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

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

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

    המסוף

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

    gcloud

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

      gcloud init

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

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

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

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

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

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

ההרשאות שנדרשות למשימה הזו

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

  • ‫logging.logServiceIndexes.list בפרויקט
  • ‫logging.logServices.list בפרויקט

צפייה ביומנים

רישום הפעילות ביומן מופעל כברירת מחדל בכל הפרויקטים ב-Compute Engine.

אפשר לראות את יומני הפעילות של הפרויקט באמצעות Logs Explorer ב- Google Cloud console:

  1. נכנסים לדף Logging במסוף Google Cloud .

    כניסה לדף Logging

  2. בכלי Logs Explorer, בוחרים את סוג המשאב ומסננים אותו מהרשימה הנפתחת הראשונה.
  3. בתפריט הנפתח All logs בוחרים באפשרות compute.googleapis.com/activity_log כדי לראות את יומני הפעילות של Compute Engine.

יומני ניתוב

במאמר הגדרה וניהול של אובייקטים מסוג sink במסמכי התיעוד של Cloud Logging מוסבר איך לייצא יומני פעילות.

זיהוי קובצי יומן

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

קובצי היומן של Compute Engine נשמרים במבנה הספרייה הבא:

<bucket>/compute.googleapis.com/activity_log/<year>/<month>/<day>

זו דוגמה לשם קובץ יומן שמאוחסן בקטגוריה של Cloud Storage בשם my-bucket:

my-bucket/compute.googleapis.com/activity_log/2014/10/31/20:00:00_20:59:59_S0.json

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

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

מידע על שאילתות ביומני פעילות ב-BigQuery זמין במאמר רשומות ביומן ב-BigQuery.

קריאת יומני הפעילות

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

ביומני הפעילות של Compute Engine יש:

  • ‫compute.googleapis.com/activity_log כערך של השדה log
  • ‫metadata, שמתאר מידע נפוץ כמו חותמת זמן
  • structPayload, שמכיל את התוכן הספציפי של רשומת היומן

בתיאור של LogEntry תוכלו לקבל פרטים נוספים על השדות הנפוצים שמופיעים בכל רשומה ביומן, אבל תוכן המטען הייעודי (payload) של רשומות ביומן הפעילות הוא ספציפי ל-Compute Engine ומתואר בהמשך.

תוכן המטען הייעודי (payload)

התוכן של רשומה ביומן מוצג בפורמט אובייקט JSON, ונשמר בשדה structPayload. השדה structPayload מכיל את הפרטים הבאים:

שדה סוג תיאור
actor מחרוזת כתובת האימייל של המשתמש או של חשבון השירות שמבצע את הפעולה. זה בדיוק כמו user_id.
error מחרוזת אם אירעה שגיאה במהלך האירוע, מוצגים פרטים לגבי השגיאה. השדה הזה לא מופיע אם לא היו שגיאות. בדרך כלל, שגיאות מונעות את השלמת הבקשה. אפשר להשתמש בשדה הזה כדי לנפות באגים בבקשה שנכשלה.
event_subtype מחרוזת מתאר את סוג המשנה הספציפי כשיטת API.

לדוגמה, בקשה להוספת מופע חדש מופיעה כ-compute.instances.insert, ובקשה למחיקת משאב מסוג Address מופיעה כ-compute.addresses.delete.

רשימה מקיפה של רכיבי ה-method של ה-API מופיעה במאמרי העזרה של ה-API.

event_timestamp_us חותמת זמן חותמת הזמן, במיקרו-שניות, של האירוע שנרשם ביומן מאז התקופה הרגילה. זה בדיוק כמו בחודש metadata.timestamp.
event_type מחרוזת תיאור של סוג האירוע הכללי.

הערך יכול להיות אחד מהערכים הבאים:

  • ‫GCE_API_CALL. מציין קריאה ל-API בארכיטקטורת REST שעדכנה משאב.
  • ‫GCE_OPERATION_DONE. אחרי שבקשת API מסתיימת, בין אם היא הצליחה ובין אם לא, סוג האירוע הזה מתועד ביומן.
  • GCE_SYSTEM_EVENT. אירוע במערכת שהופעל על ידי Compute Engine.
info מחרוזת שדה אופציונלי עם מידע נוסף, אם רלוונטי. אם אין מידע נוסף להצגה, השדה הזה מושמט.
operation מחרוזת כשמבצעים בקשת API לעדכון או לשינוי של משאבים, נוצר אובייקט פעולה תואם כדי לעקוב אחרי הבקשה עד להשלמתה. המאפיין הזה מתאר את אובייקט הפעולה של האירוע, ומספק מידע כמו שם הפעולה, האזור או האזור של הפעולה ומזהה הפעולה.

הפעולות יכולות להיות פעולות אזוריות, פעולות אזוריות או פעולות גלובליות, בהתאם למשאב שהפעולה משנה.

request JSON מכיל את תוכן הבקשה המקורית ל-API.

resource JSON מתאר את המשאב הספציפי שמשתנה באירוע הזה. לדוגמה, מכונה וירטואלית (VM) נחשבת למשאב, והמאפיינים של משאב לדוגמה של מכונה וירטואלית נראים כך:
"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

רשימה של סוגי משאבים מתוארת בפירוט במאמרי העזרה של ה-API.

הערה: אם פעולה משפיעה על כמה משאבים, יכול להיות שיהיו כמה רשומות ביומן עם אותו trace_id.

trace_id מחרוזת מזהה מעקב שסופק על ידי המערכת ומשמש לקיבוץ יומנים קשורים שמופעלים על ידי פעולה אחת. לדוגמה:
trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent מחרוזת תיאור של הלקוח שביצע את הבקשה הזו. לדוגמה, אם השתמשתם בספריות הלקוח של Cloud ל-Java כדי לשלוח בקשה, סוכן המשתמש יהיה Google-API-Java-Client.
version מחרוזת הגרסה הנוכחית של פורמט היומן מציינת את סכימת היומן של Compute Engine. הגרסה הנוכחית היא 1.2.

הערה: הגרסאות של Compute Engine API נפרדות מהגרסאות של פורמט היומן.

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

דוגמה לרשומה ביומן

לדוגמה, רשומה לדוגמה ביומן שמתארת בקשת API ליצירת מכונה וירטואלית נראית כך:

{
  "log": "compute.googleapis.com/activity_log",
  "insertId": "2015-09-16|13:49:42.532185-07|10.106.9.208|335899593",
  "metadata": {
    "severity": "INFO",
    "projectId": "835469197146",
    "serviceName": "compute.googleapis.com",
    "zone": "us-central1-f",
    "labels":{
      "compute.googleapis.com/resource_id":"0",
      "compute.googleapis.com/resource_name":"example-instance",
      "compute.googleapis.com/resource_type":"instance",
      "compute.googleapis.com/resource_zone":"us-central1-f"
    },
    "timestamp": "2015-09-16T20:49:42.423637Z"
  },
  "structPayload": {
    "version": "1.2",
    "trace_id": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
    "event_timestamp_us": "1442436582423637",
    "event_type": "GCE_API_CALL",
    "event_subtype": "compute.instances.insert",
    "resource": {
      "type": "instance",
      "name": "example-instance",
      "id": "0",
      "zone": "us-central1-f"
    },
    "actor": {
      "user": "user@example.com"
    },
    "ip_address": "",
    "user_agent": "apitools-client/1.0",
    "request": {
      "url": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances",
      "body": "{
        \"canIpForward\":false,
        \"description\":\"\",
        \"disks\":[{
          \"autoDelete\":true,
          \"boot\":true,
          \"deviceName\":\"example-instance\",
          \"initializeParams\":{
            \"diskSizeGb\":\"10\",
            \"diskType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/diskTypes/pd-standard\",
            \"sourceImage\":\"https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20150818\"
          },
          \"mode\":\"READ_WRITE\",
          \"type\":\"PERSISTENT\"
        }],
        \"machineType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/n1-standard-1\",
        \"metadata\":{
          \"items\":[]
        },
        \"name\":\"example-instance\",
        \"networkInterfaces\":[{
            \"accessConfigs\":[{
              \"name\":\"External NAT\",
              \"type\":\"ONE_TO_ONE_NAT\"

            }],
            \"network\":\"https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\"
          }],
        \"scheduling\":{
          \"automaticRestart\":true,
          \"onHostMaintenance\":\"MIGRATE\",
          \"preemptible\":false
        },
        \"serviceAccounts\":[{
          \"email\":\"default\",
          \"scopes\":[
            \"https://www.googleapis.com/auth/devstorage.read_only\",
            \"https://www.googleapis.com/auth/logging.write\"
          ]
        }],
        \"tags\":{
          \"items\":[]
        },
        \"zone\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f\"
      }"
    },
    "operation": {
      "type": "operation",
      "name": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
      "id": "291347737657178184",
      "zone": "us-central1-f"
    }
  }
}

רשומות ביומן הפעילות שהוצאו משימוש

הרשומות הבאות ביומן הפעילות יופסקו ב-1 ביוני 2020, ללא תחליף:

סוג המשאב במעקב סוג משנה של אירוע
gce_backend_service BackendServiceConfigProgramming
gce_instance RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_instance addFirewallRuleToSecurityPolicy
gce_instance attachCloudLink
gce_instance attachFirewallSecurityPolicy
gce_instance compute.instanceGroupManagers.updateHealth
gce_instance compute.instanceGroups.detachHealthCheck
gce_instance compute.instanceNetworkConfig.updateName
gce_instance compute.regionInstanceGroups.attachHealthCheck
gce_instance compute.regionInstanceGroups.detachHealthCheck
gce_instance createFirewallSecurityPolicy
gce_instance deleteFirewallSecurityPolicy
gce_instance detachFirewallSecurityPolicy
gce_instance patchFirewallRuleInSecurityPolicy
gce_instance removeCloudLink
gce_instance removeFirewallRuleFromSecurityPolicy
gce_instance updateFirewallSecurityPolicy
gce_instance updateVpnTunnel
gce_instance_group compute.instanceGroups.attachHealthCheck
gce_instance_group compute.instanceGroups.attachNetworkInterfaces
gce_instance_group compute.instanceGroups.detachHealthCheck
gce_instance_group compute.regionInstanceGroups.attachHealthCheck
gce_instance_group compute.regionInstanceGroups.detachHealthCheck
gce_instance_template compute.zoneInstanceTemplates.insert
gce_network compute.networks.switchLegacyToCustomMode
gce_project compute.projects.moveProjectNetworking
gce_reserved_address compute.addresses.insertDnsForwarding
gce_reserved_address compute.addresses.insertNatAddress
gce_ssl_certificate RE_ENCRYPT_SSL_CERTIFICATE_FLOW
gce_ssl_certificate SslCertificateAddManagedCertificateChallenge
gce_ssl_certificate SslCertificateProvisionManagedCertificate
gce_ssl_certificate SslCertificateRemoveManagedCertificateChallenge
gce_subnetwork compute.subnetworks.createOrUpdateVirtualSubnetwork
vpn_tunnel updateVpnTunnel