יומני הפעילות של 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
-
התקינו את ה-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:
- נכנסים לדף Logging במסוף Google Cloud .
- בכלי Logs Explorer, בוחרים את סוג המשאב ומסננים אותו מהרשימה הנפתחת הראשונה.
- בתפריט הנפתח 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.
לדוגמה, בקשה להוספת מופע חדש מופיעה כ- רשימה מקיפה של רכיבי ה-method של ה-API מופיעה במאמרי העזרה של ה-API. |
event_timestamp_us |
חותמת זמן | חותמת הזמן, במיקרו-שניות, של האירוע שנרשם ביומן מאז התקופה הרגילה.
זה בדיוק כמו בחודש metadata.timestamp. |
event_type |
מחרוזת | תיאור של סוג האירוע הכללי.
הערך יכול להיות אחד מהערכים הבאים:
|
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: "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 |