גישה ליומני זרימת נתונים

בדף הזה מוסבר איך לגשת ליומני תנועה באמצעות Cloud Logging.

גישה ליומני זרימת תנועה בכלי Logs Explorer

VPC Flow Logs כותב יומנים ל Google Cloud פרויקט של מדווח היומן. אפשר לראות את יומני הזרימה בכלי Logs Explorer. השירות VPC Flow Logs משתמש ביומנים הבאים כדי לאסוף רשומות ביומן:

הגדרת IAM

כדי להגדיר בקרת גישה לרישום ביומן, ראו את המדריך לבקרת גישה לרישום ביומן.

צפייה ביומני זרימה באמצעות מסנני משאבים

כדי לראות יומני תנועה בפרויקט באמצעות מסנני משאבים, אפשר לעיין בקטעים הבאים. Google Cloud אפשר גם להציג את היומנים האלה באמצעות שאילתות ב-Logs Explorer, כמו שמתואר במאמר סינון יומני זרימה באמצעות שאילתות.

צפייה ביומני זרימה של כל ההגדרות (networkmanagement.googleapis.com/vpc_flows)

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

    כניסה לדף Logs Explorer

  2. לוחצים על כל המשאבים.

  3. ברשימה Select resource, לוחצים על VPC Flow Logs Config ואז על Apply.

צפייה ביומני תהליכים להגדרה ספציפית (networkmanagement.googleapis.com/vpc_flows)

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

    כניסה לדף Logs Explorer

  2. לוחצים על כל המשאבים.

  3. ברשימה Select resource, לוחצים על VPC Flow Logs Config ובוחרים את ההגדרה של יומני הזרימה של ה-VPC שרוצים להציג.

  4. לוחצים על אישור.

צפייה ביומני זרימה של כל ההגדרות (compute.googleapis.com/vpc_flows)

אם הפעלתם את יומני הזרימה של VPC באמצעות Compute Engine API, אתם צריכים לפעול לפי השלבים הבאים.

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

    כניסה לדף Logs Explorer

  2. לוחצים על כל המשאבים.

  3. ברשימה Select resource, לוחצים על Subnetwork ואז על Apply.

  4. לוחצים על כל שמות היומנים.

  5. ברשימה Select log names, מחפשים את Compute Engine, לוחצים על vpc_flows ואז על Apply.

הצגת יומני זרימה של תת-רשת ספציפית (compute.googleapis.com/vpc_flows)

אם הפעלתם את יומני הזרימה של VPC באמצעות Compute Engine API, אתם צריכים לפעול לפי השלבים הבאים.

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

    כניסה לדף Logs Explorer

  2. לוחצים על כל המשאבים.

  3. ברשימה Select resource, לוחצים על Subnetwork.

  4. ברשימה Subnetwork ID, בוחרים את רשת המשנה ולוחצים על Apply.

  5. לוחצים על כל שמות היומנים.

  6. ברשימה Select log names, מחפשים את Compute Engine, לוחצים על vpc_flows ואז על Apply.

סינון יומני זרימת נתונים באמצעות שאילתות

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

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

    כניסה לדף Logs Explorer

  2. אם שדה עורך השאילתות לא מופיע בחלונית Query, לוחצים על המתג Show query.

  3. בשדה עורך השאילתות, מזינים שאילתה:

    • לדוגמה, כדי לראות את יומני התנועה של מנהרת Cloud VPN ספציפית של מקור, מזינים את השאילתה הבאה:

      resource.type="vpc_flow_logs_config"
      logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
      jsonPayload.reporter="SRC_GATEWAY"
      labels.target_resource_name="projects/PROJECT_NUMBER/regions/REGION/vpnTunnels/NAME"
      

      מחליפים את מה שכתוב בשדות הבאים:

      • PROJECT_ID: מזהה הפרויקט של מנהרת Cloud VPN Google Cloud
      • PROJECT_NUMBER: מספר הפרויקט של מנהרת Cloud VPN
      • REGION: האזור של מנהרת Cloud VPN
      • NAME: השם של מנהרת Cloud VPN
    • אם הפעלתם את יומני הזרימה של VPC עבור רשת משנה באמצעות Compute Engine API, השאילתה צריכה להיות ממוקדת ב-compute.googleapis.com. לדוגמה, מזינים את השאילתה הבאה, מחליפים את PROJECT_ID במזהה הפרויקט שלכם Google Cloud ואת SUBNET_NAME ברשת המשנה שלכם:

      resource.type="gce_subnetwork"
      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
      resource.labels.subnetwork_name="SUBNET_NAME"
      

      דוגמאות נוספות לשאילתות שאפשר להריץ כדי לראות את יומני הזרימה זמינות במאמר דוגמאות לשאילתות ב-Logs Explorer ליומני זרימה של VPC.

  4. לוחצים על Run query.

