במאמר הזה מוסבר איך לעקוב אחרי תנועת הנתונים ב-DNS באמצעות מדדי DNS ב-GKE. מדדי ה-DNS של GKE זמינים במסוף Google Cloud לאשכולות שפועלים בגרסאות הבאות:
ל-KubeDNS משופר, GKE בגרסה 1.36 ואילך
ל-NodeLocalDNS, גרסה 1.35.2-gke.1090000 ומעלה של GKE
הצגת מדדי DNS
אתם יכולים לראות את המדדים של GKE DNS במסוף Google Cloud ב-Metrics Explorer, בדרכים הבאות:
שימוש בלוח הבקרה של ניטור ה-DNS ב-GKE
Google מספקת מרכז בקרה מוגדר מראש ל-DNS ב-Monitoring > Dashboards > GKE DNS Observability - Cluster View. בלוח הבקרה הזה מוצגים מדדים של KubeDNS ו-NodeLocalDNS. כדי לראות את לוח הבקרה, צריך אשכולות שמשתמשים ב-NodeLocalDNS או ב-KubeDNS.
דוגמאות לשימוש במרכז הבקרה GKE DNS Observability:
קודם כל, עוברים אל Monitoring > Dashboards, כמו שמוצג בתמונה הבאה:

בצילום המסך הזה מופיע תפריט הניווט של מסוף Google Cloud בצד ימין. הקטע Monitoring מורחב, והאפשרות Dashboards מודגשת כדי להנחות את הניווט.
ואז עוברים למרכז הבקרה GKE DNS Observability - Cluster View:

בצילום המסך הזה מוצג דף הספרייה Dashboards, וברשימת מרכזי הבקרה הזמינים מודגש מרכז הבקרה GKE DNS Observability - Cluster View. לחיצה על הקישור הזה פותחת את התצוגה החזותית של מדדי ה-DNS ברמת האשכול.
יצירת מרכזי בקרה בהתאמה אישית
כדי ליצור מרכזי בקרה בהתאמה אישית ולהגדיר התראות שדומות למדדים שאתם עוקבים אחריהם, אתם יכולים להשתמש בכלים של Google Cloud Observability, כמו Cloud Monitoring Metrics Explorer.
שאילתות לגבי מדדי ניראות של DNS
כדי לראות את מדדי ה-DNS של אשכולות GKE, מבצעים את הפעולות הבאות במסוף Google Cloud ב-Metrics Explorer:
נכנסים לדף Monitoring > Metrics Explorer.
בשדה Select a metric, מסננים לפי
kubernetes.io/networking/dns/.המדדים של KubeDNS נמצאים במשאב Kubernetes Container, והמדדים של NodeLocalDNS נמצאים במשאב Kubernetes Node.
(אופציונלי) בוחרים מסננים לפי תוויות.
דוגמאות למדדי KubeDNS ולמדדי NodeLocalDNS במסוף Google Cloud בקטע Monitoring > Metrics Explorer:

בצילום המסך הזה מוצג הדף Metrics Explorer שמוגדר לשליחת שאילתות לגבי מדדי KubeDNS. בשדה Select a metric מוצג הנתיב המסונן kubernetes.io/networking/dns/kubedns/, ובתרשים שנוצר מוצגים גרפים פעילים של סדרות זמנים של בקשות KubeDNS וסטטוסים של מטמון.

בצילום המסך הזה מוצג הדף Metrics Explorer שמוגדר לשליחת שאילתות לגבי מדדי NodeLocalDNS. השאילתה מציינת את נתיב המדד kubernetes.io/networking/dns/node_local_dns/ במשאב Kubernetes Node, והתרשים מדגיש גרפים של סדרות זמן פעילות שמייצגים בקשות DNS מקומיות ונתוני זמן אחזור.
רשימת מדדי ה-DNS של GKE
המדדים הבאים זמינים למעקב אחרי הביצועים והתקינות של DNS ב-GKE.
מדדי KubeDNS
ב-GKE מגרסה 1.36 ואילך, המדדים הבאים זמינים ל-KubeDNS:
| סוג מדד | תיאור |
|---|---|
kubernetes.io/networking/dns/kubedns/dns_request_count |
המספר הכולל של בקשות DNS שהתקבלו על ידי KubeDNS. |
kubernetes.io/networking/dns/kubedns/dns_request_latencies |
היסטוגרמה של משך הזמן שנדרש לפתרון כל בקשה. |
kubernetes.io/networking/dns/kubedns/dns_cache_request_count |
מונה של בקשות DNS שמסוננות לפי סטטוס המטמון (התאמה או החמצה). |
kubernetes.io/networking/dns/kubedns/forwarding_request_latencies |
היסטוגרמה של משך הזמן של כל בקשה שהועברה. |
kubernetes.io/networking/dns/kubedns/max_concurrent_rejected_request_count |
שאילתות נדחו כי מספר השאילתות בו-זמנית הגיע למקסימום. |
כדי לחשב את המדד forwarding_request_count, אפשר להשתמש במדד kubernetes.io/networking/dns/kubedns/forwarding_request_latencies בשאילתה הבאה:
sum by (cluster_name) (rate({"kubernetes.io/networking/dns/kubedns/forwarding_request_latencies_count"}[${__interval}])).
כברירת מחדל, מסוף Google Cloud מחיל פעולת קצב על המדדים של request_count. אפשר להשבית את זה במקור PromQL.
מדדי NodeLocalDNS
בגרסה 1.35.2-gke.1090000 של GKE ואילך, המדדים הבאים זמינים ל-NodeLocal DNSCache:
| סוג מדד | תיאור |
|---|---|
kubernetes.io/networking/dns/node_local_dns/dns_request_count |
המספר הכולל של בקשות DNS שהתקבלו על ידי NodeLocal DNSCache. |
kubernetes.io/networking/dns/node_local_dns/dns_request_latencies |
היסטוגרמה של משך הזמן שנדרש לפתרון כל בקשה. |
kubernetes.io/networking/dns/node_local_dns/dns_cache_request_count |
מונה של בקשות DNS שמסוננות לפי סטטוס המטמון (התאמה או החמצה). |
kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies |
היסטוגרמה של משך הזמן של כל בקשה שהועברה. |
kubernetes.io/networking/dns/node_local_dns/max_concurrent_rejected_request_count |
שאילתות נדחו כי מספר השאילתות בו-זמנית היה במקסימום. |
כדי לחשב את הערך של המדד forwarding_request_count, אפשר להשתמש במדד kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies בשאילתה הבאה: sum by (cluster_name) (rate({"kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies_count"}[${__interval}])).
שימו לב שכאשר צופים במדדים האלה, מסוףGoogle Cloud מחיל באופן אוטומטי פעולת קצב על המדדים של request_count, שאפשר להשבית ממקור PromQL.