# HeartBeat **Repository Path**: mkk/HeartBeat ## Basic Information - **Project Name**: HeartBeat - **Description**: 心跳检测应用服务器(支持协议HTTP/UDP/TCP)的JAVA 微服务应用程序 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: 3.0.0 - **Homepage**: https://andaily.com/hb/ - **GVP Project**: No ## Statistics - **Stars**: 1313 - **Forks**: 555 - **Created**: 2014-10-17 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: web-service **Tags**: 监控, 运维工具 ## README ## HeartBeat
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx), Socket服务器(TCP/UDP协议)的SpringBoot应用程序.
### 如何实现? 1. 使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件(或其他提醒方式)给指定的地址,当检测恢复正常时也发送提醒邮件(或其他提醒方式). 2. 使用Socket连接指定的服务器(network-instance) IP 端口并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(连接耗时,连接失败,有异常...)时则发送邮件(或其他提醒方式)给指定的地址,当检测恢复正常时也发送提醒邮件(或其他提醒方式). 同时提供各类实时提醒方式接口,如邮件(已实现),短信, 钉钉机器人(已实现), 微信等(可自定义扩展其他实时提醒方式). ### 使用的框架及版本
从 0.5版本开始将项目的所有计划的开发内容列出来, 方便大家跟进, 也欢迎你加入.
项目的开发管理使用开源项目 andaily-developer.
Version: 3.0.1 [planning]
Date: --- / ---
#20 加一个根据http返回结果来决定请求状态
实例特定时间段允许断开
增加提醒消息支持 syslog
Version: 3.0.0 [finished]
Date: 2023-11-16 / 2024-01-09
升级JDK, SpringBoot等基础版本, log升级使用logback框架
添加Socket TCP,UDP的监控
实例分组与查询
邮件配置界面化,更灵活(不在配置文件中写固定)
提供报警信息的对外发送插件扩展(可支持机器人通知等)
Version: 2.0.1 [finished]
Date: 2018-03-03 / 2023-10-19
#I1BWP8 支持使用代理proxy
请求方式支持PUT,DELETE
Version: 2.0.0 [finished]
Date: 2018-01-29 / 2018-02-22
使用 SprintBoot 重构项目
Version: 1.0.1 [finished]
Date: 2017-07-10 / 2018-01-20
Fix issue #7 MenuBUGFix
实例列表增加更多搜索条件
#20 加一个根据http返回结果来决定请求状态(CANCELED)
添加Socket TCP/IP的监控(CANCELED)
Version: 1.0.0 [finished]
Date: 2016-11-18 / 2017-07-09
(104) - 添加发送短信提醒(CANCELED)
(165) - 添加更多监控时间,如2分钟,3分钟,5分钟,10分钟,半小时,1小时
(166) - Fix 设置多次失败后在提醒时的错误,以及恢复后的提醒
(168) - 增加设置定期清理一段时间(默认为30天)前的监控日志记录,防止frequency_monitor_log表太大导致查询慢
修复未登录时不能查看到私有实例的日志
Fixed Issue #26 关于邮件发送次数的问题
Version: 0.5 [finished]
Date: 2016-05-01 / 2016-08-15
(70) - Why set archived = 1 in mysql application_instance table(Fix issue #6)
(83) - 对于注册的用户, 登录后只能管理自己 创建的instances
(112) - #12 请求参数BUG(设置Url参数时未进行非空验证)
(104) - 添加发送短信提醒(CANCELED)
(105) - 添加发送微信提醒
(147) - 支持国际化, 中英文
(148) - 在检测链接状态的时候,不要发现一次链接故障的时候就马上发邮件通知,这个过程可能因为网络故障(如常见的:丢包、dns故障)而出现问题,
可以增加一个判断参数,当连续发现n次有故障时再去发邮箱等信息通知!
(156) - 优化数据库,以及连接, 提高性能,页面响应速度
(157) - 实例添加一个字段 是否私有, 若私有则只有自己登录后才能查看
2014-10-17 ---- Initial project
2015-02-13 ---- Move development to coding.net
2015-03-01 ---- Back to OSC and update documents; Add 0.1 branch
2015-03-14 ---- Monitoring log add response data size;Add list of monitoring reminder logs; Update page styles; Add 0.2 branch
2015-03-15 ---- 0.3 branch is developing
2015-04-02 ---- Add 0.3 branch and publish it
2015-04-06 ---- 0.4 branch is developing
2015-05-01 ---- Publish 0.4 version
2016-01-09 ---- Deploy war to Test-Server(http://andaily.com/hb/)
2016-05-01 ---- Start to developing 0.5 version
2016-07-30 ---- Publish 0.5-beta1 version
2016-08-15 ---- Publish 0.5-beta2 version
2016-11-18 ---- Publish 0.5 version and add 1.0.0 planning
2017-07-09 ---- Publish 1.0.0 version
2018-01-29 ---- Start Spring-Boot 2.0.0 development
2018-02-22 ---- Publish 2.0.0 version
2023-11-16 ---- Start v3.0.0 development
2024-01-09 ---- Publish v3.0.0 version
曹晓舟 -- 18元 (2017-02-19)