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

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

פורמט ההקלטה

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

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

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

שדה פורמט השדה סוג השדה: מטא-נתונים בסיסיים או אופציונליים
חיבור IpConnection
חמישייה שמתארת את הזרימה.
תוכנית בסיסית
מדווח/ת string
הצד שדיווח על התנועה:
  • בנקודות קצה של מכונות וירטואליות ושל שירותים בלי שרת (serverless), אפשר להשתמש ב-SRC או ב-DEST כדי לדווח.
  • בשערי VLAN כמו Cloud Interconnect ומנהרות Cloud VPN, המדווח יכול להיות SRC_GATEWAY או DEST_GATEWAY.
תוכנית בסיסית
round_trip_time זמני אחזור
זמן אחזור הלוך ושוב באלפיות השנייה, עם דיוק של אלפית השנייה, כפי שנמדד במהלך מרווח הצבירה. השדה הזה מאוכלס עבור תעבורת TCP (למכונות וירטואליות ולנקודות קצה ללא שרת) ועבור תעבורת Falcon.
  • במקרה של תעבורת TCP, זמן האחזור שנמדד הוא הזמן שחלף בין שליחת SEQ לבין קבלת ACK תואם.
  • במקרה של תנועה ב-Falcon, זמן האחזור הוא ה-RTT שנמדד בחומרה.
לא מאוכלס עבור תנועה שהופסקה (disposition=DROPPED).
תוכנית בסיסית
rtt_msec int64
זמן הלוך ושוב (RTT) באלפיות השנייה, כפי שנמדד במהלך מרווח הצבירה. השדה הזה מאוכלס באופן הבא:
  • המדידה מתבצעת רק לגבי תנועת TCP
  • מאוכלס עבור מכונות וירטואליות ונקודות קצה ללא שרת
  • לא מאוכלס עבור צירופים ל-VLAN ומנהרות Cloud VPN
  • הערך לא מאוכלס לגבי תנועה שהופסקה (disposition=DROPPED)

זמן ה-RTT שנמדד הוא הזמן שחלף בין שליחת SEQ לבין קבלת ACK תואם.

תוכנית בסיסית
bytes_sent ‫int64
מספר משוער של בייטים של מטען ייעודי למשתמש שנשלחו מהמקור ליעד.1 עבור מנות ללא מטען ייעודי למשתמש, הערך הוא אפס.2 לא מאוכלס עבור תעבורה שהופסקה (disposition=DROPPED).
תוכנית בסיסית
packets_sent int64
המספר המשוער של חבילות הנתונים שנשלחו מהמקור ליעד.1 לא מאוכלס עבור תנועה שהופסקה (disposition=DROPPED).
תוכנית בסיסית
start_time מחרוזת
חותמת זמן (פורמט מחרוזת תאריך RFC 3339) של המנה הראשונה שנצפתה במהלך מרווח הזמן המצטבר.
תוכנית בסיסית
end_time מחרוזת
חותמת הזמן (בפורמט מחרוזת תאריך RFC 3339) של המנה האחרונה שנצפתה במהלך מרווח הזמן המצטבר.
תוכנית בסיסית
מחיקה string
מאוכלס רק ברשומות ביומן שמתעדות השמטות של מנות נתונים. השדה הזה מוגדר ל-DROPPED.
תוכנית בסיסית
drop_reason מחרוזת
מאוכלס רק ברשומות ביומן עם disposition=DROPPED. מידע נוסף זמין במאמרים בנושא הערות על אובדן מנות והסיבות לאובדן מנות.
תוכנית בסיסית
bytes_dropped int64
מספר משוער של בייטים של מטען ייעודי למשתמש שהושמטו מהמקור ליעד. השדה הזה מאוכלס רק ברשומות ביומן עם הערך disposition=DROPPED.
תוכנית בסיסית
packets_dropped int64
מספר החבילות המשוער שהושמטו מהמקור ליעד. השדה הזה מאוכלס רק ברשומות ביומן עם disposition=DROPPED.
תוכנית בסיסית
throughput_inclusion מחרוזת
מאוכלס רק ברשומות ביומן עם disposition=DROPPED. מציין אם התנועה שהופסקה נכללת (INCLUDED) או מוחרגת (EXCLUDED) מהשדות bytes_sent ו-packets_sent שמדווחים על הזרימה על ידי אותו מדווח.
תוכנית בסיסית
שדות המטא-נתונים של המקור והיעד
src_gateway GatewayDetails
אם המקור של הזרימה הוא נקודת קצה מקומית או בענן אחר שמחוברת ל- Google Cloud דרך שער כמו חיבור VLAN ל-Cloud Interconnect או מנהרת Cloud VPN, ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטי השער:
  • שער המקור הוא המדווח של הזרימה.
  • היעד של התהליך הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • שער המקור נמצא באותו פרויקט כמו היעד של ה-Flow.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
