您的位置 首页 java

应用服务器心跳检测 Java HeartBeat

HeartBeat

心跳检测应用服务器(如 Tomcat ,Jetty)的JAVA WEB应用程序.

如何实现?

使用 HttpClient 对指定的服务器(application-instance) URL 按频率(10秒,20秒…) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常), 若检测到不正常(响应码不是200,抛出异常…)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.

将来会添加更多的实时提醒方式接口,如微信,短信

框架及版本

  • Spring Framework – 3.2.2.RELEASE
  • Quartz – 2.2.1
  • Hibernate – 4.1.7.Final
  • Flat UI
  • Maven – 3.1.0

运行环境

  • JRE 1.7 +
  • My SQL 5.5 +
  • Tomcat 7 +

如何使用?

  1. 项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.6)
  2. 下载(或clone)项目到本地
  3. 创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
  4. 运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql -> initial-db.ddl(该ddl会创建初始管理员账号/密码:hb/heart_beat)
  5. 修改 application.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
  6. NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop. address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为 开发环境 )
  7. 将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
  8. 另: 也可通过maven package命令将项目编译为war文件(hb.war), 将war放在Tomcat中并启动(注意: 这种方式需要将 application.properties 加入到classpath中并正确配置数据库连接信息).
  9. 或使用 java -jar hb.war –spring.config.location=application.properties 命令运行(注意 application.properties 的路径要正确)
  10. 或直接在项目的’dist’目录下载完整版安装包.
  11. HeartBeat运行后, 初次登录可使用默认管理员账号/密码:hb/heart_beat, 若失败, 需要在数据库中运行初始SQL脚本文件initial-db.ddl(others/database目录), 账号密码使用MD5加密.

如何通过微信接收监控信息

  1. 通过微信扫描二维码
  2. 或添加公众号 qiuchang8; 在关注后绑定在 中注册的账号(一个账号可以绑定多个微信号)
  3. 在添加或修改Instance 时勾选上需要接收监控信息的微信号并保存; 待有心跳检测不正常时发提示信息到微信

邮件配置说明

HeartBeat项目使用的 邮件服务器 使用SSL连接, 所以在配置邮件(javaMailSender, application.properties)时, 使用了SSL连接配置,包括mail.smtp.auth与mail.smtp.socketFactory.class;

若在使用中配置邮件后不工作, 请检查配置(如使用的邮件服务器是否支持SSL)并编写单元测试来测试邮件发送能正常工作(项目的邮件单元测试在 MailTransmitterTest.java 文件中, 记得将测试的emailAddress设置为自己邮箱).

另: 强烈建议使用SSL连接邮件服务器

  1. 在项目的配置文件application.properties中, 可配置邮件为开发环境或生产环境,具体参数为mail.develop.environment与mail.develop.address, 若将mail.develop.environment = true为生产环境, false为开发环境; 开发环境时的邮件只为 发给mail.develop.address配置的邮箱,不会发给真正的邮件接收者; 生产环境时mail.develop.address配置不启作用.

特点

  • 无侵入,独立部署
  • 可同时监测多个应用服务器
  • 请求方式支持GET,POST; URL支持http与https, 可指定请求content-type, 添加请求参数(固定参数或随机参数)
  • 添加安全设置,可控制用户注册,设定用户权限等
  • 使用简洁,灵活
  • 提醒方式及时,多样(目前已实现邮件提醒,微信提醒;将来会加入短信提醒等)

运行环境

  • JRE 1.8 +
  • MySql 5.6 +
  • Tomcat 8 +

在线测试

提示:仅用于测试,不要加生产监控实例

文章来源:智云一二三科技

文章标题:应用服务器心跳检测 Java HeartBeat

文章地址:https://www.zhihuclub.com/185904.shtml

关于作者: 智云科技

热门文章

网站地图