יומני הפעילות של Compute Engine הם לא יומני ביקורת. יומני הביקורת מכילים את אותו מידע כמו יומני הפעילות מדור קודם ועוד. מומלץ להשתמש ביומני ביקורת במקום ביומני פעילות. אם אתם כבר משתמשים ביומני פעילות, כדאי לקרוא את המאמר בנושא מעבר מיומני פעילות ליומני ביקורת.
Compute Engine מספק יומני פעילות שמאפשרים לעקוב אחרי אירועים מסוימים שמשפיעים על הפרויקט, כמו קריאות ל-API ואירועים במערכת. באופן ספציפי, יומני הפעילות מספקים מידע על:
- קריאות ל-Compute Engine API: אירועי
GCE_API_CALLהם קריאות ל-API שמשנות את המצב של משאב. לדוגמה, קריאות ל-API ליצירת דיסק, לעדכון מטא-נתונים של מופע, ליצירת קבוצת מופעים או לשינוי סוג מכונה מתועדות ביומני הפעילות. קריאות ל-API שלא מעדכנות משאב, כמו בקשותgetו-list, לא נרשמות. - יומני פעולות: אירועים מתועדים כשקריאה ל-API משנה את מצב המשאב ומסתיימת. Compute Engine מחזיר אירוע של פעולה שהושלמה, שמתועד ביומני הפעילות.
GCE_OPERATION_DONE - יומני מערכת: אירועים מתועדים כש-Compute Engine מבצע אירוע מערכת, והם נרשמים ביומני פעילות.
GCE_SYSTEM_EVENTלדוגמה, אירוע תחזוקה שקוף יתועד כאירוע מערכת.
לדוגמה, כשמדובר באירוע API, יומן הפעילות מספק פרטים כמו שעת ההתחלה ושעת הסיום של בקשת API, פרטים ספציפיים לגבי גוף הבקשה, המשתמש המורשה ששלח את בקשת ה-API ונקודת הקצה של הבקשה. אתם יכולים להוריד יומני פעילות כדי לחפש בקשות ספציפיות ל-API, או כדי לבדוק אירועים במערכת שהופעלו על ידי Compute Engine.
יומני הפעילות לא מספקים מידע על החיוב או על השימוש בפרויקט, כמו משך הפעלת מופע של מכונה וירטואלית או העלות שלו. לגבי יומני חיוב, אפשר לעיין בתכונה ייצוא של חיובים. למידע על יומני שימוש, אפשר לעיין במאמר צפייה בדוחות שימוש.
יומני הפעילות מסופקים כחלק משירות Cloud Logging. מידע נוסף על רישום ביומנים באופן כללי זמין במאמר בנושא Cloud Logging.
לפני שמתחילים
- יש לכם ניסיון בשימוש ב-Cloud Logging.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
ההרשאות שנדרשות למשימה הזו
כדי לבצע את המשימה הזו, אתם צריכים את ההרשאות הבאות:
-
logging.logServiceIndexes.listבפרויקט -
logging.logServices.listבפרויקט
צפייה ביומנים
רישום הפעילות מופעל כברירת מחדל בכל הפרויקטים של Compute Engine.
אפשר לראות את יומני הפעילות של הפרויקט באמצעות Logs Explorer ב- Cloud de Confiance console:
- נכנסים לדף Logging במסוף Cloud de Confiance .
- בכלי 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 |
מחרוזת | מתאר את סוג המשנה הספציפי כרכיב method של 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 |