דוגמאות לשאילתות ב-Logs Explorer עבור VPC Flow Logs

בקטע הזה מפורטות דוגמאות לשאילתות ב-Logs Explorer שאפשר להריץ כדי לראות את יומני התנועה. חשוב לכלול את הפרטים הבאים בכל השאילתות:

  • מציינים את סוג המשאב ואת שם היומן שרוצים לשלוח לגביו שאילתה, כמו שמתואר בטבלה הבאה. אפשר לשלוח שאילתה על שני היומנים בשאילתה אחת.

    יומן סוג המשאב ושם היומן
    networkmanagement.googleapis.com/vpc_flows

    איסוף יומנים של הגדרות שמנוהלות על ידי Network Management API.

    resource.type="vpc_flow_logs_config"
    logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
    
    compute.googleapis.com/vpc_flows

    איסוף יומנים להגדרות שמנוהלות על ידי Compute Engine API.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"

    מחליפים את PROJECT_ID במזהה הפרויקט של המשאב שממנו מופק הדוח. Google Cloud

  • אם משתמשים בכמה הגדרות של יומני זרימה של VPC לכל משאב, צריך לציין את שם ההגדרה שרוצים לשלוח לגביה שאילתה ואת משאב היעד על ידי הוספת השדות resource.labels.name ו-labels.target_resource_name לשאילתה. כך אפשר לוודא שיומנים כפולים לא ייכללו בתוצאות השאילתה. מידע נוסף זמין במאמר בנושא כפילויות ביומנים.

    • resource.labels.name הוא שם ההגדרה. אפשר לציין כמה הגדרות לכל שאילתה.
    • labels.target_resource_name הוא השם של רשת ה-VPC, תת-הרשת, צירוף ה-VLAN או מנהרת Cloud VPN שמופיעים בדוח. ההגדרות לארגונים לא קובעות משאב יעד.
    • השדות האלה זמינים רק ביומן networkmanagement.googleapis.com/vpc_flows.

בטבלה הבאה מופיעות דוגמאות לשאילתות ב-Logs Explorer שבהן אפשר להשתמש כדי להציג את יומני התנועה.

