pixysoft.framework.healthchecks 开发实录


目的 

由于客户端系统会发生一些预料之外的问题,因此必须有一个自检系统。

这些问题包括了:1. 硬件问题(网络、磁盘) ;2. 配置问题; 3. 程序的bug; 4. 人员操作错误

 

用例环境

1. 系统安装的自检

一般嵌入到了安装程序。仅仅检查磁盘空间、网络环境等。

 

2. 系统启动的自检

额外的程序模拟系统启动进行检查,不是系统启动之后去检查。

 

3. 系统运行过程中检查

运行时,系统内部调用healthcheck,收集运行时的日志,然后归类打包。

 

4. 系统宕机检查

系统宕机后,立刻调用应急模块,自动进行检查,必须使用图形界面,即发送宕机报告,也告诉客户可能的情况和处理方式。 

自检的目的 

保证当前系统能够完成所有预期的功能。

 

自检项目

1. 网络链接

2. 数据库链接

3. 依赖配置项目检查

4. 本机磁盘检查

5. 日志检查

6. 加载程序检查 !!!!难点,如果做扩展,是否使用插件、还是IoC反射加载检查项目?

7. 自定义检查 !!!同上


设计思路

自检系统,使用树形结构,描绘自检项目之间的依赖。当父类自检失败,则子类不继续。


SETUP

启动检查 

 

STARTUP

包括启动能够运行的基本要求、例如网络链接、数据库、配置、磁盘;目的是系统能够顺利启动,并运行所有功能的前提要求项目。

 

RUNTIME

运行时检查,包括日志、自定义。目的是查看系统是否按照预期的功能运行。

 

DOWNTIME

系统宕机检查,包含启动检查、运行时检查。

包括2个运行库。

1. 核心模块,不依赖任何dll(除了.net)。主要尝试运行自检的基本模块。如果运行失败,则同时用户系统彻底崩溃。必须立刻通知管理员。

这个模块设计可能要添加其他dll的代码,保证不依赖其他模块,同时又能完成制定的要求,包括检查磁盘、文件依赖、dll依赖、网络检查。 

2. 基本模块,依赖基本框架dll。进行全方位的检查。同时发送详细的报表到开发部。

  

开发时间:20100205

结束时间:20100208 

posted @ 2010-02-05 17:14    阅读(340)  评论(6编辑  收藏  举报
IT民工