dest_gateway GatewayDetails
אם היעד של הזרימה הוא נקודת קצה מקומית או בענן אחר שמחוברת אל Google Cloud דרך שער כמו חיבור VLAN ל-Cloud Interconnect או מנהרת Cloud VPN, ואחד מהתנאים הבאים מתקיים, השדה הזה יאוכלס בפרטי השער:
  • שער היעד הוא המדווח של התנועה.
  • המקור של התנועה הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • שער היעד נמצא באותו פרויקט כמו המקור של הזרימה.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
src_gke_details GkeDetails
אם המקור של הזרימה הוא נקודת קצה של Google Kubernetes Engine‏ (GKE), השדה הזה מאוכלס בפרטים של נקודת הקצה של GKE.
מטא-נתונים
dest_gke_details GkeDetails
אם היעד של הזרימה הוא נקודת קצה של GKE, השדה הזה מאוכלס בפרטים של נקודת הקצה של GKE.
מטא-נתונים
src_google_service GoogleServiceDetails
אם המקור של הזרימה הוא שירות Google, השדה הזה מאוכלס בפרטי השירות.
מטא-נתונים
dest_google_service GoogleServiceDetails
אם היעד של הזרימה הוא שירות Google, השדה הזה יאוכלס בפרטי השירות.
מטא-נתונים
src_instance InstanceDetails
אם המקור של הזרימה הוא מכונה וירטואלית שנמצאת ברשת VPC ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של המכונה הווירטואלית:
  • המכונה הווירטואלית המקורית היא המדווחת על התהליך.
  • היעד של התהליך הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • המכונה הווירטואלית של המקור, או רשת ה-VPC שאליה המכונה הווירטואלית של המקור מצורפת, נמצאת באותו פרויקט כמו היעד של הזרימה.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
dest_instance InstanceDetails
אם היעד של הזרימה הוא מכונה וירטואלית שנמצאת ברשת VPC ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של המכונה הווירטואלית.
  • המכונה הווירטואלית של היעד היא המדווחת על התהליך.
  • המקור של התנועה הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • המכונה הווירטואלית של היעד או רשת ה-VPC שאליה היא מצורפת נמצאים באותו פרויקט כמו המקור של הזרימה.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
src_location GeographicDetails
אם המקור של הזרימה הוא כתובת IP ציבורית מחוץ לרשת ה-VPC, השדה הזה מאוכלס במטא-נתונים של המיקום שזמינים.
מטא-נתונים
dest_location GeographicDetails
אם היעד של הזרימה הוא כתובת IP ציבורית מחוץ לרשת ה-VPC, השדה הזה מאוכלס במטא-נתונים של המיקום שזמינים.
מטא-נתונים
src_serverless_details ServerlessDetails
אם המקור של הזרימה הוא נקודת קצה בלי שרת (serverless), כמו משאב Cloud Run שהוגדר עם Direct VPC egress, השדה הזה מאוכלס במטא-נתונים של בלי שרת (serverless).
מטא-נתונים
dest_serverless_details ServerlessDetails
אם היעד של הזרימה הוא נקודת קצה serverless, כמו משאב Cloud Run שהוגדר עם תעבורת נתונים יוצאת (egress) ישירה של VPC, השדה הזה מאוכלס במטא-נתונים של serverless.
מטא-נתונים
src_vpc VpcDetails
אם המקור של הזרימה הוא מכונה וירטואלית או נקודת קצה של serverless שנמצאת ברשת VPC, ואחד מהתנאים הבאים מתקיים, השדה הזה יאוכלס בפרטים של רשת ה-VPC:
  • משאב המקור הוא המשאב שמדווח על התנועה.
  • היעד של התהליך הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • משאב המקור או רשת ה-VPC שאליה משאב המקור מצורף נמצאים באותו פרויקט כמו היעד של הזרימה.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
dest_vpc VpcDetails
אם היעד של הזרימה הוא מכונה וירטואלית או נקודת קצה של serverless שנמצאת ברשת VPC, ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של רשת ה-VPC:
  • משאב היעד הוא המשאב שמדווח על התנועה.
  • המקור של התנועה הוא המדווח, ואחד מהתנאים הבאים מתקיים:
    • משאב היעד או רשת ה-VPC שאליה משאב היעד מצורף נמצאים באותו פרויקט כמו המקור של הזרימה.
    • ההגדרה של VPC Flow Logs היא ברמת הארגון, וההערות בין פרויקטים לא מושבתות.3
