## HeartBeat
<p>
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx), Socket服务器(TCP/UDP协议)的SpringBoot应用程序.
</p>
<h3>如何实现?</h3>
1. 使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小),
若检测到不正常(响应码不是200,抛出异常...)时则发送邮件(或其他提醒方式)给指定的地址,当检测恢复正常时也发送提醒邮件(或其他提醒方式).
2. 使用Socket连接指定的服务器(network-instance) IP 端口并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小),
若检测到不正常(连接耗时,连接失败,有异常...)时则发送邮件(或其他提醒方式)给指定的地址,当检测恢复正常时也发送提醒邮件(或其他提醒方式).
同时提供各类实时提醒方式接口,如邮件(已实现),短信, 钉钉机器人(已实现), 微信等(可自定义扩展其他实时提醒方式).
<h3>使用的框架及版本</h3>
<ul>
<li>JDK - OpenJdk 17</li>
<li>Spring Boot - 3.1.5</li>
<li><a href="http://designmodo.github.io/Flat-UI/" target="_blank">Flat UI</a></li>
<li>Maven - 3.6.0</li>
</ul>
<h3>下载</h3>
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
<ul>
<li><a href="http://git.oschina.net/mkk/HeartBeat/raw/V-0.3/dist/HeartBeat-0.3.zip">HeartBeat-0.3.zip</a></li>
<li><a href="http://git.oschina.net/mkk/HeartBeat/raw/V-0.4/dist/HeartBeat-0.4.zip">HeartBeat-0.4.zip</a></li>
<li><a href="http://git.oschina.net/mkk/HeartBeat/raw/V-0.5/dist/HeartBeat-0.5.zip">HeartBeat-0.5.zip</a></li>
<li><a href="https://gitee.com/mkk/HeartBeat/attach_files/download?i=90418&u=http%3A%2F%2Ffiles.git.oschina.net%2Fgroup1%2FM00%2F01%2FAD%2FPaAvDFmOZb-Ad23MAYZYy6d9bok867.zip%3Ftoken%3D2e73f9cd572d797d2c240b9ea107241e%26ts%3D1502504383%26attname%3DHeartBeat-1.0.0.zip">HeartBeat-1.0.0.zip</a></li>
<li><a href="https://gitee.com/mkk/HeartBeat/raw/2.0.0/dist/HeartBeat-2.0.0.zip">HeartBeat-2.0.0.zip</a></li>
</ul>
注意: 从v3.0.0开始不再提供dist安装包, 请使用maven自行在本地打包编译或访问 <a href="https://gitee.com/mkk/HeartBeat/releases">releases</a> 下载.
<h3>特点</h3>
<ul>
<li>无侵入,独立部署,资源占用可控</li>
<li>可同时监测多个应用服务器</li>
<li>请求方式支持GET,POST; URL支持http与https, 可指定请求content-type, 添加请求参数(固定参数或随机参数)</li>
<li>可实现对Socket(TCP/UDP协议)服务器的监测</li>
<li>可对各实例进行分组, 方便管理(v3.0.0开始提供)</li>
<li>添加安全设置,可控制用户注册,设定用户权限等</li>
<li>提醒方式及时,多样(提供接口可扩展自定义的提醒方式)</li>
</ul>
<div>
<h3>运行环境</h3>
<ul>
<li>OpenJdk 17 +</li>
<li>MySql 5.7 +</li>
</ul>
</div>
<h3>在线测试</h3>
<a href="https://andaily.com/hb/">https://andaily.com/hb/</a> (v2.0.0版本)
<br/>提示:仅用于测试,不要加生产监控实例
<div>
<h3>如何使用?</h3>
<ol>
<li>项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.6.0), MySql(开发用的版本号为5.7)</li>
<li>下载(或clone)项目到本地</li>
<li>
创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
<br/>
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql -> initial-db.ddl(该ddl会创建初始管理员账号/密码:hb/Heart_beat7)
</li>
<li>
修改 application.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
<br/>
<strong>NOTE: 在initial-db.ddl中默认初始化邮件配置服务, 推荐将邮件配置更换为自己的邮件服务(邮件配置用管理员登录后在'系统'菜单中进入)</strong>
</li>
<li>
将本地项目导入到IDE(如Intellij IDEA)中,直接运行 HeartBeatApplication.java 启动类
<br/>
另: 也可通过maven package命令将项目编译为jar文件(hb.jar),
使用 java -jar hb.jar --spring.config.location=application.properties 命令运行(注意 application.properties 的路径要正确)
</li>
<li>
HeartBeat运行后, 初次登录可使用默认管理员账号/密码:hb/Heart_beat7, 若失败, 需要在数据库中运行初始SQL脚本文件initial-db.ddl(others/database目录),
密码存储使用不可逆加密方式.
</li>
</ol>
</div>
<hr/>
<h3>开发计划</h3>
<p>
从 0.5版本开始将项目的所有计划的开发内容列出来, 方便大家跟进, 也欢迎你加入.
<br/>
项目的开发管理使用开源项目 <a href="https://gitee.com/mkk/andaily-developer">andaily-developer</a>.
</p>
<ul>
<li>
<p>
Version: <strong>3.0.1</strong> [planning]
<br/>
Date: --- / ---
</p>
<ol>
<li><p>#20 加一个根据http返回结果来决定请求状态</p></li>
<li><p>实例特定时间段允许断开</p></li>
<li><p>增加提醒消息支持 syslog</p></li>
</ol>
<br/>
</li>
<li>
<p>
Version: <strong>3.0.0</strong> [finished]
<br/>
Date: 2023-11-16 / 2024-01-09
</p>
<ol>
<li><p><del>升级JDK, SpringBoot等基础版本, log升级使用logback框架</del></p></li>
<li><p><del>添加Socket TCP,UDP的监控</del></p></li>
<li><p><del>实例分组与查询</del></p></li>
<li><p><del>邮件配置界面化,更灵活(不在配置文件中写固定)</del></p></li>
<li><p><del>提供报警信息的对外发送插件扩展(可支持机器人通知等)</del></p></li>
</ol>
<br/>
</li>
<li>
<p>
Version: <strong>2.0.1</strong> [finished]
<br/>
Date: 2018-03-03 / 2023-10-19
</p>
<ol>
<li><p><del>#I1BWP8 支持使用代理proxy</del></p></li>
<li><p><del>请求方式支持PUT,DELETE</del></p></li>
</ol>
<br/>
</li>
<li>
<p>
Version: <strong>2.0.0</strong> [finished]
<br/>
Date: 2018-01-29 / 2018-02-22
</p>
<ol>
<li><p><del>使用 SprintBoot 重构项目</del></p></li>
</ol>
<br/>
</li>
<li>
<p>
Version: <strong>1.0.1</strong> [finished]
<br/>
Date: 2017-07-10 / 2018-01-20
</p>
<ol>
<li><p><del>Fix issue #7 MenuBUGFix</del></p></li>
<li><p><del>实例列表增加更多搜索条件</del></p></li>
<li><p>#20 加一个根据http返回结果来决定请求状态(CANCELED)</p></li>
<li><p>添加Socket TCP/IP的监控(CANCELED)</p></li>
</ol>
<br/>
</li>
<li>
<p>
Version: <strong>1.0.0</strong> [finished]
<br/>
Date: 2016-11-18 / 2017-07-09
</p>
<ol>
<li><p>(104) - 添加发送短信提醒(CANCELED)</p></li>
<l
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java 简单性 Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持goto语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。 面向对象 Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
资源推荐
资源详情
资源评论
收起资源包目录
心跳检测应用服务器(支持协议HTTP.UDP.TCP)的JAVA 微服务应用程序.zip (388个子文件)
flat-ui.css 148KB
flat-ui.min.css 127KB
bootstrap.min.css 107KB
HeartBeat.ddl 12KB
initial-db.ddl 729B
lato-bold.eot 31KB
lato-regular.eot 30KB
lato-black.eot 30KB
lato-bolditalic.eot 30KB
lato-light.eot 29KB
lato-italic.eot 29KB
flat-ui-icons-regular.eot 25KB
loading_64.gif 5KB
.gitignore 250B
instance_form.html 18KB
search_result.html 12KB
instance_list.html 12KB
instance_list.html 11KB
main.html 10KB
instance_form.html 10KB
index.html 9KB
reminder_logs.html 8KB
email_setting.html 8KB
log_list.html 8KB
monitoring_instance.html 8KB
flat_ui_icon.html 7KB
user_list.html 7KB
system_setting.html 6KB
dingtalk_robot_setting.html 6KB
user_form.html 5KB
user_register.html 5KB
user_profile.html 4KB
weixin_user_list.html 4KB
login.html 3KB
404.html 2KB
statistics_instance.html 2KB
user_register_forbidden.html 1KB
user_register_success.html 1KB
instance_change_not_normal_content.html 645B
instance_change_normal_content.html 632B
reset_password_result.html 280B
test_render.html 218B
index.html 86B
favicon.ico 1KB
favicon.ico 932B
LogRepositoryHibernateTest.java 22KB
LogRepositoryHibernate.java 12KB
PerMonitoringReminderCheckerTest2.java 12KB
HttpClientHandler.java 10KB
MailTransmitter.java 10KB
ApplicationInstanceDto.java 8KB
SecurityConfiguration.java 8KB
DateUtils.java 7KB
ApplicationInstanceRepositoryHibernateTest.java 7KB
NetworkInstanceDto.java 7KB
FrequencyMonitorLogRepository.java 6KB
UserServiceImpl.java 6KB
IndexController.java 6KB
UserRepositoryHibernateTest.java 6KB
NetworkInstanceServiceImpl.java 6KB
ApplicationInstance.java 6KB
ReminderLogListDtoLoader.java 5KB
ApplicationInstanceRepositoryJpaTest.java 5KB
MonitoringChartDataGenerator.java 5KB
HeartBeatFrequencyTest.java 5KB
NetworkFrequencyMonitorLogGenerator.java 5KB
FrequencyMonitorLogListDtoLoader.java 5KB
InstanceStatisticsDtoLoader.java 5KB
IndexDtoLoader.java 5KB
MinixinUtils.java 5KB
ApplicationInstanceFormDtoPersister.java 5KB
HeartBeatConfiguration.java 5KB
AbstractRepositoryHibernate.java 5KB
AbstractQueryHelper.java 5KB
DefaultPaginated.java 4KB
EmailConfigServiceImpl.java 4KB
ApplicationInstanceListQueryHelper.java 4KB
UserRepositoryHibernate.java 4KB
DingtalkRobotPerMonitoringReminderSender.java 4KB
NetworkInstance.java 4KB
User.java 4KB
EmailPerMonitoringReminderSender.java 4KB
ApplicationInstanceRepositoryJpa.java 4KB
IndexInstanceDto.java 4KB
DynamicSchedulerFactory.java 4KB
PerMonitoringReminderChecker.java 4KB
MonitoringReminderLog.java 4KB
DateUtilsTest.java 4KB
FrequencyMonitorLogListDto.java 4KB
ApplicationInstanceEnabler.java 4KB
MonitoringReminderLogDto.java 4KB
FrequencyMonitorLogGenerator.java 4KB
CaptchaImageGenerator.java 3KB
EmailConfigFormDto.java 3KB
NetworkInstanceEnabler.java 3KB
FrequencyMonitorLogDto.java 3KB
ApplicationInstanceListDtoLoader.java 3KB
FrequencyMonitorLogListQueryHelper.java 3KB
AbstractInstance.java 3KB
ApplicationInstanceController.java 3KB
共 388 条
- 1
- 2
- 3
- 4
资源评论
野生的狒狒
- 粉丝: 2537
- 资源: 2149
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功