<返回更多

通过一起重启coredns操作引发的故障延伸至dns监控

2020-11-05    
加入收藏

前言

 

通过一起重启coredns操作引发的故障延伸至dns监控

CoreDNS

近日在工作中修改DNS,由于CoreDNS pod数量比较多,习惯性地使用脚本批量重启,随之引发了Nginx ingress的告警,有大量超时的请求发生,开始并未意识到是修改CoreDNS的原因,后来看故障时间与批量重启时间一致,才意识到是同一个问题,K8S 内部service通信其实也要经过CoreDNS。同时发现这块监控缺失,亡羊补牢,为时不晚,添加监控,规范操作,避免此类低级问题再次出现。

CoreDNS简介

 

通过一起重启coredns操作引发的故障延伸至dns监控

CoreDNS

CoreDNS 是一个从 Caddy 中 Fork 出来的项目(同时继承了它的链式中间件风格),作为 CNCF 项目中的一员,它的目标是提供一个快速且灵活的 DNS 服务。

CoreDNS在Kubernetes1.11版本已经作为GA功能释放,成为Kubernetes默认的DNS服务替代了Kube-DNS,目前是kubeadm、kube-up、minikube和kops安装工具的默认选项。

监控CoreDNS

 

通过一起重启coredns操作引发的故障延伸至dns监控

CoreDNS

开启CoreDNS性能指标

前提是需有一套K8S集群,使用CoreDNS作为内部的域名解析系统,同时集群内设置了Prometheus作为指标收集。

$ kubectl edit deployment coredns -n kube-system
.....
 34     metadata:
 35       annotations:
 36         prometheus.io/path: /metrics
 37         prometheus.io/port: "9153"
 38         prometheus.io/scrape: "true"
 39       creationTimestamp: null
.....

默认监听的地址为: :9253/metrics,在Prometheus中配置target之后就可以采集coredns性能数据了。

- job_name: coredns
  static_configs:
    - targets: 
      - xxx:9153
      labels:
        instance: coredns

CoreDNS性能指标列表

 

通过一起重启coredns操作引发的故障延伸至dns监控

性能指标列表

CoreDNS监控指标

coredns_dns_request_count_total指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_request_count_total

coredns_dns_request_size_bytes指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_request_size_bytes

le维度取值范围:0, 100, 200, 300, 400, 511, 1023, 2047, 4095, 8291, 16000, 32000, 48000, 64000.

coredns_dns_request_duration_seconds指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_request_duration_seconds

le维度取值范围:0.00025,0.0005,..., 后一个以前值的2倍数增加,最多16个,最后一个lnf为无穷大。

coredns_dns_request_type_count_total指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_request_type_count_total

DNS记录类型:

通过一起重启coredns操作引发的故障延伸至dns监控

DNS记录类型

coredns_dns_response_size_bytes指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_response_size_bytes

le维度取值范围:0, 100, 200, 300, 400, 511, 1023, 2047, 4095, 8291, 16000, 32000, 48000, 64000.


coredns_panic_count_total指标

进程出现中断的次数


coredns_dns_response_rcode_count_total指标

通过一起重启coredns操作引发的故障延伸至dns监控

coredns_dns_response_rcode_count_total

常见状态码:

通过一起重启coredns操作引发的故障延伸至dns监控

常见状态码

结束语

希望大家对生产环境有一颗敬畏之心,操作需要谨慎再谨慎。目前CoreDNS以上每个基本指标都已经做了监控,可能方式比较low,但是好胜于无,以后慢慢优化吧。如果有不对的地方,欢迎大家批评指正,共同学习。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>