מטא-נתונים
שדות אחרים של מטא-נתונים
internet_routing_details InternetRoutingDetails
אם התנועה היא בין Google Cloud לאינטרנט, השדה הזה יאוכלס בפרטי הניתוב. האפשרות זמינה רק לזרימות של נתונים יוצאים.
מטא-נתונים
load_balancing LoadBalancingDetails
אם התנועה עוברת דרך מאזן עומסים באחת מההגדרות הבאות, השדה הזה מאוכלס בפרטים של Cloud Load Balancing:
  • הגורם המדווח על התנועה הוא הלקוח של מאזן העומסים, וסוג מאזן העומסים הוא APPLICATION_LOAD_BALANCER,‏ PROXY_NETWORK_LOAD_BALANCER,‏ PASSTHROUGH_NETWORK_LOAD_BALANCER או PROTOCOL_FORWARDING.
  • הדיווח על התעבורה מגיע מהקצה העורפי של מאזן העומסים, וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER או PROTOCOL_FORWARDING.
מטא-נתונים
network_service NetworkServiceDetails
אם כותרת נקודת הקוד לשירותים מבודלים (DSCP) מוגדרת, השדה הזה מאוכלס בפרטים של שירות הרשת.
מטא-נתונים
psc PrivateServiceConnectDetails
אם הזרימה משויכת לחיבור Private Service Connect – כולל חיבור שמופץ דרך Network Connectivity Center – ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של Private Service Connect:
  • הגורם המדווח על התנועה הוא צרכן שמשתמש בנקודת קצה של Private Service Connect שמכוונת לשירות שפורסם או לממשקי Google APIs גלובליים.
  • הגורם שמדווח על התנועה הוא יצרן שמשתמש במאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי או בהעברת פרוטוקול פנימית.
מטא-נתונים
rdma_traffic_type מחרוזת
סוג התנועה של RDMA. השדה מאוכלס עבור תעבורת נתונים מ-GPU ל-GPU בין מכונות וירטואליות. יכול להיות GPUDirect-TCPXO, Falcon או RoCE.
מטא-נתונים
1 סך משוער שמבוסס על מנות שנדגמו. כדי לקבל את הנתונים הכי מדויקים, כדאי לצבור נתונים מיומנים לאורך תקופות זמן ארוכות יותר או ממקורות רבים יותר. מידע נוסף על דיוק ודגימה זמין במאמרים VPC Flow Logs: Understanding byte and packet counts ו-Log sampling and processing.
2 בתנועה של Falcon, הערך של הבייטים שנשלחו מחושב באופן שונה עבור המקור והיעד:
  • אם מכונת ה-VM המקורית היא המדווחת, ערך הבייטים שדווח הוא הסכום של בייטים של מטען ייעודי למשתמש ובייטים של כותרת החבילה שנשלחו. הערך הזה תמיד גדול מאפס, גם עבור מנות שלא מכילות מטען ייעודי (payload) של משתמש.
  • אם מכונת ה-VM של היעד היא המדווחת, ערך הבייטים שדווח הוא בייטים של מטען ייעודי למשתמש שהתקבלו והועברו לשכבת האפליקציה. במנות מידע ללא מטען ייעודי (payload) של משתמש, ערך הבייטים הוא אפס.
3 אם יומני הזרימה של VPC מוגדרים ברמת הארגון, כברירת מחדל, רשומות היומן של זרימות בין פרויקטים כוללות פרטים על שני הצדדים של הזרימה. אפשר להשתמש בהערות חוצות-פרויקטים לזרימות באמצעות VPC משותף, קישור בין רשתות VPC שכנות (peering) ומרכז קישוריות לרשת. מידע נוסף זמין במאמר בנושא הערות חוצות פרויקטים.

הפורמט של השדה GatewayDetails

שדה סוג תיאור
project_id מחרוזת Google Cloud מזהה הפרויקט של השער
location מחרוזת האזור של השער
name מחרוזת שם השער
סוג מחרוזת סוג השער. הערך יכול להיות INTERCONNECT_ATTACHMENT או VPN_TUNNEL.
vpc VpcDetails פרטי רשת ה-VPC של השער
interconnect_name מחרוזת אם סוג השער הוא INTERCONNECT_ATTACHMENT, השדה הזה מאוכלס בשם של חיבור Cloud Interconnect שמצורף אליו ה-VLAN.
interconnect_project_number int64 אם סוג השער הוא INTERCONNECT_ATTACHMENT, השדה הזה יאוכלס במספר הפרויקט של Google Cloud חיבור Cloud Interconnect שבו מוגדר צירוף ל-VLAN.

פורמט השדה GeographicDetails

שדה סוג תיאור
asn int32 מספר ה-ASN של הרשת החיצונית שאליה שייכת נקודת הקצה הזו
עיר מחרוזת עיר לנקודות קצה חיצוניות
יבשת מחרוזת יבשת לנקודות קצה חיצוניות
country מחרוזת המדינה של נקודות קצה חיצוניות, שמיוצגת כקודי מדינות בתקן ISO 3166-1 Alpha-3
אזור מחרוזת אזור לנקודות קצה חיצוניות

פורמט השדה GkeDetails

