该用户从未签到
|
HeartBeat
" G& j& K( ^, G* _+ q! O心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
) z& t- S3 H: G" H$ {% h2 ~% y) T, `
如何实现?
3 g0 R/ W( w }使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. % _" j4 O8 M) Z4 L* Z
将来会添加更多的实时提醒方式接口,如微信,短信0 V1 }! p1 K" N3 l- a
使用的框架及版本
# E) z) {1 b5 Z3 U5 h# ^# L/ ]' v( n
spring Framework - 3.2.2.RELEASE' m. W0 t4 {* r( n; C
Quartz - 2.2.1
2 z# S, U# p `! x/ n# o7 ~hibernate - 4.1.7.Final
3 X1 V6 L. T: kFlat UI
3 @5 G9 B' K2 u; B( m* RMaven - 3.1.0' Y# N0 ` s9 K" U/ z
6 y: K3 f; e# @! A8 |从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
* o C4 \+ r( ?$ I8 d0 _! {' A* R最新版本下载: HeartBeat-0.3.zip D( z# O4 F# u T+ }5 `' A
特点
2 [4 Z7 \ v7 p. _" E- ]
! r; F# i0 a+ ?# n0 F( J' Q) D无侵入8 Z( C! R M0 B2 L F
独立部署+ u+ d6 _; i/ F
可同时监测多个应用服务器) w0 H* M1 V+ c% ]' Q h9 _' g. }
请求方式支持GET,POST
- q# Y y1 l# l) t$ g! o# D( g3 ~9 T使用简洁,灵活
2 w. G0 c$ y5 E. {7 d提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)* ?$ S/ L$ K, v
运行环境0 E( I3 f. R6 O
8 Z4 e( r M1 w F* S: l2 v- U$ `
JRE 1.7 +
- Z+ |# G! [! m$ M# R' [MySql 5.5 +5 g, f" ]: H+ T, ^. w& L
Tomcat 7 +5 E5 ~$ I- q' |1 h5 a1 P2 s
8 q8 _' y( }# ?" `. H项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)2 k9 o2 d: a3 o/ m8 a | W ~
下载(或clone)项目到本地+ }8 F1 X M1 U1 ?- G! Q2 ]7 F
创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
4 R D% X$ v2 n d x- \运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
: v6 v2 r9 g" |% ]3 [8 k O1 b修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
7 t+ h" p. V2 E/ q# W% Y6 A* iNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境), _9 w# V5 U6 |3 ~# R# S) S' I4 @
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) 7 Q+ E' H7 C T. v
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
" H2 q- Z) R7 R$ l: }8 V, y; |2 v3 m[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring 9 O1 ~9 v' B. R) Z0 x
' P) J) J- W* f2 @9 [4 h3 r lInstance - Monitoring details
( Q2 g, H* G) I `: I; h _% p
+ e" B+ t6 A' K8 q+ F
Instance - Overview ; w" {7 N) s y* h' e4 C
$ }1 m7 G+ ~2 _4 p8 I9 T( z5 E/ nInstance - Create
7 k$ v) k& n/ A, t
! z. N6 K: h! n8 d" w8 P; l9 ]
Monitoring-Log
( V- k( ]8 @. v: u* b; R
% r" u8 u b& Z
Monitoring-Reminder-Log ! h# j- i. A2 O
9 g9 a. [- D- uSearch
2 \3 v4 s* H1 c/ x; E
5 G h' e, l: h( z) X % I( z/ k3 v2 q# i8 S; _ ^
0 i3 j' ?, \& L4 tGIT地址:https://git.oschina.net/mkk/HeartBeat ?5 |, _! ]8 h) a
: E7 S9 ^: g/ L! [
|
|