记录一个Saltstack的salt-master高负载问题

这个月初,salt-master机器的负载开始狂飙,之前一直都0.25左右,月初开始稳定飙到几十。

top后看到salt-master的线程时不时全部都活动起来干活,查salt-master日志,也没看出啥,就是一直刷minion的密钥更新之类的信息,毕竟单机拖了4千台机器了,输出这些日志很正常。

同机还跑着mysql,怀疑下mysql,查了processlist,也没啥很多sql语句并发会堵塞影响性能啊。

sar看到CPU都是用在user那里,没办法,先定性为机器性能不够,毕竟每天都有二三十台新机器接入master,也有其他事情忙,就是用起来慢点,也不是不能用。

今天闲了点又去看了下,检查message日志,发现内核一直抛警告:

kernel: possible SYN flooding on port 4506. Sending cookies.

4506端口一直有syn的连接,内核参数是没问题的,ss看了下连接数,也正常,syn连接数就几个。

估计是负载影响到机器对于连接的处理,导致内核抛这个警告。

再去看了下自己写的自动处理新机器ID的脚本日志,发现端倪了。

记录一个Saltstack的salt-master高负载问题_第1张图片

一直有同个ID的机器怼过来,机器都做了salt-minion的守护,所以一直对冲。

salt-master就一直删除接受删除接受这个ID。

处理掉这个冲突后,发现负载立马就降下来了。

结合日志和zabbix的负载监控,就是这个ID一直对冲的时候开始,机器负载就狂飙了。

所以,直接原因很明显,就是salt-master在处理这个重复ID进行接收删除时,严重影响了机器的性能,根本原因嘛,还要啃一下源码才知道了。

待续

你可能感兴趣的:(salt,Linux)