שדה סוג תיאור
אשכול ClusterDetails מטא-נתונים של אשכול GKE
pod PodDetails מטא-נתונים של GKE Pod, מאוכלסים כשהמקור או היעד של התנועה הם Pod
שירות ServiceDetails מטא-נתונים של שירות GKE, מאוכלסים רק בנקודות קצה של שירותים. הרשומה מכילה עד שני שירותים. אם יש יותר משני שירותים רלוונטיים, השדה הזה מכיל שירות אחד עם סמן מיוחד MANY_SERVICES.

פורמט השדה ClusterDetails

שדה סוג תיאור
cluster_location מחרוזת המיקום של האשכול. זה יכול להיות אזור או אזור משנה, בהתאם לסוג האשכול (אזורי או אזור משנה).
cluster_name מחרוזת שם אשכול GKE.

פורמט השדה PodDetails

שדה סוג תיאור
pod_name מחרוזת שם ה-Pod
pod_namespace מחרוזת מרחב השמות של ה-Pod
עומס עבודה (workload) WorkloadDetails מטא-נתונים על משאב עומס העבודה ברמה העליונה ששולט ב-Pod
הפורמט של השדה WorkloadDetails
שדה סוג תיאור
workload_name מחרוזת השם של בקר עומס העבודה ברמה העליונה
workload_type מחרוזת סוג בקר עומס העבודה ברמה העליונה. יכול להיות DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB או REPLICATION_CONTROLLER.

פורמט השדה ServiceDetails

שדה סוג תיאור
service_name מחרוזת שם השירות. אם יש יותר משני שירותים רלוונטיים, השדה מוגדר לסמן מיוחד MANY_SERVICES.
service_namespace מחרוזת מרחב השמות של השירות

דוגמה:

אם יש שני שירותים, השדה Service נראה כך:

service: [
 0: {
  service_name: "my-lb-service"
  service_namespace: "default"
 }
 1: {
  service_name: "my-lb-service2"
  service_namespace: "default"
 }
]

אם יש יותר משני שירותים, השדה Service נראה כך:

service: [
 0: {
  service_name: "MANY_SERVICES"
 }
]

פורמט השדה GoogleServiceDetails

שדה סוג תיאור
סוג מחרוזת

סוג השירות, GOOGLE_API או GOOGLE_VPC_HOSTED_SERVICE:

service_name מחרוזת

שם השירות. לדוגמה, pubsub.googleapis.com.

מגבלות:

  • יכול להיות ששם השירות לא יופיע בבקשות ל-Google APIs שמשך ההשלמה שלהן ארוך מ-60 שניות.
  • אם מכונה וירטואלית או שער משתמשים באותו 5-tuple כדי להתחבר לכמה שירותים, רשומת היומן מכילה את השם של אחד מהשירותים בלבד, שנבחר באופן אקראי.
קישוריות מחרוזת

שיטת הגישה. בסוג GOOGLE_API, שדה הקישוריות יכול להיות אחד מהערכים הבאים:

  • PUBLIC_IP, אם הגישה ל-API היא מ-VM עם כתובת IP חיצונית
  • PRIVATE_GOOGLE_ACCESS או ‫DIRECT_CONNECTIVITY, אם הגישה ל-API היא דרך גישה פרטית ל-Google
  • PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS, אם הגישה ל-API מתבצעת דרך נקודות קצה של Private Service Connect

בסוג GOOGLE_VPC_HOSTED_SERVICE, שדה הקישוריות יכול להיות אחד מהערכים הבאים:

  • PUBLIC_IP, אם הגישה לשירות היא דרך קישוריות IP ציבורית
  • PRIVATE_SERVICES_ACCESS, אם הגישה לשירות היא באמצעות גישה לשירותים פרטיים
  • PRIVATE_SERVICE_CONNECT_ENDPOINT או ‫PRIVATE_SERVICE_CONNECT_INTERFACE, אם הגישה לשירות היא דרך Private Service Connect
private_domain מחרוזת

חבילת API של דומיין פרטי או Private Service Connect. השדה private_domain יכול להיות אחד מהערכים הבאים:

  • לשיטת הגישה PRIVATE_GOOGLE_ACCESS: private.googleapis.com או restricted.googleapis.com
  • לשיטת הגישה DIRECT_CONNECTIVITY: restricted.googleapis.com
  • לשיטת הגישה PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS: all-apis או vpc-sc

פורמט השדה InstanceDetails

שדה סוג תיאור
project_id מחרוזת המזהה של Google Cloud הפרויקט שמכיל את משאב מכונת ה-VM
אזור מחרוזת האזור של מכונת ה-VM
vm_name מחרוזת שם המכונה הווירטואלית
תחום (zone) מחרוזת האזור של ה-VM
managed_instance_group InstanceGroupDetails אם מכונת ה-VM היא חלק מקבוצת מופעי מכונה מנוהלים, השדה הזה יאוכלס בפרטים של קבוצת המופעים.

פורמט השדה InstanceGroupDetails

