文档章节

oneproxy-monitor 支持协议层的数据调试功能

harris2016
 harris2016
发布于 2016/10/19 13:46
字数 1105
阅读 507
收藏 6

    oneproxy-monitor是平民软件开发的一款数据库监控软件框架,在oneproxy-monitor中支持客户端和服务端之间的数据包的输出。进行中间件开发或者协议开发的时候会使用到这个功能来监控前后端数据的交互情况,重而进行协议层的调试。

    oneproxy-monitor进行协议调试的实现已经被开源到github上面。地址为:https://github.com/onexsoft/oneproxy-monitor。如果大家有其他的功能需求可以留言,我们将会在在这个框架上面进行增加。

    oneproxy-monitor本身是数据库监控软件的框架,在这个框架下只需要简单的实现几个接口及可以开发出一款数据库监控软件。目前平民软件已经在这个框架下面实现了sqlserver,postgresql的数据库监控软件。效果可以参见mysql的监控效果

    安装

1. 从https://github.com/onexsoft/oneproxy-monitor/tree/master/bin/monitor下载目标程序。当前提供了:

linux的x64版本:oneproxy-monitor-linux

windows的x64版本:oneproxy-monitor-win64.exe

2. 从https://github.com/onexsoft/oneproxy-monitor/tree/master/bin/monitor下载配置文件config.ini

[oneproxy]
logfile = oneproxy_log.log
pidfile = oneproxy_pid.pid
listen_addr = 0.0.0.0
listen_port = 9999,8888,7777,6666
log_level = error
data_dump = true

[fakeprotocol]
host = 127.0.0.1
port = 7838
classname = FakeProtocol

listen_addr: 是监听客户端的地址

listen_port: 是监控的端口号,可以通过,来指定多个端口

data_dump: 当设置为true时,就会输出客户端与服务端交互的数据包信息

[fakeprotocol]这是后端服务器的标签名称,可以随意命名(不能重复),这个标签下面代表一个后端服务器信息

host和port分别表示后端的服务器地址和端口

classname: 当oneproxy-monitor作为前后端的调试工具时,必须配置为FakeProtocol.

如果需要指定固定的监控端口的数据转发到固定的后端,则可以通过frontport来指定,比如在fakeprotocol下面增加如下的配置项:

frontport = 9999

表示监控端口9999的数据转发到fakeprotocol指定的后端,其他的端口都不会转发到这个后端。

3. 使用方法

把可执行文件和配置文件放到同一个目录下,或者通过参数-f指定。其中配置文件名称可以随意,但是一定要以.ini文件结尾。下面以调试sql server数据库为例,目前我的sqlserver是按照在本地主机的(127.0.0.1),端口为默认端口:1433。

3.1 修改配置文件

修改后的配置文件如下所示:

[oneproxy]
logfile = oneproxy_log.log
pidfile = oneproxy_pid.pid
listen_addr = 0.0.0.0
listen_port = 9999
log_level = error
data_dump = true

[fakeprotocol]
host = 127.0.0.1
port = 1433
classname = FakeProtocol

配置文件中只指定了一个监控端口9999,,输出dump数据。

3.2 启动命令

当配置文件和可执行文件在同一个目录下时:

./oneproxy-monitor-linux

windows下面直接双击oneproxy-monitor-win64.exe程序即可。

3.3 使用客户端连接oneproxy-monitor的地址

设置Mircrosoft Sql Server Manager的地址为监听地址为127.0.0.1, 端口为9999。在直接连接即可。

则Mircrosoft Sql Server Manager与sql server之间的交互数据一一被输出到了目录上和日志文件中。

输出的数据格式

前端发送数据包到后端和后端发送数据包到前端时都会输出数据包的内容,格式如下所示:

[dump][1864]front =====> backend:94
 12 01 00 5E 00 00 01 00     |...^....|
 00 00 24 00 06 01 00 2A     |..$....*|
 00 01 02 00 2B 00 01 03     |....+...|
 00 2C 00 04 04 00 30 00     |.,....0.|
 01 05 00 31 00 24 06 00     |...1.$..|
 55 00 01 FF 04 06 06 32     |U......2|
 00 00 00 00 00 00 28 BC     |......(.|
 00 DA 84 CE 96 A3 99 4F     |.......O|
 4B 94 F7 62 E7 00 DB 5E     |K..b...^|
 27 64 4A 45 09 D2 3E D9     |"dJE..>.|
 4A 91 00 2E 9D 5C 98 CB     |J....\..|
 37 02 00 00 00 01           |7.....  |
[dump][1864]backend =====> front:48
 04 01 00 30 00 00 01 00     |...0....|
 00 00 1F 00 06 01 00 25     |.......%|
 00 01 02 00 26 00 01 03     |....&...|
 00 27 00 00 04 00 27 00     |."....".|
 01 05 00 28 00 00 FF 0C     |...(....|
 00 07 D0 00 00 00 00 00     |........|

如果你有更好的想法,请留言,或者关注oneproxy-monitor.

© 著作权归作者所有

harris2016
粉丝 10
博文 54
码字总数 30661
作品 0
杭州
程序员
私信 提问
加载中

评论(1)

zzuqiang
zzuqiang
好强大看起来
数据库监控框架 oneproxy-monitor 开源了

OneProxy-Monitor 是数据库监控的框架,通过这个框架可以快速的开发出一款数据库的监控软件。目前已经在这个框架下面开发出来了sql server的监控软件oneproxy-for-sqlserver, postgresql的监...

harris2016
2016/10/19
4.9K
8
oneproxy-monitor 更新,支持在线更新配置等

oneproxy-monitor 在 oneproxy-for-sqlserver 的 1.2.4 版本中增加了如下两个功能: 1. oneproxy-monitor 的在线配置的更新 通过使用 Linux 内核的 reuseport 功能实现了 oneproxy-monitor 的...

harris2016
2016/11/23
1K
0
sql server支持连接管理功能

为了有效的使用后端连接,减少重复向数据库建立新连接带来的时间和资源开销。oneproxy-monitor提供了连接管理的功能。oneproxy-for-sqlserver使用oneproxy-monitor提供的连接管理功能来实现连...

harris2016
2016/11/14
71
0
oneproxy-monitor 1.2.5 版本发布

oneproxy-monitor的版本更新到了1.2.5了. 在这个版本中主要增加如下的功能点: 增加显示sp_who的功能:这个模拟的是sqlserver数据库中的sp_who查询的结果,显示前端主机用户与sql语句的关系。...

harris2016
2016/12/07
1K
9
oneproxy-monitor 版本更新,支持链接管理功能

oneproxy-monitor 目前已经支持连接的管理功能了。可以通过oneproxy-monitor连接管理功能实现连接池的功能。 目前基于oneproxy-monitor的连接管理功能实现了oneproxy-for-sqlserver的连接池功...

harris2016
2016/11/16
2.7K
3

没有更多内容

加载失败,请刷新页面

加载更多

Linux的基本命令

目录的操作命令(增删改查) 增: mkdir 目录名称; 查: ls 可以看到该目录下的所有的目录和文件 ls -a,可以看到该目录下的所有文件和目录,包括隐藏的 ls -l,可以看到该目录下的所有目录和...

凹凸凸
今天
2
0
在古老unix中增加新用户

Installing 4.3 BSD Quasijarus on SIMH 目标:要在4.3BSD中新增加用户dmr,指定目录/home/dmr,uid为10 gid=31(guest组,系统已建立) 4.3BSD还没有adduser或useradd 直接修改/etc/passwd...

wangxuwei
今天
2
0
Bootstrap(六)表单样式

基本样式 所有设置了 .form-control 类的 <input>、<textarea> 和 <select> 元素都将被默认设置宽度属性为 width: 100%;。 将 label 元素和前面提到的控件包裹在 .form-group 中可以获得最好...

ZeroBit
昨天
3
0
SSL 证书格式转换

SSL 证书格式转换 不同服务器情况下,需要不同的证书格式。 比如 pem 转 pfx。 pem在window 平台下可以导入,但是无法正常使用。 需要转换成pfx。 推荐在线转换工具,由中国数字证书网站提供...

DrChenXX
昨天
2
0
HAProxy

xx

Canaan_
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部