- Socket.io Monitor是什么
- Socket.io Monitor文件清单
- Socket.io Monitor安装
- Socket.io Monitor启动
- Socket.io Monitor使用
- 优势
- 缺点
- 有待提高
- 参考资料
Socket.io Monitor是什么
Socket.io Monitor是一个对Socket.io连接的监控插件,Socket.io Monitor基于Node.js开发,分为2部分,监控插件和监控平台。监控平台依赖node.js插件express, ejs 项目地址https://github.com/luoyan35714/Socket.io-Monitor
Socket.io Monitor文件清单
monitor.js |
lib/socketio-monitor.json |
public/css/bootstrap.css.map |
public/css/bootstrap.min.css |
public/css/bootstrap-theme.css.map |
public/css/bootstrap-theme.min.css |
public/fonts/glyphicons-halflings-regular.eot |
public/fonts/glyphicons-halflings-regular.svg |
public/fonts/glyphicons-halflings-regular.ttf |
public/fonts/glyphicons-halflings-regular.woff |
public/js/bootstrap.min.js |
public/js/html5shiv.js |
public/js/jquery-1.8.0.min.js |
public/js/respond.min.js |
views/socket-address-detail-monitor.ejs |
views/socket-address-monitor.ejs |
views/socket-log-monitor-dynamic.ejs |
views/socket-log-monitor-static.ejs |
views/socket-url-monitor.ejs |
views/template.ejs |
Socket.io Monitor安装
- 在运行文件同级目录下解压以上清单文件,包含
monitor.js |
public/* |
view/* |
lib/* |
- 安装第三方插件ejs,BodyParser,express-partials, log4js (如果已经安装可以跳过)
- 在代码中注册此插件
Socket.io Monitor启动
在完成步骤3之后,在启动项后添加参数 monitor,正常启动项目入口js文件(例如server.js),获得启动的Server地址[host]和端口[port]
例如执行
在浏览器输入http://[host]:[port]/monitor/socket/list
即可查看监听状态
Socket.io Monitor使用
-
进入系统界面为
- Static Logs:指的是点击之后加载一次LOG,如果有新LOG需要自己手动刷新获取(经测试,当LOG文件过大,系统加崩溃, 默认20M大小。)
- Dynamic Logs: 指的是可以每隔2秒钟读取一次LOG,页面中有提供启停LOG刷新功能,如下所示
- 在首页中展示的项为所监听的路径,当点击View可以查看连接到此路径的IP地址列表
- 继续点击View可以查看此IP地址连接到此路径下的连接数
- 点击Back即可返回上一级
优势
提供了可视化的Socket.io监控平台,提供了日志查看功能,最小化利用CPU和内存,支持日志配置
缺点
- 连接信息存储在内存中,连接量在超过一定数量会导致内存溢出
- 日志文件大小超过某值之后会导致程序假死(每次读取文件时间过长,解决办法是在Log4js中限制文件大小)
- 监控和显示平台集成在一起
有待提高
- 监控和显示分离
- 日志显示分离
注意:此插件为了最小化使用服务器CPU和内存,没有采用实时推送刷新功能,所以,当登录页面监控之后,如果要查看最新数据,请手动刷新页面。
参考资料
W3cschool: http://www.w3cschool.cc/nodejs/nodejs-tutorial.html
InfoQ: http://www.infoq.com/cn/articles/what-is-nodejs
NodeJs官网:http://nodejs.org/
ByVoid: 《node.js开发指南》
田永强:《深入浅出nodejs》