שדה סוג תיאור
name מחרוזת השם של קבוצת המופעים
אזור מחרוזת אם קבוצת המופעים היא אזורית, השדה הזה יאוכלס באזור של קבוצת המופעים.
תחום (zone) מחרוזת אם קבוצת המופעים היא אזורית, השדה הזה יאוכלס באזור של קבוצת המופעים.

הפורמט של השדה InternetRoutingDetails

שדה סוג תיאור
egress_as_path AsPath רשימה של נתיבי AS רלוונטיים. אם יש כמה נתיבי AS שזמינים לזרימה, יכול להיות שהשדה יכיל יותר מנתיב AS אחד.

פורמט השדה AsPath

שדה סוג תיאור
as_details AsDetails רשימה של פרטי AS לכל המערכות בנתיב AS. הרשימה מתחילה במערכת האוטונומית הראשונה שהיא חיצונית לרשת של Google Cloudומסתיימת במערכת האוטונומית שאליה שייכת כתובת ה-IP המרוחקת.

פורמט השדה AsDetails

שדה סוג תיאור
asn uint32 מספר המערכת האוטונומית (ASN) של ה-AS

פורמט השדה IpConnection

שדה סוג תיאור
src_ip מחרוזת כתובת ה-IP של המקור. מאוכלס לכל התהליכים.
dest_ip מחרוזת כתובת ה-IP של היעד. מאוכלס לכל התהליכים.
src_port int32 יציאת המקור:
  • מאוכלס עבור זרימות TCP ו-UDP
  • השדה לא מאוכלס עבור זרימות ICMP,‏ ESP,‏ GRE ו-RDMA
dest_port int32 יציאת היעד:
  • מאוכלס עבור זרימות TCP ו-UDP
  • השדה לא מאוכלס עבור זרימות ICMP,‏ ESP,‏ GRE ו-RDMA
פרוטוקול int32 מספר הפרוטוקול של IANA:
  • מאוכלס עבור זרימות TCP,‏ UDP,‏ ICMP,‏ ESP ו-GRE
  • לא מאוכלס עבור תהליכי RDMA

פורמט השדה Latencies

שדה סוג תיאור
median_msec double זמן האחזור החציוני באלפיות השנייה שנמדד במהלך מרווח הצבירה.

הפורמט של השדה LoadBalancingDetails

שדה סוג תיאור
forwarding_rule_project_id מחרוזת Google Cloud מזהה הפרויקט של כלל ההעברה
מדווח/ת מחרוזת Cloud Load Balancing reporter. הערך יכול להיות CLIENT או BACKEND.
  • אם המדווח על הזרימה הוא הלקוח של מאזן העומסים, השדה הזה מוגדר ל-CLIENT.
  • אם המדווח על הזרימה הוא הקצה העורפי של מאזן העומסים, השדה הזה מוגדר ל-BACKEND.
סוג מחרוזת סוג מאזן העומסים. יכול להיות APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER או PROTOCOL_FORWARDING.
סכמה מחרוזת סכימת מאזן העומסים. יכול להיות EXTERNAL_MANAGED,‏ INTERNAL_MANAGED,‏ EXTERNAL,‏ INTERNAL או INTERNAL_SELF_MANAGED.
url_map_name מחרוזת שם מפת ה-URL. הערך מאוכלס אם הסוג של מאזן העומסים הוא APPLICATION_LOAD_BALANCER.
forwarding_rule_name מחרוזת השם של כלל ההעברה
backend_service_name מחרוזת השם של השירות לקצה העורפי. השדה מאוכלס אם המדווח הוא BACKEND וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER. אם סוג הקבוצה בעורף הוא TARGET_POOL, השדה הזה לא מאוכלס.
backend_service_project_id מחרוזת מזהה הפרויקט של שירות הקצה העורפי. השדה מאוכלס אם המדווח הוא BACKEND וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER. אם סוג הקבוצה בעורף הוא TARGET_POOL, השדה הזה לא מאוכלס.
backend_group_name מחרוזת השם של קבוצת השרתים העורפיים. השדה מאוכלס אם המדווח הוא BACKEND וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_type מחרוזת סוג קבוצת הקצה העורפי. יכול להיות INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP או TARGET_POOL. השדה מאוכלס אם המדווח הוא BACKEND וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER.
backend_group_location מחרוזת המיקום של קבוצת השרתים העורפיים. יכול להיות תחום (zone) או אזור, בהתאם להיקף של קבוצת ה-Backend. השדה מאוכלס אם המדווח הוא BACKEND וסוג מאזן העומסים הוא PASSTHROUGH_NETWORK_LOAD_BALANCER. אם סוג הקבוצה בעורף הוא TARGET_POOL, השדה הזה לא מאוכלס.
vpc VpcDetails פרטי רשת ה-VPC של מאזן העומסים

פורמט השדה NetworkServiceDetails

שדה סוג תיאור
dscp int32 אם השדה 'שירותים מבודלים' מופיע בכותרות של החבילות, השדה הזה יאוכלס בערך DSCP.

סיבות להשמטת חבילות

בטבלה הבאה מפורטים הערכים הנתמכים של השדה drop_reason כשמדווחים עליו על ידי SRC או SRC_GATEWAY.

הסיבה לניתוק תיאור
FIREWALL_DENY

תנועה יוצאת נפסלה כי כלל חומת אש ליציאה הוערך והפעולה שלו הייתה deny.

המלצה: אם רוצים לאפשר את התנועה הזו, צריך לשנות את כללי חומת האש.

NO_MATCHING_ROUTE

תנועה יוצאת נפסלה כי לא היה מסלול תואם ליעד.

המלצה: כדאי לבדוק את המסלולים ברשת ה-VPC באמצעות הקטע Effective Routes במסוף Google Cloud . אפשר גם ליצור ולהריץ בדיקות קישוריות.

QUEUE_OVERFLOW

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

המלצה: אם יש ירידות מתמשכות, כדאי להשתמש במכונות וירטואליות עם רוחב פס גבוה יותר (Tier_1) או לפצל את התנועה בין יותר מכונות וירטואליות.

SPOOFED_SOURCE

תעבורה יוצאת נפסלה כי המקור של המנה לא היה משויך לממשק הרשת של המכונה הווירטואלית, והעברת כתובות IP מושבתת.

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

TOO_MANY_CONNECTIONS

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

המלצה: כדאי לשקול שימוש בסדרת מכונות אחרת שמיועדת למספר גדול יותר של חיבורים, או לפזר את עומס העבודה על יותר מכונות וירטואליות.

בטבלה הבאה מפורטים הערכים הנתמכים של השדה drop_reason כשמדווחים עליו על ידי DEST או DEST_GATEWAY.

הסיבה לניתוק תיאור
EARLY_DROPS_FULL_FAIR_QUEUE

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

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

FIREWALL_DENY

תנועה נכנסת נפסלה כי כלל של חומת אש לכניסה הוערך והפעולה שלו הייתה deny.

המלצה: אם רוצים לאפשר את התנועה הזו, צריך לשנות את כללי חומת האש.

INVALID_L4_CHECKSUM_INTERNET

תנועה נכנסת נפסלה כי זוהה חוסר התאמה בסכום הביקורת. החבילות נשלחו ממקור מחוץ לרשת ה-VPC לכתובת IP חיצונית של היעד שמשויכת למכונה הווירטואלית שדיווחה על הבעיה. מידע נוסף זמין במאמר תעבורת כניסה ליעדים מחוץ לרשת VPC.

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

INVALID_L4_CHECKSUM_INTERNAL

תנועה נכנסת נפסלה כי זוהה חוסר התאמה בסכום הביקורת. המנות נותבו בתוך רשת ה-VPC לכתובת IP של יעד שמשויכת למכונה הווירטואלית שדיווחה על הבעיה. מידע נוסף זמין במאמר תעבורת Ingress ליעדים שניתן לנתב בתוך רשת VPC.

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

PSC_NAT_OUT_OF_CONNECTIONS

תנועה נכנסת נפסלה כי נקודת הקצה של Private Service Connect הגיעה למספר המקסימלי של חיבורים בו-זמנית לצרכן.

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

PSC_NAT_OUT_OF_PORTS

תנועה נכנסת מצרכן של Private Service Connect נפסקה כי אירעה חסימה של יציאות NAT ב-Private Service Connect.

המלצה: כדאי לבדוק את גודל תת-הרשת של NAT.

QUEUE_OVERFLOW

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

המלצה: אם יש ירידות מתמשכות, כדאי להשתמש במכונות וירטואליות עם רוחב פס גבוה יותר (Tier_1) או לפצל את התנועה בין יותר מכונות וירטואליות.

TOO_MANY_CONNECTIONS

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

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

פורמט השדה PrivateServiceConnectDetails

שדה סוג תיאור
מדווח/ת מחרוזת דיווח על Private Service Connect. הערך יכול להיות CONSUMER או PRODUCER.
psc_endpoint PrivateServiceConnectEndpointDetails הפרטים של נקודת הקצה. השדה מאוכלס אם המדווח הוא CONSUMER.
psc_attachment PrivateServiceConnectAttachmentDetails פרטים על קובץ השירות המצורף. השדה מאוכלס אם זרימת התנועה כוללת בעלים של שירות מנוהל של Private Service Connect.

פורמט השדה PrivateServiceConnectEndpointDetails

שדה סוג תיאור
project_id מחרוזת Google Cloud מזהה הפרויקט של נקודת הקצה של Private Service Connect
אזור מחרוזת האזור של נקודת הקצה. המאפיין לא מאוכלס אם סוג שירות היעד הוא GLOBAL_GOOGLE_APIS.
psc_connection_id מחרוזת מזהה החיבור של Private Service Connect
target_service_type מחרוזת סוג שירות היעד. הערך יכול להיות GLOBAL_GOOGLE_APIS או PUBLISHED_SERVICE.
vpc VpcDetails פרטי רשת ה-VPC של נקודת הקצה (endpoint) של Private Service Connect

