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

במאמר הזה מוסבר איך להגדיר את Cloud Logging ו-Cloud Monitoring ולהשתמש בהם למאזני עומסים גלובליים חיצוניים של רשתות (NLB) עם העברת נתונים.

רישום ביומן

היומנים מספקים מידע שימושי לפתרון בעיות ולמעקב אחרי מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי. היומנים מצטברים לפי חיבור ומיוצאים כמעט בזמן אמת. יומנים נוצרים לכל זרימות ה-TCP, ‏ UDP, ‏ ESP, ‏ GRE, ‏ ICMP ו-ICMPv6 של מופע עם איזון עומסים, גם לתעבורת נתונים נכנסת וגם לתעבורת נתונים יוצאת. מידע נוסף על השדות שמופיעים ברשומה ביומן זמין במאמר שדות ביומן.

אין חיובים נוספים על שימוש ביומנים. התמחור הסטנדרטי של Cloud Logging,‏ BigQuery או Pub/Sub חל בהתאם לאופן הייבוא של היומנים. הפעלת היומנים לא משפיעה על הביצועים של מאזן העומסים.

היתרונות של רישום ביומן:

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

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

דוגמה לפורמט יומן עבור זרימות של לקוח חיצוני למכונה וירטואלית

בתרשים הבא מוצגת תעבורת הנתונים הנכנסת והיוצאת של לקוח חיצוני (203.0.113.7) שמקבל גישה למאזן עומסים גלובלי חיצוני של רשת להעברת סיגנל ללא שינוי שהוגדר עם שתי כתובות IP גלובליות מסוג anycast‏ (136.124.69.214 שהוקצתה לקבוצת הזמינות 0 (AG0) ו-136.124.83.205 שהוקצתה לקבוצת הזמינות 1 (AG1)) ומופעי בק-אנד (10.10.0.2 ו-10.20.0.2).

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

יומנים של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי עבור חיבורים מהלקוח למופע הקצה העורפי מעוצבים באופן הבא:

  • connection.clientIp: 203.0.113.7
  • connection.serverIp: 136.124.69.214 (AG0) או 136.124.83.205 (AG1)
  • bytesSent: 1256
  • bytesReceived: 4521

דגימה ואיסוף של יומנים

Cloud de Confiance דוגם את המנות שיוצאות ממכונות ה-VM של העורף של מאזן העומסים ונכנסות אליהן. המערכת מעבדת את המנות שנדגמו כדי ליצור יומנים.

לא כל מנה עוברת דגימה. Cloud de Confiance הדגימה מתבצעת על קבוצת משנה משתנה של מנות, בהתאם לכמות התנועה במארח הפיזי. קצב הדגימה הנמוך ביותר האפשרי הוא אחד מתוך 1,024 מנות. תדירות הדגימה נשלטת באופן דינמי על ידי Cloud de Confiance. אי אפשר לשנות את קצב הדגימה.

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

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

אחרי דגימת חבילות הנתונים, Cloud de Confiance מעבדים את חבילות הנתונים שנדגמו לפי התהליך הבא:

  1. צבירה: מנות שנדגמו נצברות במרווח של חמש שניות כדי ליצור רשומה אחת של זרימה.

  2. דגימת יומן (משנית) שניתנת להגדרה: זהו תהליך דגימה שני, שדוגם את הזרימות. אתם קובעים את החלק של רשומות הזרימה שיופיעו כרשומות ביומן באמצעות הפרמטר logConfig.sampleRate. אם הערך של logConfig.sampleRate הוא 1.0 (100%), המשמעות היא שכל המנות שנכללו במדגם עברו עיבוד.

  3. כתיבה ל-Logging: רשומות היומן נכתבות ב-Cloud Logging.

שדות אופציונליים

