שימוש ביומני Cloud DNS כדי לעקוב אחרי שיעורי הכישלון של DNS

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

סקירה כללית

כדי להשתמש ביומני שאילתות של Cloud DNS כדי לעקוב אחרי שיעורי הכשל של DNS פנימי, צריך לבצע את השלבים הבאים:

  1. מקבלים את השם של רשת הענן הווירטואלי הפרטי (VPC) שמכילה את המכונות הווירטואליות שרוצים לנטר.
  2. בעזרת שמות רשתות ה-VPC, מריצים פקודה ב-Google Cloud CLI כדי להפעיל את הרישום ביומן של שאילתות DNS.
  3. מריצים שאילתות ב-Logs Explorer כדי להציג באופן חזותי את שיעורי ההצלחה והכישלון ולחקור אותם.

מידע על התמחור של רישום ביומן של שאילתות Cloud DNS

כשמפעילים את רישום שאילתות ה-DNS ב-Cloud DNS, נוצרות כמות גדולה של יומנים, שרבים מהם לא קשורים ל-DNS פנימי. לכן, יכול להיות שתחויבו על השימוש בתכונה הזו. באופן כללי, ה-50 GiB הראשונים של אחסון יומנים בכל פרויקט לחודש הם בחינם. כל תוספת של 50 GiB עולה 0.50 USD.

למידע נוסף על התמחור, ראו סיכום התמחור של Cloud Logging.

קבלת השמות של רשתות הענן הווירטואלי הפרטי (VPC)

כדי לתעד נתוני שאילתות DNS, צריך להפעיל את הרישום ביומן עבור רשת ה-VPC שבה נעשה שימוש במופע החישוב. לרוב, בפרויקט יש כמה רשתות VPC. Cloud de Confiance by S3NS אפשר להשתמש בפקודה של ה-CLI של gcloud כדי לרשום את רשתות ה-VPC שבהן נעשה שימוש במופעי המחשוב שרוצים לנטר.

המסוף

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

    כניסה לדף VM instances

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

  3. לוחצים על שם המכונה שרוצים לבדוק.

  4. בקטע Networking, מתחת לNetwork interfaces, אפשר לראות את ממשקי הרשת (NIC) שנוצרו עבור המכונה, את הרשת ואת רשת המשנה שמשויכות לכל NIC, ואת כתובות ה-IP שהוקצו להם.

gcloud

  • כדי לראות את רשתות ה-VPC שבהן משתמשות כל מכונות החישוב בפרויקט, משתמשים בפקודה gcloud compute instances list. אפשר להוסיף לפקודה את האפשרות --format כדי להגביל את המידע שמוחזר לשדות ספציפיים ולשנות את אופן ההצגה שלו. למשל:

    gcloud compute instances list \
      --format="flattened(name,networkInterfaces[].name, \
        networkInterfaces[].network.basename(), \
        networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    הפלט אמור להיראות כך:

    name:                           test-gvnic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    ---
    name:                           test-multinic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic0.14
    networkInterfaces[1].network:   net0
    networkInterfaces[1].stackType: IPV4_ONLY
    networkInterfaces[2].name:      nic1
    networkInterfaces[2].network:   prod-ipv6
    networkInterfaces[2].nicType:   GVNIC
    networkInterfaces[2].stackType: IPV4_IPV6
    
  • כדי לראות את ממשקי הרשת (NIC) של מכונת Compute ספציפית ואת רשתות ה-VPC שהוקצו לה, משתמשים בפקודה gcloud compute instances describe. אפשר להוסיף לפקודה את האפשרות --format כדי להגביל את המידע שמוחזר לשדות ספציפיים ולשנות את אופן ההצגה שלו. למשל:

    gcloud compute instances describe INSTANCE_NAME --zone=ZONE \
      --format="flattened(name,networkInterfaces[].name, \
      networkInterfaces[].network.basename(), \
      networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

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

    • INSTANCE_NAME: השם של המכונה שרוצים להציג
    • ZONE: האזור של המכונה שרוצים להציג

    הפלט אמור להיראות כך:

    name:                           test-instance
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic1
    networkInterfaces[1].network:   prod-ipv6
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].name:      nic1.2
    networkInterfaces[1].network:   alt-ipv6-net
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].parentNicName: nic1
    

