BeanSoft's Java Blog
免费电子书/视频《MyEclipse 6 Java 开发中文教程》作者刘长炯官方博客 经济危机 珍惜生命 远离培训

最新版: Tomcat服务器监控1.3版 for Win,Linux(原创)



下载(含源码):

TomcatServerMonitor1_2.zip (Windows, Linux RedHat 9)1156KB

TomcatServerMonitor1_1.zip (老版本, Windows Only)889KB

tsm_launcher.zip (Windows EXE 启动文件及源码,可选)10KB

Tomcat 服务器监控软件 1.2
帮您自动重启无响应的 Tomcat(实际情况哦, 并非每个公司的程序都是健壮的).
后记: 推荐使用开源的Tomcat监控工具 LambdaProbe 来全面了解 Tomcat Server 状况, 再配合本站的自动重启软件, 人工+自动, 万无一失! 截屏: http://www.lambdaprobe.org/d/screenshots.shtml



更新历史
2007.01.03
添加探测页面超时重启服务器的功能(过去版本中的如100秒才把页面内容读取完毕, 但是不判断为异常;现在如果网页连接请求超过这个限时,就重启服务器,避免响应过慢时无法及时重启(单位: 毫秒); 可以通过配置对话框修改参数) See: conf/monitor.properties

2006.12.17
1. Linux 版本, 测试过的是 RedHat 9 中文版.

要启用 Linux 支持, 首先记得给3个.sh文件执行权限, 自行配置好 Tomcat 的启动时候需要的 CATALINA_HOME 变量. 配置文件请关注:

conf/appserverplugin.properties, 修改文件内容为:

######################################################
# Tomcat 5, Linux
# 要使用的服务器启动类
AppServerLauncherPlugIn=servermon.launcher.plugin.TomcatLinuxLauncher
# 使用的启动参数文件
AppServerLauncherPlugIn.ConfigFile=tomcat_linux.properties

然后修改 conf/tomcat_linux.properties 中的文件即可, 该文件中的参数说明:

# 服务器名称(可以任意取)
AppServerName=Tomcat
#服务器根目录(不含bin等路径)
AppServerHome=/opt/tomcat-5.0.30-test
#服务器启动脚本名称
StartupScript=startup.sh
#服务器关闭脚本名称
StopScript=shutdown.sh
#默认等待关闭时间(秒为单位),即执行StopScript后等待的时间
ShutDownWaitTime=30

2. 引入插件机制, 只要您实现 servermon.launcher.IAppServerLauncher, 即可监控各个版本的服务器. 最简单的做法可以参考代码 servermon.launcher.plugin.TomcatWindowsLauncher, 基本上只需要实现

public void startServer();
public void stopServer();

即可. 目前实现的有 Tomcat 的 Windows, Linux 版本, 以及 Weblogic 9 的 Windows 版本, Weblogic 8 的 Windows 版本支持正在开发中, 初步考虑用直接执行 java 命令的方式来做, 因为 Wls 8 缺省不带 shutdown 的脚本.

3. 纯命令行模式支持, 适用于 Linux 文本方式下, 停止监控请使用 ps 命令然后kill监控进程. 不过目前尚未在 Linux 文本模式下测试过, 请测试过的朋友反馈. 相关文件: AutoMonitorNoGUI.sh, AutoMonitorNoGUI.bat

Linux 图形模式下的截屏:

2006.12.11
增加了一个 EXE 格式的启动文件, 带源码.
解压缩, 把 EXE 文件复制到 TomcatServerMonitor 目录下.
这对不喜欢用BAT格式启动的朋友们是个好消息, 也期待对希望自己做个 EXE 启动文件的兄弟们有所帮助. 解压缩后如果不需要源码只留下 TomcatMonitor.exe 10.0 KB 即可, 它执行了下列命令:
javaw -cp .\jdic\jdic.jar;.;.\classes\;lib\activation.jar;lib\commons-dbutils-1.0.jar;lib\jspsmartupload.jar;lib\mail.jar;lib\servlet.jar; servermon.MonitorFrame -autostart
因此需要事先设置 javaw.exe 在类路径中. 它相当于自动后台运行监控程序.bat 的命令行版本.
本项目源码修改自 FreeMind http://freemind.sourceforge.net 的 EXE 启动文件源码, 使用 Dev-C++ 5 (一个免费 C++ 开发环境 http://www.bloodshed.net/devcpp.html) 编译, 并用 ASPACK 压缩(这是商业软件...俺只不过想让EXE变的更小一点, 没压缩的时候是 20KB). 安装后打开项目文件编译即可.
2006.12.10
更新:

1. 增加托盘图标功能, 最小化主窗口到托盘, 便于监控同一机器上的多个 Server(需要手工复制多份主程序)
2. 定位监控的 Tomcat 目录, 使用内置 IE 浏览监控页面功能(在托盘菜单中)
3. 自动监控(用 -autostart 参数即可), 使用启动文件 "自动后台运行监控程序.bat" 可以不带 DOS 窗口启动并自动开始监控
4. 在托盘气泡中显示报警和出错信息, 便于随时掌握 Server 状态, 并根据监控状态显示不同的状态图标
4. 小改动:
更改按钮和菜单默认字体大小, 使更容易看清楚;
发送邮件的配置文件路径移动到 conf 下面, 便于手工修改;
监控页面的超时单位改为毫秒

2005.07.09
1.0 版本推出, 用于监控远程托管的 Tomcat 网站服务器, 只能用来监控 Windows 平台下面的 Tomcat.


使用说明(请参考更新历史)

本软件每隔固定时间就监测一次给定的 Web 站点的页面是否可以访问, 如果请求超时或者失败, 就发送彩E/邮件到给定的手机/信箱(手机的话必须自行申请了手机邮箱, 例如彩E, 和普通邮箱一样发送), 进行通知, 在系统托盘区显示气泡进行警告,
并尝试根据配置的 Tomcat 服务器路径重启本机的 Tomcat 进程, 首先尝试执行 "shutdown.bat", 然后等待 30 秒后执行 "startup.bat" 完成操作.

首先请设置要监测的内容和参数, 然后再点击按钮"开始监测"即可.
可以点击 "浏览监测日志" 查看以往监控结果.
点击 "立即监测" 可以查看当前的网页访问情况.

软件启动后, 在工具栏上点击按钮"设置"就可以修改所有的监控和邮件等参数了.

目录结构
/src 源代码目录
/classes 编译后的类文件
/conf 系统配置文件参数所在地
appserverplugin.properties 服务器启动插件类
MailSender.ini 发邮件配置
monitor.properties 监控配置, 可以使用图形界面来修改(注: TomcatHomePath 变量已经不再此处设置)
其它: 启动插件对应的配置文件
/lib 用到的第三方类库
/jdic Sun 提供的 JDIC(JDesktop Integration Components, https://jdic.dev.java.net/) 组件(托盘, 浏览器), Win, Linux 版本
/images 图片
/logs 监控日志文件目录
/AutoMonitorNoGUI.bat, AutoMonitorNoGUI.sh 不带图形窗口自动监控
/AutoMonitorWithGUI.bat, AutoMonitorWithGUI.sh 带图形窗口自动监控
/ManMonitorWithGUI.bat, ManMonitorWithGUI.sh 带图形窗口人工启动监控
/COPYING 许可协议文件

许可协议: LGPL

开发工具: Eclipse + Jigloo
后记: 用这个软件可以监控 Weblogic 9(Windows版本), 请修改配置文件 conf/appserverplugin.properties 和 conf/weblogic9_windows.properties, 因为 Weblogic 9 也是有两个启动脚本的. Weblogic 8 的监控功能正在开发中.

截屏

图1: 主界面
Tomcat Monitor 气泡
图2:气泡和托盘图标
Tomcat Monitor 托盘图标解释
图3: 托盘图标状态

图4: 启动和运行动画(Windows 2003 Server, English)

posted on 2006-12-18 11:19 BeanSoft 阅读(4154) 评论(13)  编辑  收藏 所属分类: My Open Source Toys