1. 背景介绍
SinoBM是一款用于检测网络实时流量,统计网络流量,并统计封包中的SQL操作数量(包括select、insert、update、delete)和http请求数量(包括get和post),以及统计database和web总流量和流量占比的客户环境流量调研工具。
我们可以在客户环境安装该工具或是让客户自行下载并执行程序,监控实际环境的流量情况,从而分析相应的硬件需求,为开发可适用于客户环境的dbAudit小型一体机提供数据参考。
2. 运行环境
安装CentOS 6.5及以上的操作系统,使用root用户在根目录解压和运行,支持常用的数据库环境,如PostgreSQL、Oracle、Informix、MySQL、DB2、KingbaseES、Dameng、Sql Server等。
3. 使用帮助
执行命令:./sinobm -h,可以查看工具的帮助信息。
参数说明:
-d:运行在后台避免窗口关闭
-I:单位时间(分钟),以单位时间为周期进行统计输出信息
-T:总运行时间,运行时间结束后自动退出,并输出运行时间内的统计信息
-i:监听接口
-D:指定监控的database,支持ipv4和ipv6,多个地址以“,”隔开
-W:指定监控的web,支持ipv4和ipv6,多个地址以“,”隔开
-c:加载配置文件
-t:以文本方式运行
-l:当无法识别pcap包时,输出debug文件
4. 运行模式
SinoBM包含三种运行模式,即窗口模式、文本模式和后台模式。
1)窗口模式
运行在前台,
关闭窗口后程式也停止运行。窗口模式运行后每隔2秒(低2秒,没有流量的情况下为5秒)会更新当前的统计信息。执行命令:./sinobm -I 1 -T 1 -i eth0
界面显示说明:
上部:总运行时间,剩余运行时间;
中间部分:记录连接信息,连接总流量,实时速率;
底部:表示web流量和占比,db流量和占比,总流量,sql数量,以及实时速率和大速率。
结果输出说明:
按参数-I指定的周期输出统计信息,文件名为:sinobm_period_[运行时间格式化].txt;
当结束运行时会输出总体统计信息,文件名为:sinobm_result_[运行时间格式化].txt。
2)文本模式
同样运行在前台,
关闭窗口后程式也停止运行。文本模式运行后每隔2秒(低2秒,没有流量的情况下为5秒)会输出当前的统计信息,信息和窗口模式类似。输出的文件和窗口模式一样。执行命令:./sinobm -t -I 1 -T 1 -i eth0
界面显示说明:
上部:当前运行时间,总运行时间;
中部:记录连接信息,连接总流量,实时速率;
底部:表示实时速率,大速率,总封包数,总流量,db流量和占比,web流量和占比,sql数量及http数量。
3)后台模式
为了防止窗口关闭程式被迫中止可以使用后台模式。使用方式是加上参数-d。在后台模式下运行窗口不再输出统计信息。执行命令:
①仅含参数-d:./sinobm -d -I 1 -T 1 -i eth0,后台运行模式,输出的文件和窗口模式一样。
②含参数-d和-t:./sinobm -d -t -I 1 -T 1 -i eth0 ,以文本方式运行后台模式,还会多生成一个日志文件sinobm_[运行时间格式].log,将文本模式的显示结果输出到日志里。
5. 结果说明
1)周期统计
统计单位时间内的流量信息,包括封包大小分类计算。
2)总体结果
输出信息和周期统计类似,不同的是统计的是运行时间内的总流量。
上部:行显示总运行时间及结束运行时间;第二行显示大速率;第三行显示周期内高流量发生在什么时候。
底部:行显示总网络流量、统计database和web总流量、封包数量,第二行统计SQL数量包括select、insert、update、delete,以及http get和post请求数量。
6. 配置文件
1)通过修改配置文件config.ini的daemon/no-curses对应的参数值(true或false)切换不同的运行模式
①窗口模式:false/false
②文本模式:false/true
③后台模式:true/false
④以文本方式运行后台模式:true/true
2)输入执行命令:./sinobm -c config.ini,可以按照配置文件运行。