Linux 发生 OOM 的时候,node-exporter 自带的指标只能报告有发生过 OOM,但是细节一概没有,还需要自己去查看,不太方便快速判断,也无法对一些特定 OOM 进行消音。
简单搜索了一下,好像也没有找到现成的方案,那就自己写一个能提供更多OOM信息的工具 sysoom ,原理就是分析内核OOM日志,获取我关心的一些信息,比如被杀的进程名字,占用的内存大小,所属 cgroup 等。
结合 alertmanager 的抑制规则,在工具告警时老的告警就不再发出来,根据告警的详情就可以知晓OOM的大概情况,方便后续处理,对于一些顽固短期无法解决的也可以按标签进行消音避免无意义告警骚扰。
Last comments