当前位置: 首页 > 软件库 > 管理和监控 > 系统监控 >

Java HeartBeat

应用服务器心跳检测
授权协议 Apache
开发语言 Java
所属分类 管理和监控、 系统监控
软件类型 开源软件
地区 国产
投 递 者 萧宣
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 +

  • MySql 5.5 +

  • Tomcat 7 +

如何使用?

  1. 项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)

  2. 下载(或clone)项目到本地

  3. 创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),            
               运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql

  4. 修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)

  5. 将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)            
                  另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war),                     将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).

  • 一、心跳机制简介 在分布式系统中,分布在不同主机上的节点需要检测其他节点的状态,如服务器节点需要检测从节点是否失效。为了检测对方节点的有效性,每隔固定时间就发送一个固定信息给对方,对方回复一个固定信息,如果长时间没有收到对方的回复,则断开与对方的连接。 发包方既可以是服务端,也可以是客户端,这要看具体实现。因为是每隔固定时间发送一次,类似心跳,所以发送的固定信息称为心跳包。心跳包一般为比较小的包,

  • 消费者会定期向GroupCoordinator发送HeartbeatRequest来确定 彼此在线,也就是说告诉GroupCoordinator我还活着,或者也判断GrooupCoordinator是否还活着   HeartbeatRequest的组成:它是由groupId,generationId,memberId. HeartbeatResponse组成:它只有一个errorCode Hear

  • 我已经不是第一次介绍Heatbeat,通过yum可轻松安装Heartbeat 2.x,网上的资料(包括我以前的多篇日志)都已很详细的介绍了Heartbeat 2.x 的部署方式。而自2月Heartbeat 3.0.2,作为首个3.x Final Release 版本发布后,官方网站已改版,并建议从2.x更新到3.0.2,导致很多老的配置文档、说明等都很难找到链接。此外,触发我考虑使用Heartbe

  • 2023-02-21 14:51:09 java.util.concurrent.TimeoutException: Heartbeat of TaskManager with id container_e345_1676952387944_0199_01_000002(c2:45454) timed out. at org.apache.flink.runtime.jobmaster.JobMa

  • 报错Heartbeat of TaskManager is timed out java.util.concurrent.TimeoutException: Heartbeat of TaskManager with id container_e219_1670315060312_637295_01_000010(10.203.23.12:8842) timed out. at org.apac

  • 最近压测测试环境的java后台项目,通过高并发压测关键controller接口。 controller中,为了应对高并发情况,会把请求先扔到kafka的topic,然后由kafkalistener.java进行后续处理。 发现,2万条请求,200并发/秒时,java后台有时会出现不消费kafka队列消息的情况。(假设kafka的topic里有了2万条消息,可能java后台消费一半后,就不消费了)

  • flink程序被kill掉,查看日志发现如下报错: Caused by: java.util.concurrent.TimeoutException: The heartbeat of TaskManager with id container_e06_1627962873638_5732_01_000003 timed out. at org.apache.flink.runtime.res

 相关资料
  • (人们可能认为增加心跳间隔可以达到增加最大心跳计数的相同效果。但是,我在应用程序中将客户端心跳用于其他目的,因此增加心跳间隔对我来说不是一个选项)

  • GatewayWorker支持服务端向客户端定时发送心跳包检测连接是否存活 为什么需要心跳检测? 正常的情况客户端断开连接会向服务端发送一个fin包,服务端收到fin包后得知客户端连接断开,则立刻触发onClose事件回调。 但是有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些情况客户端无法发送fin包给服务端,服务端便无法知道连接已经断开。如果客户端与服务端定时有心跳数据传输,则会比

  • 我对gRpc很陌生,已经开始探索它们的基础知识(在C语言中)。我想获得有关如何发送心跳以检查客户端/服务器是否仍处于连接状态以及在断开连接时采取恢复措施的指导。任何示例或参考任何文档/文章都将有助于我开始学习。谢谢

  • 主要内容:1 Broker发送心跳注册请求,1.1 发送心跳包入口,1.2 registerBrokerAll注册broker信息,2 NameServer处理心跳注册请求,2.1 处理心跳包入口,2.2 Nameserver注册broker信息,3 NameServer的心跳检测服务,3.1 scanNotActiveBroker扫描清除不活跃broker,4 总结详细介绍了RocketMQ的Broker与NameServer的心跳服务源码,主要包括三部分: Broker发送心跳注册请求源码;

  • 在异步HTTP SERVER中使用服务 全局方法service_center() 使用service_center($service)获取服务地址,然后使用call()方法调用公开的服务方法 $service = (yield service_center('User')); $user = (yield $service->call("User::getUser", ['id'

  • 网防G01提供网页木马、二进制后门、弱口令扫描、漏洞扫描等服务器安全巡检功能,可以批量、快速、定时化的帮助用户排查服务器中存在的安全薄弱点。 网页木马 二进制后门 弱口令扫描 漏洞扫描 网页木马 网页木马扫描,用于检查服务器中感染网页木马的状况,可以指定需要检查的文件目录,需要检查的文件类型,配置定时巡检的策略,并生成报告提供给用户。 二进制后门 二进制后门检查,检查所选服务器是否存在的后门、可疑

  • 服务调用监控 KernalEvent::SERVICE_CALL事件 在框架层,调用servcie时,会抛出KernalEvent::SERVICE_CALL事件,你可以监听该事件,做数据上报处理,请以异步方式上报 <?php namespace src\Web\Listeners; use Listener; use Event; class Servic

  • 我是ActiveMQ Artemis的新手,正在尝试配置主从设置。在我的场景中,我使用一个主从。 Master的如下所示: slave的如下所示: master.log是 从日志: