מידע על רשומות ב-VPC Flow Logs
בדף הזה מתואר פורמט הרשומה של יומני התנועה ב-VPC, כולל שדות הבסיס והמטא-נתונים שזמינים. בנוסף, מוסבר במאמר איך אפשר להשתמש בסינון של יומנים כדי ליצור רק יומנים שתואמים לקריטריונים מסוימים.
פורמט ההקלטה
רשומות ביומן מכילות שדות בסיסיים, שהם שדות הליבה של כל רשומה ביומן, ושדות מטא-נתונים שמוסיפים מידע נוסף. אפשר להשמיט שדות מטא-נתונים כדי לחסוך בעלויות אחסון.
חלק מהשדות ביומן הם בפורמט של כמה שדות, עם יותר מפריט נתונים אחד בשדה נתון. לדוגמה, השדה connection הוא בפורמט IpConnection, שמכיל את כתובת ה-IP והיציאה של המקור והיעד, וגם את הפרוטוקול, בשדה אחד. השדות האלה עם כמה שדות מתוארים מתחת לטבלה של פורמט הרשומה.
הערכים של שדות המטא-נתונים לא מבוססים על הנתיב של מישור הנתונים, אלא על קירובים, ויכול להיות שהם חסרים או שגויים. בניגוד לשדות מטא-נתונים, הערכים של שדות בסיסיים נלקחים ישירות מכותרות החבילות.
| שדה | פורמט השדה | סוג השדה: מטא-נתונים בסיסיים או אופציונליים |
|---|---|---|
| חיבור |
IpConnection
חמישייה שמתארת את הזרימה. |
תוכנית בסיסית |
| מדווח/ת |
string
הצד שדיווח על התנועה:
|
תוכנית בסיסית |
| round_trip_time |
זמני אחזור
זמן אחזור הלוך ושוב באלפיות השנייה, עם דיוק של אלפית השנייה, כפי שנמדד במהלך מרווח הצבירה. השדה הזה מאוכלס עבור תעבורת TCP (למכונות וירטואליות ולנקודות קצה ללא שרת) ועבור תעבורת Falcon.
disposition=DROPPED).
|
תוכנית בסיסית |
| rtt_msec |
int64
זמן הלוך ושוב (RTT) באלפיות השנייה, כפי שנמדד במהלך מרווח הצבירה. השדה הזה מאוכלס באופן הבא:
זמן ה-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, ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטי השער:
|
מטא-נתונים |
| dest_gateway |
GatewayDetails
אם היעד של הזרימה הוא נקודת קצה מקומית או בענן אחר שמחוברת אל Google Cloud דרך שער כמו חיבור VLAN ל-Cloud Interconnect או מנהרת Cloud VPN, ואחד מהתנאים הבאים מתקיים, השדה הזה יאוכלס בפרטי השער:
|
מטא-נתונים |
| 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 ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של המכונה הווירטואלית:
|
מטא-נתונים |
| dest_instance |
InstanceDetails
אם היעד של הזרימה הוא מכונה וירטואלית שנמצאת ברשת VPC ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של המכונה הווירטואלית.
|
מטא-נתונים |
| 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:
|
מטא-נתונים |
| dest_vpc |
VpcDetails
אם היעד של הזרימה הוא מכונה וירטואלית או נקודת קצה של serverless שנמצאת ברשת VPC, ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של רשת ה-VPC:
|
מטא-נתונים |
| שדות אחרים של מטא-נתונים | ||
| internet_routing_details |
InternetRoutingDetails
אם התנועה היא בין Google Cloud לאינטרנט, השדה הזה יאוכלס בפרטי הניתוב. האפשרות זמינה רק לזרימות של נתונים יוצאים. |
מטא-נתונים |
| load_balancing |
LoadBalancingDetails
אם התנועה עוברת דרך מאזן עומסים באחת מההגדרות הבאות, השדה הזה מאוכלס בפרטים של Cloud Load Balancing:
|
מטא-נתונים |
| network_service |
NetworkServiceDetails
אם כותרת נקודת הקוד לשירותים מבודלים (DSCP) מוגדרת, השדה הזה מאוכלס בפרטים של שירות הרשת. |
מטא-נתונים |
| psc |
PrivateServiceConnectDetails
אם הזרימה משויכת לחיבור Private Service Connect – כולל חיבור שמופץ דרך Network Connectivity Center – ואחד מהתנאים הבאים מתקיים, השדה הזה מאוכלס בפרטים של Private Service Connect:
|
מטא-נתונים |
| rdma_traffic_type |
מחרוזת
סוג התנועה של RDMA. השדה מאוכלס עבור תעבורת נתונים מ-GPU ל-GPU בין מכונות וירטואליות. יכול להיות GPUDirect-TCPXO, Falcon או RoCE.
|
מטא-נתונים |
- אם מכונת ה-VM המקורית היא המדווחת, ערך הבייטים שדווח הוא הסכום של בייטים של מטען ייעודי למשתמש ובייטים של כותרת החבילה שנשלחו. הערך הזה תמיד גדול מאפס, גם עבור מנות שלא מכילות מטען ייעודי (payload) של משתמש.
- אם מכונת ה-VM של היעד היא המדווחת, ערך הבייטים שדווח הוא בייטים של מטען ייעודי למשתמש שהתקבלו והועברו לשכבת האפליקציה. במנות מידע ללא מטען ייעודי (payload) של משתמש, ערך הבייטים הוא אפס.
הפורמט של השדה 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
פורמט השדה 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
| שדה | סוג | תיאור |
|---|---|---|
| סוג | מחרוזת | סוג השירות,
|
| service_name | מחרוזת | שם השירות. לדוגמה,
מגבלות:
|
| קישוריות | מחרוזת | שיטת הגישה. בסוג
בסוג
|
| private_domain | מחרוזת | חבילת API של דומיין פרטי או Private Service Connect. השדה private_domain יכול להיות אחד מהערכים הבאים:
|
פורמט השדה 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 | יציאת המקור:
|
| dest_port | int32 | יציאת היעד:
|
| פרוטוקול | int32 | מספר הפרוטוקול של IANA:
|
פורמט השדה Latencies
| שדה | סוג | תיאור |
|---|---|---|
| median_msec | double | זמן האחזור החציוני באלפיות השנייה שנמדד במהלך מרווח הצבירה. |
הפורמט של השדה LoadBalancingDetails
| שדה | סוג | תיאור |
|---|---|---|
| forwarding_rule_project_id | מחרוזת | Google Cloud מזהה הפרויקט של כלל ההעברה |
| מדווח/ת | מחרוזת | Cloud Load Balancing reporter. הערך יכול להיות 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 |
תנועה יוצאת נפסלה כי כלל חומת אש ליציאה הוערך והפעולה שלו הייתה המלצה: אם רוצים לאפשר את התנועה הזו, צריך לשנות את כללי חומת האש. |
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 |
תנועה נכנסת נפסלה כי כלל של חומת אש לכניסה הוערך והפעולה שלו הייתה המלצה: אם רוצים לאפשר את התנועה הזו, צריך לשנות את כללי חומת האש. |
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 |
פורמט השדה 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_msecbytes_sentpackets_sentstart_timeend_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 לא רלוונטיות לתוויות האלה.