רשומות ביומן מכילות שדות חובה ושדות אופציונליים. בקטע Log fields (שדות יומן) מפורטים השדות האופציונליים והשדות הנדרשים. כל שדות החובה תמיד כלולים. אתם יכולים לבחור אילו שדות אופציונליים להשאיר.

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

  • אם בוחרים באפשרות exclude all optional (החרגת כל השדות האופציונליים), כל השדות האופציונליים לא ייכללו.

  • אם בוחרים באפשרות בהתאמה אישית, אפשר לציין את השדות האופציונליים שרוצים לכלול לפי השדה הראשי, כמו serverInstance, או לפי השמות המלאים שלהם, כמו serverInstance.vm.

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

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

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

דרישות לגבי כתובת ה-IP של המקור של חבילת התגובה

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

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

הפעלת רישום ביומן בשירות חדש לקצה העורפי

gcloud

יוצרים את שירות הקצה העורפי כדי להפעיל רישום ביומן באמצעות הפקודה gcloud compute backend-services create.

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --load-balancing-scheme=EXTERNAL_PASSTHROUGH \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE \
        --logging-optional=LOGGING_OPTIONAL \
        --logging-optional-fields=OPTIONAL_FIELDS
    

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

  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם היומן מופעל בשירות הקצה העורפי הזה.

    הערך של השדה צריך להיות בין 0.0 to 1.0, כאשר 0.0 מציין שלא נוצרים יומנים ו-1.0 מציין שיומנים נוצרים עבור כל החבילות שנדגמו. הפעלת רישום ביומן אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום ביומן. ערך ברירת המחדל הוא 1.0.

  • LOGGING_OPTIONAL: השדות האופציונליים שרוצים לכלול ביומנים:
    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.
    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.
    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שאתם מציינים ב-OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, serverInstance.vm,serverGkeDetails. אפשר להגדיר את ההגדרה הזו רק אם ההגדרה של LOGGING_OPTIONAL היא CUSTOM.

API

שולחים בקשת POST אל ה-method‏ backendServices.insert.

    POST https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices
    

אי הכללה של כל השדות האופציונליים

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

כוללים את כל השדות האופציונליים

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

הכללת רשימה מותאמת אישית של שדות אופציונליים

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

הפעלת רישום ביומן בשירות קצה עורפי קיים

gcloud

מפעילים רישום ביומן בשירות קיים לקצה העורפי באמצעות הפקודה gcloud compute backend-services update.

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE \
        --logging-optional=LOGGING_OPTIONAL \
        --logging-optional-fields=OPTIONAL_FIELDS
    

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

  • BACKEND_SERVICE: השם של שירות ה-Backend.
  • SAMPLE_RATE: אפשר לציין את השדה הזה רק אם רישום ביומן מופעל בשירות לקצה העורפי הזה.

    הערך של השדה צריך להיות בין 0.0 to 1.0, כאשר 0.0 מציין שלא מדווחים על יומנים ו-1.0 מציין שיומנים נוצרים עבור כל החבילות שנדגמו. הפעלת רישום ביומן אבל הגדרת קצב הדגימה ל-0.0 שווה להשבתת הרישום ביומן. ערך ברירת המחדל הוא 1.0.

  • LOGGING_OPTIONAL: השדות האופציונליים שרוצים לכלול ביומנים:
    • INCLUDE_ALL_OPTIONAL כדי לכלול את כל השדות האופציונליים.
    • EXCLUDE_ALL_OPTIONAL (ברירת מחדל) כדי לא לכלול את כל השדות האופציונליים.
    • CUSTOM כדי לכלול רשימה מותאמת אישית של שדות אופציונליים שאתם מציינים ב-OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: רשימה מופרדת בפסיקים של שדות אופציונליים שרוצים לכלול ביומנים.

    לדוגמה, serverInstance.vm,serverGkeDetails. אפשר להגדיר את הערך רק אם בשדה LOGGING_OPTIONAL מגדירים את הערך CUSTOM.

API

שולחים בקשת PATCH אל ה-method‏ backendServices/patch.

      PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices/`BACKEND_SERVICE`
     