פורמט השדה PrivateServiceConnectAttachmentDetails

שדה סוג תיאור
project_id מחרוזת Google Cloud מזהה הפרויקט של קובץ השירות המצורף
אזור מחרוזת האזור של קובץ השירות המצורף
vpc VpcDetails פרטי רשת ה-VPC של קובץ השירות המצורף

הפורמט של השדה ServerlessDetails

שדה סוג תיאור
project_id מחרוזת מזהה הפרויקט ב- Google Cloud שמכיל את המשאב של Cloud Run. בהגדרת VPC משותף, מזהה הפרויקט הוא בדרך כלל המזהה של פרויקט השירות.
אזור מחרוזת האזור של משאב Cloud Run

אחת מהאפשרויות הבאות:

  • cloud_run_service_details
  • cloud_run_job_details
  • cloud_run_worker_pool_details

אחת מהאפשרויות הבאות:

השם של משאב Cloud Run

פורמט השדה CloudRunServiceDetails

שדה סוג תיאור
service_name מחרוזת שם שירות Cloud Run

פורמט השדה CloudRunJobDetails

שדה סוג תיאור
job_name מחרוזת השם של המשימה ב-Cloud Run

פורמט השדה CloudRunWorkerPoolDetails

שדה סוג תיאור
worker_pool_name מחרוזת השם של מאגר העובדים ב-Cloud Run

פורמט השדה VpcDetails

שדה סוג תיאור
project_id מחרוזת מזהה הפרויקט ב- Google Cloud שמכיל את ה-VPC. בהגדרת VPC משותף, מזהה הפרויקט הוא המזהה של הפרויקט המארח.
subnetwork_name מחרוזת שם רשת המשנה, אם רלוונטי
subnetwork_region מחרוזת האזור של רשת המשנה, אם רלוונטי
vpc_name מחרוזת שם הרשת

הערות של מטא-נתונים

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

  • אם בוחרים את כל המטא-נתונים, כל שדות המטא-נתונים בפורמט הרשומה של יומני תנועה ב-VPC נכללים ביומני התנועה. כשמוסיפים שדות חדשים של מטא-נתונים לפורמט הרשומה, יומני זרימת הנתונים כוללים אוטומטית את השדות החדשים.

  • אם לא בוחרים מטא-נתונים, כל שדות המטא-נתונים מושמטים.

  • אם בוחרים מטא-נתונים בהתאמה אישית, אפשר לציין את שדות המטא-נתונים שרוצים לכלול לפי השדה הראשי, כמו src_vpc, או לפי השמות המלאים שלהם, כמו src_vpc.project_id

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

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

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

במאמרים הפעלת VPC Flow Logs ועדכון ההגדרה של VPC Flow Logs מוסבר איך להתאים אישית את שדות המטא-נתונים.

הערות בפרויקטים שונים

אם הפעלתם את VPC Flow Logs ברמת הארגון, התנועה דרך VPC משותף, קישור בין רשתות VPC שכנות ו-Network Connectivity Center מתועדת בהערות שחוצות פרויקטים. ההערות בין פרויקטים מופעלות כברירת מחדל. אפשר גם להשבית את ההערות האלה.

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

אם VPC Flow Logs מופעל ברמת הפרויקט, לא מתווספות הערות חוצות-פרויקטים לזרימות בין משאבים בפרויקטים שונים.

הערות ב-GKE

אפשר להוסיף הערות לזרימות שיש להן נקודת קצה באשכול GKE באמצעות הערות של מטא-נתונים של GKE, שיכולות לכלול פרטים על האשכול, ה-Pod והשירות של נקודת הקצה.

הערות של שירות GKE

תנועה שנשלחת ל-ClusterIP, ל-NodePort או ל-LoadBalancer יכולה לקבל הערות (annotations) של Service. אם השליחה היא ל-NodePort או ל-LoadBalancer, התנועה מקבלת את הערת השירות בשני ההופים של החיבור.

תנועה שנשלחת ישירות ליציאת שירות של Pod מסומנת בהערה Service בנקודת הקצה של היעד.

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

הערות על רצף מודעות בתנועה באינטרנט

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

בגלל ההסוואה, אפשר לראות את ההערות של ה-Pod רק אם יעדי ההעברה נמצאים ביעדי ברירת המחדל שלא מוסווים או ברשימה nonMasqueradeCIDRsמותאמת אישית. אם כוללים יעדים באינטרנט ברשימה מותאמת אישית של nonMasqueradeCIDRs, צריך לספק דרך לתרגום של כתובות ה-IP הפנימיות של ה-Pod לפני שהן מועברות לאינטרנט. גם באשכולות פרטיים וגם באשכולות לא פרטיים, אפשר להשתמש ב-Cloud NAT. פרטים נוספים זמינים במאמר בנושא אינטראקציה עם GKE.

