记录日期:2013-10-16
1.概述
服务器巡检工具用于系统各个服务器的实时监控,在系统出现异常时通知管理员.本方案是针对gyb定义的,并未考虑对其它项目的适用性。(如机构ID概念,平台依赖性)
特性:
.对需要巡检的服务器按照设置的时间策略进行巡检。
.巡检内容预定义。
.形成巡检报告,特别是针对异常情况。
.发送巡检报告(邮件和短信方式)。
.错误提醒:界面提示和声音告警。
(巡检报告目前只是错误时的报警文本信息)
巡检工具是一个客户端程序,实现为基于hotfox框架运行的插件。
Xeej作为工具的名称,也是插件的名称.
2.设计元素
2.1 巡检服务器清单
服务器作为巡检单元。
需要巡检的服务器保存插件配置文件中(维护清单采用直接编辑配置文件,暂不提供插件内维护清单的功能)
每个服务器选定一个机构和用户.作为巡检时的代理用户.服务器清单配置如下:
<server_list>
<item> <!-- 每个服务器一项-->
<id>1</id> <!--服务器ID-->
<enable>true</enable> <!—是否启用该项 默认:true-->
<orgid>10009</orgid> <!-- 机构ID -->
<user>liy</user> <!--用户帐号 -->
<password></password> <!--用户密码:明文 -->
</item>
</server_list>
***利用平台信息对所有服务器进行巡检,可以省略配置,但依然要配置机构和用户信息。
***抽象:
Xeej管理一群robot,为这些robot委派一些任务,派遣出去搜集信息.把搜集的信息反馈给Xeej.
服务器的IP和端口通过平台获取。
平台IP和端口在插件中配置。
2.2 调度策略
采用 http://blog.csdn.net/wherwh/article/details/10562067的方式实现,可采用每天执行或指定间隔执行(如半小时)。***可能需要扩展任务调度策略,以支持每天设定的几个时间点。
2.3 巡检内容
巡检内容包括。服务器是否响应:利用umx ping协议探测
。能否用户成功登录:
。用户登录消耗的时间:
程序结构应考虑扩充巡检内容的支持。
2.4 报警
巡检发现问题时生成错误提示信息。报警信息可以通过邮件和短信方式发送给预先定义的接收者。
支持声音报警。是否声音报警可配置。报警声音预定义,声音报警仅用于后台方式。
2.5 维护管理员信息
目的是维护报警信息接收人及接收方式信息。这些信息保存在数据库中,便于其它应用共享。
维护管理员用户信息及报警接收设置。
---Email方式:邮件地址
---SMS:手机号
2.6 如何使用
使用者:运营人员,系统管理员提供手动执行和后台执行两种操作方式。
手动操作场景:
。启动程序
。执行巡检
。查看巡检结果
手动操作方式不发送报警信息。
自动操作场景:
。启动程序
。后台运行
。使用者等待接收报警信息
通常安排为自动后台执行方式。
报警信息仅在错误或异常的情况下才产生。
手动操作也可以在自动操作进行时执行。
2.7 活动流程
2.7.1 启动
.加载配置:服务器清单,平台服务地址信息,调度策略.从平台获取各个服务器的服务地址信息,执行过程中检查无效服务器ID和机构的错误
2.7.2 巡检
并行对所有服务器进行巡检操作。对一个巡检单元的所有巡检操作顺序执行。
巡检结果显示在界面上。
后台方式时把巡检错误信息报告按照设定的方式给运营管理人员。
3. 其它
3.1 环境
.需要SMS服务:在平台架设网关,Xeej把短信报警信息通过平台发送给网关3.2开发注意事项
---服务器证书命名和存放保持和gby客户端一致(便于集成)---避免重复告警:如程序循环执行过程的错误不要多次报警。
4.TODO
.UI定义