אי הכללה של כל השדות האופציונליים

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

כוללים את כל השדות האופציונליים

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

הכללת רשימה מותאמת אישית של שדות אופציונליים

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

השבתת רישום ביומן בשירות קיים של קצה עורפי

gcloud

משביתים את הרישום ביומן בשירות לקצה העורפי באמצעות הפקודה gcloud compute backend-services update.

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --no-enable-logging

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

  • BACKEND_SERVICE: השם של השירות לקצה העורפי.

API

שולחים בקשת PATCH אל ה-method‏ backendServices/patch.

    PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices/`BACKEND_SERVICE`

    {
    "logConfig": {
      "enable": false
     }
    }

צפייה ביומנים

כשיומנים מוזנים ל-Cloud Logging ולא נכללים בהחרגה דרך יעד של נתב יומנים, אפשר לקרוא את היומנים באמצעות Cloud Logging API ו-Google Cloud CLI.

כדי לראות את כל היומנים של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי:

המסוף

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

    כניסה לדף Logs Explorer

  2. בוחרים את סוג המשאב External Passthrough Network Load Balancer Rule.

  3. בוחרים את שם היומן loadbalancing.googleapis.com/flows.

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

  3. מדביקים את הטקסט הבא בשדה השאילתה. מחליפים את PROJECT_ID במזהה הפרויקט.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. לוחצים על Run query.

צפייה ביומנים של שירות לקצה העורפי ספציפי

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

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

  3. מדביקים את הטקסט הבא בשדה השאילתה. מחליפים את PROJECT_ID במזהה הפרויקט ואת BACKEND_SERVICE_NAME בשם שירות ה-Backend.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. לוחצים על Run query.

צפייה ביומנים של קבוצת מופעים של שרת עורפי (backend instance)

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

שאילתה במסוף

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

    כניסה לדף Logs Explorer

  2. לוחצים על המתג Show query.

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

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. לוחצים על Run query.

שדות ביומן

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

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

המשאב במעקב הוא loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

שדה פורמט השדה סוג השדה: חובה או אופציונלי תיאור
חיבור IpConnection חובה ‫5-Tuple שמתאר את החיבור הזה.
startTime מחרוזת חובה חותמת הזמן (בפורמט מחרוזת תאריך RFC 3339) של המנה הראשונה שנצפתה במהלך מרווח הזמן המצטבר.
endTime מחרוזת חובה חותמת הזמן (בפורמט מחרוזת תאריך RFC 3339) של המנה האחרונה שנצפתה במהלך מרווח הזמן המצטבר.
bytesSent int64 חובה מספר הבייטים שנשלחו מהשרת ללקוח.
bytesReceived int64 חובה מספר הבייטים שהתקבלו בשרת מהלקוח.
packetsSent int64 חובה מספר החבילות שנשלחו מהשרת ללקוח.
packetsReceived int64 חובה מספר החבילות שהתקבלו בשרת מהלקוח.
rtt מחרוזת חובה

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

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

השהייה מעוצבת כמחרוזת שמתחילה במספר השניות ומסתיימת ב-s כדי לציין שניות. ננו-שניות מבוטאות כשבריר של שניות – לדוגמה, זמן אחזור של 250 אלפיות השנייה מפורמט כ-'0.250000000s'.

serverInstance InstanceDetails אופציונלי הפרטים של מכונת ה-VM של השרת העורפי.
clientLocation GeographicDetails אופציונלי המטא-נתונים הזמינים של המיקום של הלקוח.
serverGkeDetails GkeDetails אופציונלי מטא-נתונים של GKE עבור הקצה העורפי של השרת. האפשרות הזו זמינה רק אם הקצה העורפי הוא נקודת קצה של GKE.
networkTier NetworkTierDetails אופציונלי רמת הרשת לחיבורים חיצוניים, מאוכלסת רק כשהלקוח לא נמצא בתוך Cloud de Confiance by S3NS.

