אם אתם משתמשים ביומני פעילות כדי לראות פעילות אדמין ואירועים במערכת ב-Compute Engine, כדאי לקרוא את המדריך הזה כדי להבין איך למצוא רשומות דומות ביומן באמצעות יומני ביקורת.
יומני הפעילות של Compute Engine הוצאו משימוש. אפשר לזהות רשומות ביומן הפעילות לפי שם היומן:
logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
יומני הביקורת של Compute Engine מכילים את אותו מידע שזמין דרך יומני הפעילות, ועוד. אבל יומני ביקורת מציגים את המידע באופן שונה בהשוואה ליומני פעילות. לכן תצטרכו לשנות את השאילתות.
איך מעבירים מיומני פעילות ליומני ביקורת
כדי להשתמש ביומני ביקורת במקום ביומני פעילות, צריך לשנות את השאילתות. פועלים לפי השלבים הבאים.
מאתרים את השאילתות הישנות. לדוגמה, יכול להיות ששמרתם אותם בחיפוש שמור בLogs Explorer או שיצרתם סקריפט באמצעות ה-API או ה-SDK. מידע נוסף על מעקב אחרי המשאבים זמין במאמר בנושא רישום ביומן.
מחליפים את השדות של יומן הפעילות בשדות מתאימים של יומן הביקורת. בטבלה אפשר לראות איך השדות ממופים אחד לשני.
לדוגמה, אם השאילתה ביומן הפעילות מדור קודם חיפשה שדה בשם
jsonPayload.resource.name, השאילתה החדשה ביומן הביקורת צריכה לחפש במקום זאת אתprotoPayload.resourceName.שומרים את השאילתה החדשה של יומן הביקורת ומשתמשים בה. לדוגמה, אפשר ליצור חיפוש שמור ב-Cloud Logging או לעדכן את הסקריפטים.
דוגמאות
הנה כמה דוגמאות לשאילתות שהומרו:
שאילתות לגבי פעילות שקשורה למשאב ספציפי
| דוגמה לשאילתה | |
|---|---|
| יומן פעילות מדור קודם | gcloud logging read jsonPayload.resource.name="VM_NAME"
|
| יומן ביקורת | אפשר לבחור באחת מהאפשרויות הבאות
באפשרות 1, האופרטור has ( |
שאילתות לגבי רשומות ביומן של פעילות אדמינים מהזמן האחרון
| דוגמה לשאילתה | |
|---|---|
| יומן פעילות מדור קודם | gcloud logging read logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log"
|
| יומן ביקורת | gcloud logging read logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" |
שאילתות לגבי רשומות ביומן של יצירת מופעים מהזמן האחרון
| דוגמה לשאילתה | |
|---|---|
| יומן פעילות מדור קודם | gcloud logging read 'logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log" AND jsonPayload.event_subtype="compute.instances.insert"' |
| יומן ביקורת | gcloud logging read 'logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.methodName:"compute.instances.insert"' |
שאילתה לגבי תחילת כל הפעולות של יצירת מופעים
| דוגמה לשאילתה | |
|---|---|
| יומן פעילות מדור קודם | gcloud logging read 'jsonPayload.event_type="GCE_API_CALL" AND jsonPayload.event_subtype="compute.instances.insert"' |
| יומן ביקורת | gcloud logging read 'operation.first="true" AND protoPayload.methodName:"compute.instances.insert"' |
שאילתה לגבי השלמת פעולה
| דוגמה לשאילתה | |
|---|---|
| יומן פעילות מדור קודם | gcloud logging read jsonPayload.event_type="GCE_OPERATION_DONE" |
| יומן ביקורת | gcloud logging read operation.last="true" |
ההבדלים בין יומני פעילות לבין יומני ביקורת
בקטע הזה מוסבר איך יומני ביקורת בנויים בצורה שונה מיומני פעילות. חשוב לזכור את ההבדלים האלה כשממירים שאילתות מיומן פעילות מדור קודם לשאילתות ביומן ביקורת. לדוגמה, בשאילתות, מחליפים את כל שמות השדות של יומני הפעילות מדור קודם בשמות השדות התואמים של יומני הביקורת.
גם יומני הביקורת וגם יומני הפעילות מחזירים אובייקטים של רשומות ביומן, אבל יש ביניהם הבדלים:
- שמות שדות שונים. פרטים נוספים זמינים בטבלה מיפוי שמות השדות.
- ערכים שונים בשדות, כולל:
- שמות יומנים שונים: ליומני ביקורת יש שמות יומנים שמכילים את הערך
cloudaudit.googleapis.com. - מטען ייעודי שונה: יומני הביקורת מחזירים שדה
protoPayloadבמקוםjsonPayload. - שמות מלאים של משאבים: יומני הביקורת מחזירים שמות של משאבים שכוללים את הנתיב שלהם, לדוגמה:
projects/my-project/zones/us-east1-b/instances/my-instance-name. - שמות של methods עם גרסאות: יומני הביקורת מחזירים שמות של methods שכוללים את הגרסה שלהן, לדוגמה,
v1.
- שמות יומנים שונים: ליומני ביקורת יש שמות יומנים שמכילים את הערך
בדוגמה הבאה מוצגים הבדלים בשמות של יומנים ובמטענים ייעודיים (payloads):
| דוגמה לרשומה ביומן | |
|---|---|
| יומן פעילות מדור קודם | {
insertId: "1x3bbhjg2wwvz1x"
jsonPayload: {
event_subtype: "compute.instances.stop"
...
resource: {
id: "12345678900123456789"
name: "my-instance-name"
type: "instance"
zone: "us-east1-b"
}
...
}
labels: {…}
logName: "projects/my-project/logs/compute.googleapis.com%2Factivity_log"
receiveTimestamp: "2019-08-26T12:22:44.602794616Z"
...
} |
| יומן ביקורת | {
insertId: "-w6o499e22fwk"
logName: "projects/my-project/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload: {
...
methodName: "beta.compute.instances.stop"
...
resourceName: "projects/my-project/zones/us-east1-b/instances/my-instance-name"
}
receiveTimestamp: "2019-08-26T12:22:46.881198276Z"
...
} |
מיפוי שדות מיומני פעילות ליומני ביקורת
הטבלאות הבאות יעזרו לכם למפות את השדות ביומן הפעילות לשדות התואמים ביומן הביקורת בשאילתות שלכם.
שדות
כדי להחליף את השדות של יומן הפעילות מדור קודם בשדות של יומן הביקורת בשאילתות המעודכנות, אפשר להיעזר בטבלה הבאה.
לדוגמה, אם השאילתה ביומן הפעילות מדור קודם כללה מסנן שמבוסס על jsonPayload.resource.type, השאילתה החדשה ביומן הביקורת צריכה לסנן לפי resource.type.
| שדה יומן פעילות מדור קודם | שדה ביומן הביקורת |
|---|---|
insertId |
insertId |
jsonPayload.actor.user |
protoPayload.authenticationInfo.principalEmail |
jsonPayload.event_subtype |
protoPayload.methodName |
jsonPayload.event_timestamp_us |
timestamp |
jsonPayload.event_type="GCE_API_CALL" |
operation.first="true" |
jsonPayload.event_type="GCE_OPERATION_DONE" |
operation.last="true" |
jsonPayload.request |
protoPayload.request |
jsonPayload.operation |
operation |
jsonPayload.resource.id |
resource.labels.instance_id |
jsonPayload.resource.name |
protoPayload.resourceName |
jsonPayload.resource.type |
resource.type |
jsonPayload.resource.zone |
resource.labels.zone |
jsonPayload.trace_id |
operation.id |
jsonPayload.user_agent |
protoPayload.requestMetadata.callerSuppliedUserAgent |
labels.compute.googleapis.com/resource_id |
resource.labels.[RESOURCE_TYPE]_id |
labels.compute.googleapis.com/resource_name |
protoPayload.resourceName |
labels.compute.googleapis.com/resource_type |
resource.type |
labels.compute.googleapis.com/resource_zone |
אחת מהאפשרויות הבאות:
|
logName |
logName |
receiveTimestamp |
receiveTimestamp |
resource.labels |
resource.labels |
severity |
severity |
timestamp |
timestamp |
ערכי שדות
בטבלאות הבאות מפורטים ערכי השדות ביומן הפעילות מדור קודם וערכי השדות ביומן הביקורת. בהשוואה ליומני פעילות, ליומני ביקורת יש כמה ערכים של שם היומן וערכים שונים של payload. ערכים ביומן הביקורת מחזירים גם שמות מלאים של משאבים ושמות של שיטות עם מספור גרסאות.
שמות של יומני רישום
כדי למצוא רשומה ביומן הביקורת, מחפשים logName שכולל את cloudaudit.googleapis.com.
| שם יומן הביקורת | תוכן היומן | |
|---|---|---|
| יומן פעילות מדור קודם | projects/PROJECT_ID/logs/compute.googleapis.com%2Factivity_log | פעילות של אדמין ואירועי מערכת |
| יומן ביקורת | projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity | פעילות של אדמין |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event | אירועי מערכת | |
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access | גישה לנתונים |
מטענים ייעודיים (payloads)
בכל רשומה ביומן הביקורת, מחפשים את הסמל protoPayload במקום jsonPayload.
| סוג המטען הייעודי (Payload) | דוגמה למטען ייעודי | |
|---|---|---|
| יומן פעילות מדור קודם | jsonPayload | jsonPayload: {
actor: {…}
event_subtype: "compute.instances.start"
event_timestamp_us: "1566404493487248"
event_type: "GCE_API_CALL"
ip_address: ""
operation: {…}
request: {…}
resource: {…}
trace_id: "operation-1566404491560-590a2f74b4705-a1ae0686-d896d772"
user_agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
version: "1.2"
} |
| יומן ביקורת | protoPayload | protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
authenticationInfo: {…}
methodName: "v1.compute.instances.start"
request: {…}
requestMetadata: {…}
resourceName: "projects/my-project/zones/us-central1-a/instances/alert"
serviceName: "compute.googleapis.com"
} |
כדי להבין את הקשר בין מטענים ייעודיים (payloads) שונים, ואיך למפות שדות מיומן פעילות מדור קודם לשדות ביומן ביקורת, אפשר לקרוא את המאמר מיפוי שדות של רשומות ביומן.
שמות המשאבים
ביומני ביקורת, שמות משאבי ה-API (בשדה protoPayload.resourceName) הם שמות מלאים, לדוגמה:
resourceName: "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
עדיין אפשר להשתמש בשמות חלקיים, אבל צריך לתקן את השאילתה כך שתשתמש באופרטור has (:) במקום באופרטור equals.
כדי לסנן לפי משאב ספציפי, משתמשים באחת מהאפשרויות הבאות בשאילתות של יומן הביקורת:
gcloud logging read protoPayload.resourceName:"VM_NAME"
gcloud logging read protoPayload.resourceName="projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
שמות השיטות
ביומני הביקורת, שמות ה-method של ה-API (בשדה protoPayload.methodName) מופיעים עם קידומת של הגרסה, למשל: v1.compute.instances.delete.
| שדה | ערך | דוגמה לשאילתה | |
|---|---|---|---|
| יומן פעילות מדור קודם | jsonPayload.event_subtype | RESOURCE.METHOD | jsonPayload.event_subtype=compute.instances.delete |
| יומן ביקורת | protoPayload.methodName | API_VERSION.RESOURCE.METHOD | protoPayload.methodName=v1.compute.instances.deleteאו protoPayload.methodName=beta.compute.instances.deleteאו protoPayload.methodName:compute.instances.delete |
עדיין אפשר להשתמש בשמות שיטות ללא ציון גרסה בשאילתות ביומן הביקורת, אבל צריך לתקן את השאילתה כך שתשתמש באופרטור has (:) במקום באופרטור equals (=). לדוגמה: protoPayload.methodName:compute.instances.delete מחזיר את כל הקריאות ל-API למחיקת מופעים, ללא קשר לגרסה. מידע נוסף על אופרטורים זמין במאמר בנושא השוואות.
המאמרים הבאים
- כדאי לקרוא את התחלה מהירה לשימוש בכלי הרישום ביומן.
- מידע נוסף על צפייה ברשומות ביומן
- מידע על צפייה ביומנים באמצעות מסנני יומנים מתקדמים
- מידע נוסף על יומני ביקורת של Cloud ב-Compute Engine