Kubernetes CoreDNS 监控
CoreDNS 是 Kubernetes 1.13 及以上版本的默认 DNS 服务器,负责将服务名称转换为 IP 地址,并确保集群内部的服务发现正常运行。借助 Site24x7 的 Kubernetes CoreDNS 监控,您可以深入了解 DNS 性能、查询处理、缓存效率和资源使用情况,从而帮助确保工作负载保持可达和响应。
监控 CoreDNS 的关键指标,如请求延迟、响应错误、缓存命中率和 Go 运行时性能,以便在 DNS 问题影响工作负载之前主动加以解决。
这些洞察可帮助您:
-
检测可能中断 Pod 间通信的高延迟或失败的 DNS 查找。
-
识别配置错误、转发错误和不健康的上游解析器。
-
优化缓存使用,减少查询时间和对外部 DNS 的依赖。
-
跟踪资源使用情况,确保 CoreDNS 规模适当且运行稳定。
通过使用 Site24x7 保持 CoreDNS 部署健康且受到良好监控,提前应对 DNS 相关问题并维护集群稳定性。
支持的版本
此功能从Linux 服务器监控代理 21.0.0 版本开始支持。
控制平面监控和其他最新功能需要您将 Kubernetes 代理升级到最新版本。
如果您尚未添加 Kubernetes 监视器,请按照以下步骤添加一个。
CoreDNS 监视器
代理升级后,Site24x7 Kubernetes 监控代理将获取所有 CoreDNS 指标。
导航到您的 CoreDNS 监视器:
-
登录您的 Site24x7 账户。
-
导航至 K8s > 选择集群 > CoreDNS。
-
这将打开所选集群的 CoreDNS 监视器列表。点击一个监视器以查看详细的 DNS 指标。
监控参数
利用率
| 指标名称 | 描述 | 单位 |
|---|---|---|
| DNS 响应错误计数 | DNS 响应错误的数量 | 计数 |
| 转发最大并发拒绝数 | 由于最大并发限制而被拒绝的转发请求数量 | 计数 |
| 健康检查失败次数 | 健康检查失败的次数 | 计数 |
| Kubernetes DNS 编程时长 | CoreDNS 在服务变更后更新或编程 Kubernetes 服务 DNS 记录所需的时间 | 秒 |
| 成功缓存命中率 | 成功缓存命中占总请求的百分比 | % |
| 平均 DNS 请求时长 | 处理一个 DNS 请求的平均时间 | 秒 |
| 平均转发请求时长 | 上游 DNS 服务器响应 CoreDNS 转发的 DNS 查询所需的平均时间 | 秒 |
| DNS 请求计数 | 已处理的 DNS 请求总数 | 计数 |
| DNS 响应计数 | 已发送的 DNS 响应总数 | 计数 |
| UDP 请求计数 | 通过 UDP 收到的 DNS 请求数量 | 计数 |
| TCP 请求计数 | 通过 TCP 收到的 DNS 请求数量 | 计数 |
| IPv4 DNS 请求计数 | 已处理的 IPv4 DNS 请求数量 | 计数 |
| IPv6 DNS 请求计数 | 已处理的 IPv6 DNS 请求数量 | 计数 |
| 平均 DNS 请求大小 | DNS 请求的平均大小 | 字节 |
| 平均 DNS 响应大小 | DNS 响应的平均大小 | 字节 |
| 转发请求计数 | CoreDNS 已转发到其配置的上游 DNS 服务器的 DNS 请求数量 | 计数 |
| 转发响应计数 | CoreDNS 从其配置的上游 DNS 服务器收到的 DNS 响应数量 | 计数 |
| 按记录类型划分的 DNS 请求数 | 按记录类型(例如 IXFR、AAAA 或 DNSKEY)分组的 DNS 请求数量 | 计数 |
| Go 线程数 | 在上次轮询间隔期间,CoreDNS 进程的 Go 运行时创建的操作系统线程数量 | 计数 |
| Goroutine 数 | CoreDNS 进程当前存在的 Goroutine 数量 | 计数 |
| 进程打开的文件描述符数 | 在上次轮询间隔期间,CoreDNS 进程打开的文件描述符数量 | 计数 |
| 进程 CPU 时间 | 在上次轮询间隔期间,CoreDNS 进程消耗的 CPU 时间 | 秒 |
| 进程常驻内存 | 在上次轮询间隔期间,CoreDNS 进程使用的常驻内存字节数 | 字节 |
| 进程虚拟内存 | 在上次轮询间隔期间,CoreDNS 进程使用的虚拟内存字节数 | 字节 |
健康状况与故障
| 指标名称 | 描述 | 单位 |
|---|---|---|
| CoreDNS 崩溃次数 | CoreDNS 发生 panic 事件的次数 | 计数 |
| 转发插件所有上游不健康次数 | 转发插件中配置的所有上游服务器均不健康的次数 | 计数 |
| 健康检查失败次数 | 健康检查失败的总次数 | 计数 |
| 代理健康检查失败次数 | 每个上游的健康检查失败次数 | 计数 |
| 重新加载失败次数 | CoreDNS 重新加载失败的次数 | 计数 |
| 转发最大并发拒绝数 | 由于最大并发限制而被拒绝的转发请求数量 | 计数 |
| 转发请求错误计数 | 转发 DNS 请求中的错误数量 | 计数 |
| 按返回码划分的转发请求计数 | 按返回码分类的转发 DNS 请求数量 | 计数 |
| 转发响应错误计数 | 转发 DNS 响应中的错误数量 | 计数 |
| 按返回码划分的转发响应计数 | 按返回码分类的转发 DNS 响应数量 | 计数 |
| DNS 响应错误计数 | DNS 响应错误的数量 | 计数 |
| 按返回码划分的响应计数 | 按返回码分类的 DNS 响应数量 | 计数 |
缓存使用情况
| 指标名称 | 描述 | 单位 |
| 成功缓存条目数 | 成功缓存条目的数量 | 计数 |
| 被拒绝的缓存条目数 | 被拒绝的缓存条目数量 | 计数 |
| 缓存条目成功率 | 成功缓存条目的百分比 | % |
| 成功缓存命中数 | 成功缓存命中的数量 | 计数 |
| 被拒绝的缓存命中数 | 被拒绝的缓存命中数量 | 计数 |
| 成功缓存命中率 | 成功缓存命中的百分比 | % |
| 缓存未命中计数 | 缓存未命中的数量 | 计数 |