פורמט השדה IpConnection

שדה סוג תיאור
clientIp מחרוזת כתובת ה-IP של הלקוח
clientPort int32 יציאת לקוח. ההגדרה רלוונטית רק לחיבורי TCP ו-UDP.
serverIp מחרוזת כתובת ה-IP של השרת (כתובת ה-IP של כלל ההעברה)
serverPort int32 יציאת השרת. ההגדרה רלוונטית רק לחיבורי TCP ו-UDP.
protocol int32 מספר הפרוטוקול של IANA

פורמט השדה InstanceDetails

שדה סוג תיאור
projectId מחרוזת מזהה הפרויקט שמכיל את מכונת ה-VM
vm מחרוזת שם המכונה הווירטואלית
region מחרוזת האזור של מכונת ה-VM
zone מחרוזת האזור של ה-VM
vmIp מחרוזת כתובת ה-IPv4 הפנימית הראשית של ממשק הרשת שדרכו נוצר החיבור

פורמט השדה GeographicDetails

שדה סוג תיאור
continent מחרוזת שם היבשת
regionCode מחרוזת קוד אזור Unicode CLDR, כמו US או FR. ברוב המדינות, הקודים האלה תואמים ישירות לקודי ISO-3166-2.
subRegion מחרוזת מזהה חלוקת משנה של CLDR בפורמט Unicode – לדוגמה, מחוז או מדינה במדינה כמו USCA או CAON. קודי Unicode האלה נגזרים מחלוקות המשנה שמוגדרות בתקן ISO-3166-2.
city מחרוזת שם העיר – לדוגמה, Mountain View עבור מאונטיין ויו, קליפורניה. אין רשימה קנונית של ערכים תקינים למשתנה הזה. שמות הערים יכולים להכיל אותיות US-ASCII, מספרים, רווחים והתווים הבאים: !#$%&'*+-.^_`|~.
asn int32 מספר המערכת האוטונומית (ASN) של הרשת החיצונית שאליה שייכת נקודת הקצה הזו.

פורמט השדה GkeDetails

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

פורמט השדה ClusterDetails

שדה סוג תיאור
cluster מחרוזת שם אשכול GKE
clusterLocation מחרוזת המיקום של האשכול. המיקום של האשכול יכול להיות אזור או אזור משנה.

פורמט השדה PodDetails

שדה סוג תיאור
pod מחרוזת שם ה-Pod
podNamespace מחרוזת מרחב השמות של ה-Pod

פורמט השדה ServiceDetails

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

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

שדה סוג תיאור
networkTier מחרוזת ‫NetworkTier שבו נעשה שימוש בחיבור, אחת מהאפשרויות הבאות: [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN].

מעקב

מאזני עומסים גלובליים חיצוניים של רשת להעברת סיגנל ללא שינוי מייצאים מדדים מרכזיים ל-Cloud Monitoring.

אפשר להשתמש במדדי מעקב למטרות הבאות:

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

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

אי אפשר לבצע שאילתה או סינון של מדדי ניטור באמצעות כלל ההעברה הגלובלי של ההורה. הסיבה לכך היא שכל כלל להעברת שיחות לילדים בקבוצת הזמינות שלו מיישם את איזון העומסים בתנועה, את ניתוב מישור הנתונים ואת בדיקות התקינות. לכן, צריך להריץ שאילתות ולסנן מדדים באמצעות כללי ההעברה של הצאצא Cloud de Confiance שנוצרים לכל קבוצת זמינות. Cloud de Confiance השמות של כללי הצאצא האלה נוצרים על ידי שרשור של שם כלל ההעברה של ההורה עם-ag0 ועם -ag1. המעקב ברמת הפירוט של כלל העברת השיחות הזה מאפשר לכם לראות מדדים לכל קבוצת זמינות. מידע נוסף זמין במאמר בנושא כללי העברה.

הצגת לוחות הבקרה של Monitoring