היומנים שרוצים לראות שאילתה
כל יומני התנועה
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
יומנים של הגדרה ספציפית
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
resource.labels.name="CONFIG_NAME"
יומנים של מכונות וירטואליות ברשת VPC ספציפית
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.vpc_name="NETWORK_NAME" OR
jsonPayload.dest_vpc.vpc_name="NETWORK_NAME")
יומנים של מכונות וירטואליות ברשת משנה ספציפית
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" OR
jsonPayload.dest_vpc.subnetwork_name="SUBNET_NAME")
יומנים של מכונת VM ספציפית
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_instance.vm_name="VM_NAME" OR
jsonPayload.dest_instance.vm_name="VM_NAME")
יומנים של אשכול ספציפי ב-Google Kubernetes Engine
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_gke_details.cluster.cluster_name="CLUSTER_NAME" OR
jsonPayload.dest_gke_details.cluster.cluster_name="CLUSTER_NAME")
יומנים רק של תנועת נתונים יוצאת ממכונה וירטואלית מתת-רשת
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.reporter="SRC" AND
jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" AND
(jsonPayload.dest_vpc.subnetwork_name!="SUBNET_NAME" OR NOT
jsonPayload.dest_vpc.subnetwork_name:*)
יומנים רק של תעבורת נתונים יוצאת (egress) של מכונות וירטואליות מרשת VPC
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.reporter="SRC" AND
jsonPayload.src_vpc.vpc_name="VPC_NAME" AND
(jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
יומנים של תנועה לטווח ספציפי של רשתות משנה
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
ip_in_net(jsonPayload.connection.dest_ip, "SUBNET_RANGE")
יומנים של יציאת יעד ספציפית
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=PORT
jsonPayload.connection.protocol=PROTOCOL
יומנים של כמה יציאות יעד
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=(PORT_1 OR PORT_2)
jsonPayload.connection.protocol=PROTOCOL
יומנים של מנהרת Cloud VPN ממקור ספציפי
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="SRC_GATEWAY"
labels.target_resource_name="projects/PROJECT_NUMBER/regions/REGION/vpnTunnels/NAME"
יומנים של כל הצירופים ל-VLAN של היעד
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="DEST_GATEWAY"
jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT"
יומנים של כל הצירופים ל-VLAN של היעד באזור ספציפי
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="DEST_GATEWAY"
jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT"
jsonPayload.dest_gateway.location="REGION"

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • CONFIG_NAME: השם של ההגדרה של VPC Flow Logs
  • SUBNET_NAME: השם של רשת המשנה
  • VM_NAME: השם של המכונה הווירטואלית
  • SUBNET_RANGE: טווח CIDR, למשל 192.168.1.0/24
  • CLUSTER_NAME: השם של אשכול GKE
  • VPC_NAME: השם של רשת ה-VPC
  • PORT_1 ו-PORT_2: יציאות היעד
  • PROTOCOL: פרוטוקול התקשורת
  • PROJECT_NUMBER: מספר הפרויקט של מנהרת Cloud VPN
  • REGION: האזור של הצירוף ל-VLAN או של מנהרת Cloud VPN
  • NAME: השם של מנהרת Cloud VPN

ניתוב יומנים ל-BigQuery,‏ Pub/Sub ויעדים בהתאמה אישית

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

פתרון בעיות

לא מופיעים vpc_flows ב-Logging עבור המשאב gce_subnetwork

  • מוודאים שהרישום ביומן מופעל עבור רשת המשנה הנתונה.
  • זרימות VPC נתמכות רק ברשתות VPC. אם יש לכם רשת מדור קודם, לא תראו יומנים.
  • ברשתות VPC משותף, היומנים מופיעים רק בפרויקט המארח ולא בפרויקטים של השירות. חשוב לוודא שאתם מחפשים את היומנים בפרויקט המארח.
  • מסנני החרגה ביומן חוסמים יומנים ספציפיים. מוודאים שאין כללי החרגה שמבטלים את ה-VPC Flow Logs:
    1. עוברים אל Log router (נתב יומנים).
    2. בתפריט פעולות נוספות של מאגר היומנים, לוחצים על הצגת פרטים של יעד.
    3. מוודאים שאין כללי החרגה שעלולים לגרום להשלכת VPC Flow Logs.
  • אתם יכולים להשתמש ב-Google Cloud CLI או ב-API כדי לבדוק אם הגדרת סינון יומנים מסננת את כל התעבורה ברשת משנה נתונה. לדוגמה, אם הערך של filterExpr מוגדר כ-false, לא יוצגו יומנים.

אין ערכים של זמן הלוך ושוב או של בייטים בחלק מהיומנים

  • יכול להיות שחסרים נתוני מדידה של RTT אם לא נדגמו מספיק מנות כדי לתעד את ה-RTT. הסיכוי שזה יקרה גבוה יותר בחיבורים עם נפח נמוך.
  • ערכי ה-RTT זמינים רק לזרימות TCP שמדווחות ממכונות וירטואליות.
  • חלק מהמנות נשלחות ללא מטען ייעודי (payload). אם מתבצעת דגימה של חבילות עם כותרת בלבד, ערך הבייטים הוא בדרך כלל אפס. מידע נוסף זמין במאמר בנושא פורמט של רשומות.

חלק מהתהליכים חסרים

  • מבוצעת דגימה של מנות נתונים נכנסות אחרי כללי חומת האש ב-VPC. צריך לוודא שאין כללים של חומת אש לתעבורת נתונים נכנסת (ingress) שחוסמים את החבילות שאתם מצפים שיירשמו ביומן. אם אתם לא בטוחים אם כללי חומת האש ב-VPC חוסמים חבילות נתונים נכנסות, אתם יכולים להפעיל ניהול כללי חומת אש ולבדוק את היומנים.
  • נתמכים רק הפרוטוקולים TCP,‏ UDP,‏ ICMP,‏ ESP ו-GRE. ‫VPC Flow Logs לא תומך בפרוטוקולים אחרים.
  • היומנים נדגמים. יכול להיות שחלק מהמנות בתנועה עם נפח נמוך מאוד לא יזוהו.

חסרות הערות GKE בחלק מהיומנים

מוודאים שגרסת אשכול GKE שלכם היא גרסה נתמכת.

חסרים יומנים לחלק מהזרימות ב-GKE

מוודאים שההגדרה Intranode visibility מופעלת באשכול. אחרת, זרימות בין Pods באותו צומת לא מתועדות.

יומנים כפולים

כל הגדרה של VPC Flow Logs יוצרת קבוצה נפרדת של יומנים. אם פרטי הרישום מכילים רשומות כפולות, צריך לבדוק אם משאב הדיווח משויך ליותר מהגדרה אחת.

משאב משויך ליותר מהגדרה אחת אם יוצרים כמה הגדרות לכל משאב, או אם יוצרים כמה הגדרות וההיקפים שלהן חופפים, כמו שמתואר ברשימה הבאה:

  • יומני תנועה של VPC מוגדרים לארגון, ויש לכם הגדרות נוספות לארגון או לרשתות VPC, לרשתות משנה, לחיבורי VLAN או למנהרות Cloud VPN באחד מהפרויקטים של הארגון.

    כברירת מחדל, הגדרה של יומני זרימה של VPC בארגון יוצרת יומנים לכל המכונות הווירטואליות בכל רשתות המשנה, לכל הקבצים המצורפים של VLAN ולכל מנהרות Cloud VPN בארגון. אם יוצרים הגדרות נוספות, כל הגדרה נוספת יוצרת קבוצה משלה של יומנים.

  • הגדרתם את יומני התנועה של VPC לרשת VPC, ויש לכם הגדרות נוספות לרשתות משנה, לחיבורי VLAN או למנהרות Cloud VPN באותה רשת.

    כברירת מחדל, הגדרה של יומני זרימה של VPC ברשת VPC יוצרת יומנים לכל מכונות ה-VM בכל רשתות המשנה, לכל קבצים מצורפים של VLAN ולכל מנהרות Cloud VPN ברשת. אם יוצרים הגדרות נוספות, כל הגדרה נוספת יוצרת קבוצה משלה של יומנים.

  • אפשר להגדיר יומני זרימה של VPC עבור רשת משנה באמצעות Network Management API ו-Compute Engine API. ההגדרה של יומני הזרימה של VPC שמנוהלים על ידי Compute Engine API עבור רשת המשנה, וכל הגדרה רלוונטית שאתם יוצרים באמצעות Network Management API כדי ליצור יומנים.

מידע נוסף על המשאבים שנרשמים ביומן לפי כל היקף הגדרה של יומני תנועה ב-VPC זמין במאמר תצורות נתמכות. כדי לראות את ההגדרות של יומני הזרימה של VPC, אפשר לעיין במאמר בנושא הצגת ההגדרות של יומני הזרימה של VPC (הכול).

כדי לסנן יומנים כפולים כשמציגים אותם, אפשר להשתמש בשדות הבאים:

  • כדי לסנן יומנים לפי שם היומן, מציינים את השדות resource_type ו-log_name.
  • כדי לסנן את היומנים לפי הגדרה ושם משאב היעד, מציינים את השדות resource.labels.name ו-labels.target_resource_name.

מידע נוסף על השדות האלה ועל אופן השימוש בהם זמין במאמר דוגמאות לשאילתות ב-Logs Explorer ליומני זרימה של VPC.

המאמרים הבאים