该用户从未签到
|
HeartBeat4 V+ R; q c5 j0 d \
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
6 O$ S. }2 L/ L7 a4 i0 p
! Z9 w) Y& m) c4 d, e9 P) a如何实现?
1 e& f2 v) a; ]3 i6 M% A6 t0 {使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
8 E9 y$ c3 C5 ?$ S7 M) \. D将来会添加更多的实时提醒方式接口,如微信,短信% ]& y8 @/ {+ |
使用的框架及版本
7 l: \( Q: h. e6 k2 {7 F" _
/ h6 u# g' }9 Y' pspring Framework - 3.2.2.RELEASE
6 [1 t/ }' { U9 oQuartz - 2.2.1$ t! ]7 X, c0 i3 \2 D" Y
hibernate - 4.1.7.Final
, Q9 M6 ?1 g! h n7 K& pFlat UI2 h+ V* l7 s( P/ S. f6 x
Maven - 3.1.0$ ~* l. v b* K7 `! |2 T# j
# S. h u @: b2 L% r% u
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.7 P" ~6 Y3 H: e: g7 V- S6 n% f) P
最新版本下载: HeartBeat-0.3.zip
( C+ d) w. \! e( @2 E* X特点
+ s" A" l. g1 R7 ]: M5 m5 p% C# {$ u# e2 E
无侵入3 @: W1 X" Y5 g7 C8 e
独立部署: \) m {3 d; c3 H" k
可同时监测多个应用服务器
" s! ~* r; x. H( K3 ~请求方式支持GET,POST
! N" ?. m& Q4 F+ h$ k; F: U) x使用简洁,灵活
Q* l1 s+ ^& ^ H/ ]: _* M提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)) \, [# k' `0 g5 a) F: w
运行环境
+ G. Y" y- h1 k4 J+ ^+ }1 K! U+ n. @! M# w
JRE 1.7 +
( C8 ]+ _& \+ k' BMySql 5.5 +
7 y6 U# k4 H+ E" X/ X/ E) wTomcat 7 +
% {$ U6 O! L/ Y/ R( I7 E& G- l8 t- R6 }
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
2 I7 W! e' x& P' i下载(或clone)项目到本地% n' W' F( J) N5 |- R
创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
; L5 _5 i, Q: j' P/ ^运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
8 [8 t M9 J- J# U, _修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) ! M" w+ r4 g8 j1 ? A
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)7 l5 A9 i5 j' z0 s* O
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) + v2 n6 S" i6 W) N) C) ?
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息)." ^0 V% b6 i1 U' w' ?
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
# I" I% M7 H. E# _* P; N/ A2 G7 f4 K
+ r' d5 X, w, j$ s4 r4 X
Instance - Monitoring details
& w1 U; u1 Q0 y) O; m+ c9 x& T0 ?
5 R' q) m* M6 c0 K4 ZInstance - Overview " ^) R! r" j2 g
. U7 f1 H( o: R+ i7 Q. f- j) K
Instance - Create
: [) b8 H: x4 }* H
% e! E5 v' j& ]) v# B/ e- E
Monitoring-Log 6 z; X% i. q$ _3 N( j* u
4 s6 I. t0 h7 l$ u2 A
Monitoring-Reminder-Log
. h. {6 m# Y2 f# f d& R
6 w' M9 G6 |; J+ x H: r7 @3 KSearch 3 m* l9 p+ D' B7 T4 F+ _! _
9 m3 |6 e3 R% B8 e . X8 F5 j, W; A, ?% ~. V" R( I
/ E* R6 m c" gGIT地址:https://git.oschina.net/mkk/HeartBeat
+ p; H9 V' ]4 X/ R" Z% v
8 F6 H& I9 @9 d- V6 z6 {: ~' m |
|