CoreDNS是ACK集群中默認采用的DNS服務發現插件。本文介紹如何查看CoreDNS組件監控大盤、常見指標異常的問題解析,以及CoreDNS組件的指標清單。
前提條件
查看CoreDNS組件監控大盤
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在Prometheus監控頁面,單擊網絡監控頁簽。
在CoreDNS組件監控頁簽查看監控大盤。
監控大盤說明
基于組件指標和相關PromQL繪制大盤,包括請求、響應、緩存等內容。圖表說明如下。
大盤指標 | 單位 | 描述 |
Requests (total) | 請求/秒 | CoreDNS接收到的請求數。 |
Requests (success rate) | 百分比 | CoreDNS接受到的請求數響應成功率。 說明 NXDOMAIN和NOERROR的結果在此處被認為請求響應成功。 |
Requests (by zone) | 請求/秒 | CoreDNS接收到的請求數(按Zone)。 |
Requests (by qtype) | 請求/秒 | CoreDNS接收到的請求數(按解析類型)。 |
Requests (DO bit) | 請求/秒 | CoreDNS接收到的帶有DO標記的請求數。 |
Requests (size, udp) | 字節 | CoreDNS接收到的UDP類型請求的報文大小。 |
Requests (size,tcp) | 字節 | CoreDNS接收到的TCP類型請求的報文大小。 |
Responses (by rcode) | 請求/秒 | 響應數(按狀態碼RCODE)。 |
Responses (duration) | 秒 | 響應時長(按99、90、50百分位)。 |
Responses (size, udp) | 字節 | UDP類型請求的響應報文大小的百分位數(99%、50%)。 |
Responses (size, tcp) | 字節 | TCP類型請求的響應報文大小的百分位數(99%、50%)。 |
Cache (size) | 個 | 當前緩存結果數。 |
Cache (hitrate) | 百分比 | 緩存命中率。 |
監控大盤常見異常說明
異常 | 描述 |
CoreDNS接收到的請求數過高。 | 在監控大盤的Requests (total)可以看到當前CoreDNS整體接收到的請求數。 如果請求數突然增高,可以結合CoreDNS日志查詢當前查詢量較高的域名,結合業務判斷是否合理。關于如何分析和監控CoreDNS日志,請參見分析和監控CoreDNS日志。如果域名請求數量增高是合理現象,建議合理調整CoreDNS副本數以及使用NodeLocal DNSCache提高集群DNS性能。具體操作,請參見合理調整集群CoreDNS部署狀態和使用NodeLocal DNSCache。 |
服務端異常,ServFail狀態碼響應的數量過高。 | 在監控大盤的Responses (by rcode)可以看到ServFail狀態碼的響應數目。 如果服務端出現大量ServFail異常,建議結合CoreDNS日志中ServFail的具體域名進行排查。關于如何分析和監控CoreDNS日志,請參見分析和監控CoreDNS日志。 |
CoreDNS域名解析響應慢。 | 在監控大盤的Responses (duration)可以看到域名的響應時長。 如果應用大量使用集群外部域名,可能會出現域名解析響應慢的情況。 |
指標清單
如果您未啟用ARMS提供的CoreDNS組件監控大盤,您也可以在自建Prometheus中監控CoreDNS。CoreDNS暴露的指標如下。
本指標清單以CoreDNS 1.9.3版本為例,詳細信息,請參見CoreDNS官方文檔。
指標 | 類型 | 描述 |
requests_total | Counter | 統計不同維度下DNS解析請求的計數。統計維度包括server、zone、proto、family、type。 |
request_duration_seconds | Histogram | 統計不同維度下DNS解析請求的處理時長分布。統計維度包括server和zone。 |
request_size_bytes | Histogram | 統計不同維度下DNS解析請求的報文大小分布。統計維度包括server、zone、proto。Histogram Bucket的閾值為0、100、200、300、400、511、1023、2047、4095、8291、16e3、32e3、48e3、64e3。單位:秒。 |
do_requests_total | Counter | 統計不同維度下帶有DO標記的DNS解析請求的計數。統計維度包括server、zone。 |
response_size_bytes | Histogram | 統計不同維度下DNS解析響應的報文大小分布。統計維度包括server、zone、proto。Histogram Bucket的閾值為0、100、200、300、400、511、1023、2047、4095、8291、16e3、32e3、48e3、64e3。單位:秒。 |
responses_total | Counter | 統計不同維度下DNS解析響應的計數。統計維度包括server、zone、rcode、plugin。 |
panics_total | Counter | 統計CoreDNS發生異常(Panic)的計數。 |
plugin_enabled | Gauge | 統計各插件的啟用狀態。統計維度包括server、zone、name。 |
https_responses_total | Counter | 統計不同維度下DoH類型的DNS解析響應的計數。統計維度包括server、status。 |