下午系统正常运行,突然接到电话说无法登录系统,发现数据库宕机。问题最终定位在心跳网络发生异常,两个节点不能通讯互相认为对方节点挂掉,发生脑裂互相剔出集群。对数据库服务器进行重启后解决问题。
两台服务器心跳线使用万兆的光口 直连方式,感觉网络也不会有问题啊。但是为了一查到底,确定是否就是网络异常,在服务器上安装OSWBB 监控,这个玩意四个字形容就是 精简、强悍,直接解压到目标位置就可以直接使用。重写个启动文件、添加个心跳网络 检测文件。下面详细介绍。
1:上传到目标文件夹(任意,我/opt/),解压缩oswbb.zip
2:在oswbb目录下配置 为private.net
vim private.net
traceroute -r -F xx.xx.xx.xx
traceroute -r -F xx.xx.xx.xx
rm locks/lock.file
3:写个启动文件 start.sh
nohup sh startOSbb.sh 5 48 &
该脚本一共有4个参数,其中两个为可选参数,他们分别是:
$1 = 每隔多久检测一次 单位S
$2 = 日志保留时长 单位h
$3 = 压缩工具的名称,可以自动将生成的文件进行压缩。
$4 = 日志保存在哪
4:在archive 下查看相应日志
5:输入 java -jar oswbba.jar archive 可以形成分析报告、html页面、gif图片等
监控了3天对日志形成分析报告,发现两台数据库都提示 NETWORK UDP ERROR ; 然后在系统中查看使用UDP协议的端口、进程, netstat -lu ; netstat -an |grep ':port' ;心跳网络进程赫然在列。
再说这个oswbb,对CPU,内存,磁盘,网络,进程都有监控, 牛!
---2020-05-05追加
日志分析要有深度,结合系统多方面分析,问题再次发生的时候我只想着上次问题怎么还没解决,想着维护网络的人到底在干嘛,又想着这个日志是文本形式不直观无法看到问题,殊不知真正厉害的人一眼就看出问题所在,结合多方面日志问题分析的透彻,世有伯乐而后有千里马,监控软件再好不会用也是白搭,惭愧。