初到福建联通时,经常碰到BSS服务宕机时,开发人员和F5负载均衡设备维护人员掐架:开发人员说负载均衡有问题,F5维护人员说BSS系统有问题,领导让我来解决这个问题,咋办呢?
想了许久,我想就让数据说话吧,我先编写一个程序,定时将F5设备的运行指标采集到数据库,下次BSS再宕机的时候,就拿当时的F5运行指标数据出来讲话,就知道要打谁的板子了。那我们开始干活吧:
1、使用JAVA语言定时连接到F5设备上将当时的运行指标采集下来。因为F5设备实际上就是一个类UNIX主机,我可以使用JSch包调用这个主机上的命令来获取运行指标(JSch包的使用方式在我的另外一篇博文中已经详细说明:,这里我们不重复描述)。所以我们现在重点要学会F5设备上的几个指令;
2、首先根据IP、用户名、密码使用JSch登陆,登陆成功后,先发送字符串"enalbe\n",再发送"enable 对应的密码\n"就可以进入四层交换命令模式。\n表示回车的意思。
3、现在可以执行命令获取运行信息了,以下是常用命令:
a、列出所有HTTP负载的情况:show statistics slb real http
b、列出所有TCP负载的情况:show statistics slb real tcp
c、如需列出指定配置的负载情况,则在上述命令后面加上配置名称就可以了。
运行后的结果如下图所示:
我们主要采集的信息就是:采集的时间、实际提供服务的IP和端口、当前连接数和总共访问次数等信息,可以将这些信息写入数据库供后续分析使用。
4、大家可能都关心后续到底是BSS问题还是F5设备问题呢?实际上后来分析两边都有问题,后续我将详细描述F5设备当时的配置问题和解决方案!