הפעלת רישום ביומן של שאילתות Cloud DNS

רישום ביומן של Cloud DNS עוקב אחרי שאילתות ששרתי שמות פותרים עבור רשתות ה-VPC שלכם, וגם אחרי שאילתות מישות חיצונית ישירות לאזור ציבורי.

שאילתות שנרשמות ביומן יכולות להגיע ממכונות של Compute Engine, מקונטיינרים של Google Kubernetes Engine באותו רשת VPC, מאזורים מקושרים או מלקוחות מקומיים שמשתמשים בהעברת DNS נכנסת. יכול להיות שבסופו של דבר השאילתות ייפתרו על ידי אזורי DNS פרטיים, אזורי DNS להעברה, שרתי שמות חלופיים, אזורי DNS פנימיים או אזורי DNS חיצוניים. Cloud de Confiance by S3NS

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

כדי להפעיל את רישום ה-DNS ביומן, מבצעים אחת מהפעולות הבאות:

  • כדי ליצור מדיניות DNS חדשה עם רישום ביומן, מפעילים את הפקודה gcloud dns policies create.

    gcloud dns policies create POLICY_NAME \
        --networks=NETWORK_NAMES \
        --enable-logging \
        --description="Enable DNS query logging for NETWORK_NAMES"
    
  • אם ברשת כבר יש מדיניות DNS, מריצים את הפקודה gcloud dns policies update כדי לעדכן את מדיניות הרישום הקיימת.

    gcloud dns policies update POLICY_NAME \
       --networks=NETWORK_NAMES \
       --enable-logging \
    

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

  • POLICY_NAME: השם של מדיניות ה-DNS
  • NETWORK_NAMES: רשימה מופרדת בפסיקים של שמות רשתות

הוראות מפורטות ליצירה ולהפעלה של מדיניות DNS לרישום ביומן זמינות במאמר שימוש ברישום ביומן של Cloud DNS.

שימוש ב-Logs Explorer כדי להציג את היומנים ולקבל המחשה ויזואלית של שיעורי הכשל של DNS

אחרי שמפעילים את רישום ה-DNS, מתחילים להצטבר יומנים בפרויקט בכלי Logs Explorer. כדי לראות את היומנים האלה, משתמשים במסוף Cloud de Confiance ועוברים לדף Logs Explorer.

כניסה לדף Logs Explorer

מעקב אחרי שגיאות ברזולוציית שמות DNS

כדי לבודד כשלים בדומיין שלא קיים, משתמשים בקוד התגובה NXDOMAIN. הכשלים האלה מתרחשים כש-DNS פנימי לא מצליח לפתור שם דומיין נתון.

  1. בתיבת השאילתה בדף המסוף Logs Explorer, מזינים את הטקסט הבא:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NXDOMAIN"
    
  2. לוחצים על Run query.

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

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

  1. בתיבת השאילתה בדף המסוף Logs Explorer, מזינים את הטקסט הבא:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NOERROR"
    
  2. לוחצים על Run query.

הגדרת מסגרת זמן לניתוח

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

כדי להשוות ביעילות בין שיעורי השגיאות וההצלחות, צריך להפעיל את היומנים של שאילתות DNS לפני המעבר לשימוש ב-DNS אזורי. ‫Google ממליצה להפעיל את הרישום ביומן של שאילתות DNS לפחות 24 שעות לפני המיגרציה, כדי ליצור נתונים בסיסיים לפני המיגרציה.

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

ניתוח והשוואה של שיעורי פענוח שמות DNS

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

  • מספר רשומות ביומן: לכל שאילתה ולכל תקופת זמן, ב-Logs Explorer מוצג מספר הרשומות ביומן שנמצאו. עלייה משמעותית בערכי NXDOMAIN אחרי ההעברה בשמות DNS שפוענחו בעבר (היה להם NOERROR) עשויה להצביע על בעיה.

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

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

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

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