המסוף

  1. נכנסים לדף Monitoring במסוף Cloud de Confiance .

    מעבר למעקב

  2. בחלונית הניווט, בוחרים באפשרות מרכזי בקרה.

  3. בוחרים את מרכז הבקרה Google Cloud Load Balancers (מאזני עומסים של Google Cloud). כל מאזני העומסים מוצגים.

  4. בוחרים את השם של מאזן העומסים מתוך רשימת מאזני העומסים.

בחלונית Global external passthrough Network Load Balancer details (פרטים על מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי), אפשר לראות פרטים שונים על מאזן העומסים שנבחר. בחלונית הזו מוצגות ההגדרות הנוכחיות.

בחלונית מדדי מפתח מוצגים תרשימים של כל מדד מפתח. כדי לראות פירוטים ספציפיים, לוחצים על פירוטים. בחלונית הזו מוצגים נתונים שמבוססים על הגדרות היסטוריות, בעוד שבחלונית Global external passthrough Network Load Balancer details מוצגות רק ההגדרות הנוכחיות. מידע נוסף זמין במאמר בנושא לוחות בקרה ותרשימים.

הגדרת מרכזי בקרה מותאמים אישית של Monitoring

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

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

המסוף

  1. נכנסים לדף Monitoring במסוף Cloud de Confiance .

    מעבר למעקב

  2. לוחצים על מרכזי בקרה > יצירת מרכז בקרה.

  3. לוחצים על הוספת תרשים.

  4. נותנים שם לתרשים.

  5. בוחרים מדדים ומסננים.

    כדי למצוא מדדים גלובליים חיצוניים של מאזן עומסי רשת להעברת סיגנל ללא שינוי, מחפשים את הקידומת loadbalancing.googleapis.com/l3/external.

  6. לוחצים על Save.

הגדרת התראות למעקב

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

המסוף

  1. נכנסים לדף Monitoring במסוף Cloud de Confiance .

    מעבר למעקב

  2. בוחרים באפשרות התראות > יצירת מדיניות.

  3. בוחרים את סוגי המשאבים והמדדים.

    כדי למצוא סוגי משאבים ומדדים של מאזן עומסי רשת חיצוני גלובלי מסוג passthrough, מחפשים את loadbalancing.googleapis.com/l3/external בשדה Find resource type and metric.

  4. מציינים תצורה כדי להגדיר מתי תופעל התראה.

  5. מוסיפים פילטרים אם צריך.

  6. לוחצים על Save.

תדירות הדיווח על מדדים ושמירת הנתונים

המדדים של מאזני עומסים גלובליים חיצוניים של רשת להעברת סיגנל ללא שינוי מיוצאים ל-Monitoring באצוות של דקה אחת. נתוני המעקב נשמרים למשך שישה שבועות. המדדים מבוססים על תנועה מדוגמת (שיעור הדגימה הוא דינמי ולא ניתן להתאים אותו). לוח הבקרה מספק ניתוח נתונים במרווחי זמן שמוגדרים כברירת מחדל: שעה אחת (1H), שש שעות (6H), יום אחד (1D), שבוע אחד (1W) ושש שבועות (6W). אפשר לבקש ניתוח באופן ידני בכל מרווח זמן שבין שש שבועות לבין שישים שניות.

מדדים וסוגי משאבים

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

מדדים

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

metric_name סוג תיאור
loadbalancing.googleapis.com/l3/external/ingress_bytes_count מונה מספר הבייטים שנשלחו מלקוח לקצה העורפי של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי. בזרימות TCP, נספרים רק בייטים בזרם האפליקציה.
loadbalancing.googleapis.com/l3/external/ingress_packets_count מונה מספר החבילות שנשלחו מלקוח לקצה העורפי של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.
loadbalancing.googleapis.com/l3/external/egress_bytes_count מונה מספר הבייטים שנשלחו מקצה עורפי של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי ללקוח. בזרימות TCP, נספרים רק בייטים בזרם האפליקציה.
loadbalancing.googleapis.com/l3/external/egress_packets_count מונה מספר החבילות שנשלחו מקצה עורפי של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי ללקוח.
loadbalancing.googleapis.com/l3/external/rtt_latencies הפצה

