CoreDNS组件监控

CoreDNS是ACK集群中默认采用的DNS服务发现插件。本文介绍如何查看CoreDNS组件监控大盘、常见指标异常的问题解析,以及CoreDNS组件的指标清单。

前提条件

  • 已开通ARMS。具体操作,请参见开通ARMS

  • 已安装ack-arms-prometheus组件。具体操作,请参见管理组件

查看CoreDNS组件监控大盘

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > Prometheus 监控

  3. 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。