lhylhy38
作者lhylhy38·2012-11-27 15:22
系统工程师·IBM

我的运维理念

字数 2541阅读 3609评论 1赞 0
感觉很久没有更新博客了,因为我自从10月开始就全力为我现在集成的系统完成一套脚本运维工具。
这次的工具包含了我的三个运维理想:
1 系统自动管理
包括了应用和系统日志自动切分,管理,归档和删除。
2 故障自动恢复
包括了应用故障的邮件通知和自动重启、恢复。
3 服务器后台集群化管理
包括了应用后台发布、日常点检、集中控制。
 
    以前做的集成可能零星的实现了部分功能,而这次我把自己所有实现的功能都集成成了一套运维工具。而且增加了图形化界面以帮助一线来完成系统的日常操作。
    而对一个系统管理员来说,最方便的是:全部代码都由shell脚本来完成。无需额外的安装包和补丁。
 
这次的工具是为了weblogic后台集群管理来设计的。所以雏形其实是一个利用weblogic的deploy类来做后台发布的图形化界面的脚本,其中我不断增加了各种功能,日志管理、邮件通知、故障自重启、日常点检……逐渐形成了一套脚本运维工具。
 
好了废话少说进入正题。
 
先放上功能和部分设计。
 
1. weblogic应用控制台功能说明 1.1. weblogic应用后台发布

通过调用weblogic自带weblogic.Deployer类实现后台发布。

1.2. 节点服务当机后自动重启

通过扫描应用Alive.jsp页面判断应用服务是否当机,从而实现自动重启。

1.3. 应用发布后,节点服务自动重启

通过后台自动重启脚本,判断是否有应用发布,有发布则自动重启服务节点。

1.4. 控制台人工重启节点服务

通过手工发送重启指令,重启节点服务器。

1.5. 所有节点的日志管理,日常系统点检功能

通过定时任务管理weblogic和应用的日志,定时生成包括文件系统大小、java进程、硬件故障和日志生成情况的点检报告,并由控制台统一进行点检。

1.6. 故障、重启的邮件通知功

后台自动扫描文件系统大小和服务进程的运行情况,当出现文件系统大小超过阀值和进程重启的情况,通过调用smtp服务器来做到,自动发送邮件的功能。

1.7. 维护模式功能

通过控制台一键杀停所有节点的java进程,并关闭后台自动重启功能。

1.8. 紧急情况下,清空日志文件的功能

增加了密码保护功能,使用需要二线授权密码,使用时只要输入日志名和日志所在路径。会将日志清空并连接到空设备,阻止日志增长。

2. weblogic应用发布控制台原理说明
2.1. 脚本结构

一级文件

二级文件

功能

/conf

配置文件

appDeploy.cfg

脚本运行参数文件

appdailyftp.cfg

抓取日志scp同步参数

appftp.cfg

脚本scp同步参数文件

***list

菜单栏配置文件

tage_mail

需要发送邮件的地址

/flag

同步标志位文件

consolestate

控制台状态标志位文件

/lib

脚本库文件及函数文件

appDeploy.sh

应用发布脚本

applist.sh

应用列表脚本

appUNDeploy.sh

应用卸载脚本

setserverstate.sh

应用发布状态同步脚本

xmenu.sh

菜单库脚本

/log

日志文件

outlog

weblogicOUT日志

dailylog

点检日志

/server_autostart

子工具:自动重启脚本

restartserver_**.sh

应用节点自动重启脚本

urltest.sh

网页测试脚本

/server_automail

子工具:自动发送邮件

automail.sh

自动发送邮件脚本

/serverlog_autocontrol

子工具:点检脚本

daily_check.sh

点检报告生成脚本

serverlog_control.sh

日志管理已经日志点检脚本

/serverlog_clear

子工具:清日志脚本

serverlog_clear.sh

日志清空脚本

appDeployconsole.sh

启动脚本

2.2. 控制台应用发布与重启实现原理及控制流程图 2.2.1. 原理:

1、通过weblogic自带weblogic.Deployer 自带java类实现后台脚本发布功能;

2、通过活动页面监视实现后台服务重启功能;

3、通过主控制台和自动重启服务脚本相互作用实现发布后自重启的功能。

2.2.2. 流程图:  

 

weblogic控制台界面

 

 

这个图形界面也是用shell写的,是某位论坛达人的作品,开源代码我就直接拿来用了。

控制台之间的通讯采用了scp传输,其实一开始用的是FTP 但是效率太差。

界面上能做的操作只有发、点检和维护,大部分故障处理和日志管理脚本都是在后台定时运行的。

 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论1 条评论

aixclubaixclub网站运营经理TWT
2012-11-28 18:42
好内容,学习到了不少内容。
Ctrl+Enter 发表

作者其他文章

X社区推广