התפלגות של RTT שנמדד בחיבורי TCP לזרימות של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.

האפשרות זמינה רק לתנועת TCP.

סוגי המשאבים

מאזני עומסים גלובליים חיצוניים של רשתות להעברת סיגנל ללא שינוי משתמשים בסוגי המשאבים הבאים:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי יכול לתמוך בתעבורת נתונים של TCP,‏ UDP,‏ ESP,‏ GRE,‏ ICMP ו-ICMPv6.

אפשר לציין את סוג המשאב כ-tcp_lb_rule או כ-udp_lb_rule כדי להגביל את הנתונים שבמעקב לפרוטוקולי TCP או UDP. אפשר לציין את סוג המשאב כ-loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule כדי לעקוב אחרי כל הפרוטוקולים הנתמכים, כולל הפרוטוקולים TCP, ‏ UDP, ‏ ESP, ‏ GRE, ‏ ICMP ו-ICMPv6.

מסננים

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

תוויות משאבים ל-tcp_lb_rule או ל-udp_lb_rule

אפשר להגביל את השאילתה לפי משאב. אפשר גם לקבץ את התוצאות לפי הערכים האלה.

resource.label.<var>LABEL_KEY</var>:
label_key סוג תיאור
project מחרוזת המזהה של Cloud de Confiance הפרויקט שמשויך למשאב הזה.
load_balancer_name מחרוזת השם של מאזן העומסים.
region מחרוזת האזור שבו נמצא העורף של מאזן העומסים – לדוגמה, us-central1, europe-west1, asia-east1.
network_name מחרוזת רשת ה-VPC שבה נמצא הקצה העורפי של מאזן העומסים.
backend_target_type מחרוזת סוג יעד ה-backend שטיפל בחיבור. הערך החוקי הוא BACKEND_SERVICE.
backend_target_name מחרוזת השם של שירות הקצה העורפי.
forwarding_rule_name מחרוזת

השם של כלל ההעברה.

זה השם של אחד מכללי ההעברה של צאצא שנוצרו על ידי Cloud de Confiance(עם הסיומת -ag0 או -ag1).

forwarding_rule_network_tier מחרוזת מסלול הרשת של כלל ההעברה.
backend_name מחרוזת

השם של ה-backend שטיפל בחיבור.

הערך הוא השם של קבוצת המופעים של השרת העורפי (backend instance) או של קבוצת נקודות הקצה ברשת (NEG) שטיפלה בחיבור.

backend_type מחרוזת

סוג ה-backend שטיפל בחיבור.

הערך יכול להיות INSTANCE_GROUP או NETWORK_ENDPOINT_GROUP.

backend_scope מחרוזת

התחום או האזור של קבוצת המופעים של השרת העורפי או של ה-NEG.

backend_scope_type מחרוזת

סוג ההיקף של קבוצת השרתים העורפיים שטיפלה בחיבור. הערכים התקינים הם ZONE או REGION.

backend_subnetwork_name מחרוזת השם של רשת המשנה של ה-backend שקיבלה את החיבור.
endpoint_zone מחרוזת האזור של מכונת הבק-אנד הווירטואלית שטיפלה בחיבור.

תוויות משאבים ל-loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

אפשר להגביל את השאילתה לפי משאב. אפשר גם לקבץ את התוצאות לפי הערכים האלה.

