该用户从未签到
|
HeartBeat; X# J. Q# B9 y6 m+ a3 L. f
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
4 z6 r8 W& A. o1 N9 j, g
) G+ u+ J6 x% _, ] ~% _如何实现? 1 P% m# j" G2 H; i# R7 i6 c) s* j
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
7 c7 W8 ^& \( c! U9 T+ m将来会添加更多的实时提醒方式接口,如微信,短信9 O1 R1 f$ v1 |0 r6 p
使用的框架及版本. a( p3 E' P8 i+ e6 N
( m2 l A- k" [6 d7 p7 B" v1 }
spring Framework - 3.2.2.RELEASE4 j3 u+ ?. Q0 a( k
Quartz - 2.2.1
8 x. ]+ h* r- X+ p1 v* ]hibernate - 4.1.7.Final( x2 w8 F6 R) v6 M6 a; h3 w
Flat UI4 N8 z9 w2 \/ k* m3 A
Maven - 3.1.0
* Y. W: O0 c- A0 o+ P9 a" D+ z0 R; F
4 l V$ R; c% w5 _从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.- z& D$ R0 m; }: Z
最新版本下载: HeartBeat-0.3.zip# m x6 Q0 z% k- l% b) f
特点
3 O" _4 L/ J# z) o% s, C- G# Y1 S
$ l4 {! P1 M2 ^, J无侵入
! _7 s0 x. \% D7 V独立部署
0 n9 ]( M. s' j6 t可同时监测多个应用服务器
1 b3 _$ @# @1 ~0 |% h! ~1 W) |& U& W请求方式支持GET,POST9 D5 C( m+ j0 S+ I7 H. O
使用简洁,灵活
: m% `" z; H p9 w+ b7 C; f2 B提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)- W: @5 m" q1 Q+ X4 x) i- F
运行环境% P- t7 M B# v7 w
! p* c" K& j/ y, s; {/ I
JRE 1.7 +
% Y" ^) z- S, X8 D3 H( | V8 i2 VMySql 5.5 +
# I9 y; I6 P7 |4 ]+ v" c8 u% oTomcat 7 +( A d8 u/ S6 f% R& s
9 r [9 Y" B6 R/ s# c( z项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)6 j8 ]% t) Z0 E6 h+ a+ F
下载(或clone)项目到本地
1 I2 o# \2 c V3 v J$ n创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), 1 R/ _; @( ^* Y
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
0 _6 B" L* V- `/ g修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) , I5 C/ B0 t' ]5 b0 ^. ]+ ?
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
: o& q7 ?' r. Q8 L# A1 t% I' [ S0 {将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) - l1 b. I8 X) {' s% A
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息)." W# A# s: w- N$ |* v9 h/ k& P7 J* _
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
& _4 Z; R/ v% V0 f8 f) I
+ h; ?: ~* U+ i$ }; d" P0 }
Instance - Monitoring details ' ?+ d- |+ I4 Y0 G& V
$ Y% B! x& H1 T' E5 O* x# z9 NInstance - Overview ; r4 X7 j- ?7 ?# ?$ x1 {
7 |1 E) H) l, B) W) y. wInstance - Create 3 l2 z+ s2 ^' s
. O' l0 z1 H+ N1 W6 E
Monitoring-Log " e4 f- {6 e4 Z- I% Y# w/ k
0 C# B2 o- A$ {. \Monitoring-Reminder-Log
1 Q8 Z( X: A: h! }
8 E* R+ C, z9 N! P; m4 wSearch , I/ {2 v2 y/ P h8 z7 s9 D1 f
" q% `1 b* ~8 n: b5 a
2 I( O8 B* } W$ t. g M$ l; x
3 l2 I8 g5 C+ k% _5 d- L3 SGIT地址:https://git.oschina.net/mkk/HeartBeat# S0 G7 p) X% [" A
4 j- k1 S4 s4 e* W
|
|