רשומות של תנועה שהופסקה

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

תעבורת נתונים יוצאת (egress) מדווחת על ידי המקור (SRC או SRC_GATEWAY), ותעבורת נתונים נכנסת (ingress) מדווחת על ידי היעד (DEST או DEST_GATEWAY). אם הפעלתם את היומנים של תנועת הנתונים ב-VPC גם במקור וגם ביעד, יחולו ההתנהגויות הבאות:

  • ירידה בתעבורת הנתונים היוצאת (egress). אם מתרחשת השמטה בצד המקור, נוצרות למקור גם רשומת יומן רגילה וגם רשומת יומן שכוללת את הסיבה להשמטה. לא נוצר רשומה ביומן עבור היעד כי התנועה אף פעם לא הועברה ליעד.
  • השקות של מוצרים. אם מתרחשת השמטה בצד היעד, נוצרים רשומות יומן גם למקור וגם ליעד. במקור, VPC Flow Logs יוצר רשומת יומן רגילה, וביעד הוא יוצר רק רשומת יומן שכוללת את הסיבה להשמטה.

רשומות היומן של תנועת גולשים שהופסקה כוללות את השדות disposition, drop_reason, bytes_dropped, packets_dropped ו-throughput_inclusion.

רשימת הסיבות לנטישת מנות זמינה במאמר בנושא סיבות לנטישת מנות.

סינון יומנים

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

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

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

סינון ב-VPC Flow Logs מתבצע באמצעות CEL, שפת ביטויים מוטמעת לביטויים לוגיים מבוססי-מאפיינים. ביטויים לסינון ב-VPC Flow Logs מוגבלים ל-2,048 תווים. מידע נוסף מופיע במאמר בנושא אופרטורים לוגיים נתמכים ב-CEL.

מידע נוסף על CEL זמין במבוא ל-CEL ובהגדרת השפה. התכונה 'מסנן יצירה' תומכת בקבוצת משנה מוגבלת של תחביר CEL.

כדי ליצור הגדרה של VPC Flow Logs שמשתמשת בסינון יומנים, אפשר לעיין במאמר בנושא הפעלת VPC Flow Logs. כדי להגדיר סינון יומנים עבור הגדרה קיימת של VPC Flow Logs, אפשר לעיין במאמר עדכון ההגדרה של VPC Flow Logs. דוגמאות למסנני יומנים מופיעות במאמר דוגמאות למסנני יומנים.

אופרטורים לוגיים נתמכים בשפת CEL

ביטוי סוגים נתמכים תיאור
true, false בוליאני קבועים בוליאניים

x == y

x != y

boolean, ‏ int, ‏ string

אופרטורים להשוואה

דוגמה: connection.protocol == 6

x && y

x || y

בוליאני

אופרטורים לוגיים בוליאניים

דוגמה: connection.protocol == 6 && src_instance.vm_name == "vm_1"

!x בוליאני שלילה
‫1, 2.0, 0, ... int קבועים מספריים מילוליים
x + y מחרוזת שרשור מחרוזות
‪"foo", 'foo', ... מחרוזת ייצוג מילולי של מחרוזת קבועה
x.lower() מחרוזת הפונקציה מחזירה את הערך באותיות קטנות של המחרוזת
x.upper() מחרוזת מחזירה את הערך באותיות רישיות של המחרוזת
x.contains(y) מחרוזת הפונקציה מחזירה את הערך True אם המחרוזת מכילה את מחרוזת המשנה שצוינה
x.startsWith(y) מחרוזת הפונקציה מחזירה את הערך True אם המחרוזת מתחילה במחרוזת המשנה שצוינה
x.endsWith(y) מחרוזת הפונקציה מחזירה את הערך True אם המחרוזת מסתיימת במחרוזת המשנה שצוינה
inIpRange(X, Y) מחרוזת

הפונקציה מחזירה את הערך True אם X היא כתובת IP ו-Y הוא טווח כתובות IP שמכיל את X

דוגמה: inIpRange("1.2.3.1", "1.2.3.0/24")

x.containsFieldValue(y) ‫x: list
y: map(string, string)

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

דוגמה: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'})

has(x)‎ מחרוזת

הפונקציה מחזירה את הערך true אם השדה קיים.

תוויות של מרכז האפליקציות

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

  • קבוצות של מופעי מכונה מנוהלים ב-Compute Engine
  • ‫GKE Pods (סוגי עומסי העבודה CRON_JOB,‏ DAEMON_SET,‏ DEPLOYMENT ו-STATEFUL_SET)
  • שירותים ומשימות ב-Cloud Run שהוגדרו עם Direct VPC egress
  • כללי העברה

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

התוויות ב-App Hub שונות מההערות של מטא-נתונים ב-VPC Flow Logs. ההגדרות של מטא-נתונים וסינון יומנים ב-VPC Flow Logs לא רלוונטיות לתוויות האלה.

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