resource.label.<var>LABEL_KEY</var>:
label_key סוג תיאור
project מחרוזת המזהה של Cloud de Confiance הפרויקט שמשויך למשאב הזה.
region מחרוזת האזור שבו נמצא העורף של מאזן העומסים – לדוגמה, us-central1, europe-west1, asia-east1.
backend_network_name מחרוזת רשת ה-VPC שבה נמצא הקצה העורפי של מאזן העומסים.
backend_target_type מחרוזת סוג יעד ה-backend שטיפל בחיבור. הערך החוקי הוא BACKEND_SERVICE.
backend_service_name מחרוזת השם של שירות הקצה העורפי שטיפל בחיבור.
forwarding_rule_name מחרוזת

השם של כלל ההעברה.

זה השם של אחד מכללי ההעברה של ילדים שנוצרו על ידי Cloud de Confiance(עם הסיומת -ag0 או -ag1).

backend_group_name מחרוזת השם של קבוצת השרתים העורפיים שטיפלה בחיבור.
backend_group_type מחרוזת

סוג קבוצת השרתים העורפיים שטיפלה בחיבור.

אם backend_target_type הוא BACKEND_SERVICE, הערך הוא INSTANCE_GROUP או NETWORK_ENDPOINT_GROUP.

backend_group_scope מחרוזת ההיקף של קבוצת ה-backend (שם האזור או האזור) שטיפלה בחיבור.
backend_subnetwork_name מחרוזת השם של רשת המשנה של ה-backend שקיבל את החיבור.
backend_zone מחרוזת האזור של מכונת הבק-אנד הווירטואלית שטיפלה בחיבור.

תוויות של מדדים

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

metric.label.<var>LABEL_KEY</var>:
label_key סוג תיאור
client_country מחרוזת המדינה של הלקוח שיזם את החיבור למאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.
client_continent מחרוזת היבשת של הלקוח שיזם את החיבור למאזן עומסי רשת חיצוני גלובלי להעברת סיגנל ללא שינוי.
protocol מחרוזת

הפרוטוקול בחיבור של משאב loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

השדה הזה נשאר ריק במשאבים tcp_lb_rule ו-udp_lb_rule.

מעקב אחר בקשות API

אפשר ליצור שאילתות שרירותיות על מאזני עומסים גלובליים חיצוניים של רשת להעברת סיגנל ללא שינוי באמצעות בקשת v3 projects.timeSeries.list של Monitoring API. המבנה המדויק של ההגדרות השונות תואם לסמנטיקה של מסנני המעקב הגנריים.

דוגמאות לבקשות API

  • קבלת כל הבייטים שנשלחו מכל מאזני העומסים הגלובליים החיצוניים להעברת סיגנל ללא שינוי בפרויקט במהלך השעות 12:00-12:02 בצהריים (UTC) בתאריך 2019-07-01 עם נתונים מצטברים של דקה.

    timeSeries.list parameters:

    • name: projects/PROJECT_ID
    • פילטר: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
    • interval.start_time: 2019-07-01T12:00:00Z
    • interval.end_time: 2019-07-01T12:02:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.perSeriesAligner: ALIGN_SUM
  • קבלת מדידת RTT חציונית בכל מאזני העומסים הגלובליים החיצוניים להעברת סיגנל ללא שינוי בפרויקט במהלך השעות 12:19-12:20 UTC ב-2019-07-01, עם פירוט לפי מדינת הלקוח.

    timeSeries.list parameters:

    • name: projects/PROJECT_ID
    • פילטר: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_country
    • aggregation.perSeriesAligner: ALIGN_PERCENTILE_50
  • קבלת מספר הבייטים הכולל ממאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי ספציפי במהלך השעות 12:19-12:20 בצהריים לפי שעון UTC בתאריך 2019-07-01, עם פירוט לפי אזור נקודת הקצה והיבשת של הלקוח.

    timeSeries.list parameters:

    • name: projects/PROJECT_ID
    • מסנן: resource.type = "tcp_lb_rule" וגם resource.label.load_balancer_name = "netlb-bs-1" וגם metric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_continent
    • aggregation.groupByFields: resource.label.endpoint_zone
    • aggregation.perSeriesAligner: ALIGN_SUM

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