Grafna告警排查
1. 现象
业务集群k8s节点状态异常【生产环境】,
告警数据如下:
1、告警条件:> 0,当前值:1.0,标签:
node:cluster-xxx-node0002
condition:DiskPressure
2. 排查步骤
2.1明确告警规则
进入Grafna,根据告警规则ID, 查看监控告警规则中配置的规则,明确告警原因
例如:核心逻辑是: 找出所有命名以 cluster开头、且不在 xx可用区的节点,只要这些节点的 任何非 Ready 条件(如 MemoryPressure、DiskPressure、PIDPressure、NetworkUnavailable)的状态为 True,就会触发这个查询结果
2.2查看监控看板(Grafna)
- 更改要查询的参数为告警参数,更改告警筛选时间
- 搜索异常:DiskPressure,找到图表,查看告警内容
bash
情况一:MemoryPressure
含义:内存压力:节点上的可用内存不足。
情况二:DiskPressure
含义:磁盘压力:节点上的磁盘空间不足(通常是根分区或 kubelet 使用的数据分区)。
情况三:PIDPressure
含义:进程号压力:节点上的进程ID(PID)数量即将用尽。
情况四:NetworkUnavailable
含义: 网络不可用:节点的网络配置有问题。
根据步骤1得到的告警原因分析 ,和告警DiskPressure 得出需要查看的监控需要查看磁盘空间看板,得出哪里出问题发现,磁盘压力过大重启了
2.3具体排查磁盘原因
- 登录到具体的服务器上,
- 分析具体磁盘压力的文件和目录
bash
# 从根目录开始,查看各个目录占用磁盘空间
du -sh *
2.4总结
找出占用磁盘最大的目录,分析目录来源,分析是否K8s 的节点配置不对,一般原因都是磁盘IO占用过大,根据具体业务修改节点配置可解决