pomelo 的一些监控和维护插件(工具)
POMELO 提供了非常多的插件,可以方便我们日常对其的一些操作和开发工作,同样的我们也可以自己开发一些定制的插件让其伴随整个POMELO的生命周期运作(这里 不是要介绍如何制作POMELO插件),这里还是详细的介绍几种POMELO中比较有用的插件,通过这些插件的工作原理也可以让大家更加了解一些 POMELO的工作原理(不对之处非常感谢指证~),之前介绍过压力测试工具,今天介绍一下可以配合压力测试工具以及日常运维工作使用的服务器监测和命令 行工具。主要包含以下3方面
1 POMELO-CLI
2 POMELO-ADMIN
3 POMELO-ADMIN-WEB
首先来说第一个POMELO-CLI
这个其实不算POMELO的插件,只能算辅助管理POMELO的一个客户端命令行工具,通过这个工具我们不在需要到服务器程序的宿主机上去敲打 POMELO命令来对服务器进行一系列的操作了(停止,重启,热扩展,获取服务器信息等),工具内部包含了很多命令行可以使用,其本质的原理是通过控制台 连接上服务器的MASTER服务器然后远程发送命令给MASTER服务器让其控制所有的游戏服务器。
上面是一张非常经典的POMELO控制架构,MASTER管理着所有的服务器,那么我们只需要可以驱动MASTER就可以实现外部管理服务器了。是不是非 常方便?但是这样大家可能会有另外一个问题,这样安全吗?POMELO想到了这个问题,所以在大约0.6版本的时候POMELO加入了MASTER服务器 的权限控制,在服务器的CONFIG文件夹下有一个ADMINUSER文件,在里面可以设置允许登录MASTER服务器的用户名密码以及用户等级,通过这 样实现了对MASTER服务器的权限和安全性管理:
OK基本的都介绍完了那我们如何使用POMELO-CLI工具呢?详细的使用方式GIT上面都有描述了并且大家可以通过HELP来获取所有可以使用的命令,这里做几个简单的演示
(1)打开你的控制台
(2)输入npm install pomelo-cli等待安装完毕
(3) 在控制台中输入连接命令
pomelo-cli -h 127.0.0.1 -P 3005 -u admin -p admin
配置方法:
app.js app.configure('production|development', 'master', function () { app.enable('systemMonitor'); });
如何启动pomelo-cli
var pomelo_cli = require('pomelo-cli'); pomelo_cli();
可以看到在这条连接命令中我们需要输入MASTER服务器的地址端口,以及用户名密码
看到如上画面就代表我们已经登录成功了,之后就可以使用CLI提供的一系列强大的工具了~
显示各服务器状态:
所有可以使用的命令
这里我就不对所有功能一一介绍啦~~大家可以自己使用体会哦~~(我觉得里面比较炫的功能主要还是热扩展服务器了!!非常实用的功能)
use robot-server-1 选择机器人服务器 dump memory /test000 --force 拷贝内存到文件
参考:http://blog.sina.com.cn/s/blog_b5a53f2e0101pfop.html
参考:https://github.com/NetEase/pomelo/wiki/pomelo-cli-exec%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8