该用户从未签到
|
HeartBeat. V8 r& s3 x8 f1 ?. o$ z
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.) E8 G }: h# y& \1 w
# F/ X8 D; ]% _1 r: F如何实现? 8 v3 B" W& z8 Q/ u- f+ p
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
0 [; N$ n5 Q$ U9 n将来会添加更多的实时提醒方式接口,如微信,短信6 R. B, }0 H% w
使用的框架及版本" x4 P5 u+ L% v' } U
u9 M; e4 R! i. T6 x# |# h
spring Framework - 3.2.2.RELEASE) K! L6 V& o% T5 t' Y
Quartz - 2.2.1
' z( Y3 c, k- \1 o4 chibernate - 4.1.7.Final
4 K. M" N5 i2 [2 V+ Z- B' w6 G# h% @Flat UI
' H3 k! i3 s2 p; e, aMaven - 3.1.0 [: W7 N3 D- {" z: m4 G2 }/ `, S6 L
3 E$ I. d( x; Q ]
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
( n+ }8 S- c, O0 W4 x最新版本下载: HeartBeat-0.3.zip
- l$ J; A5 ~- C# m8 d特点1 d( s! v! v- a0 U' B- ^+ U
! a1 x6 y9 _( d, Y# s! r
无侵入
+ ^" ?2 {$ ?1 {) G* ]0 i独立部署
% K ?4 C! f! U( B& \0 X2 k' W2 V可同时监测多个应用服务器
; U5 ^9 Z5 ]$ q' K: @请求方式支持GET,POST/ Z" ^" `1 G# n
使用简洁,灵活
2 C2 |( m) Z( T8 n; s8 t$ }提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等); t7 o9 d+ `: H u z) T
运行环境; |8 A9 ~$ B% ^% J& l6 q1 }. t
8 q. }) d) s) V, h- ~: G- {9 n i
JRE 1.7 +3 ~" p; a' ]- K3 O2 w* C8 J% s: e
MySql 5.5 +
( y6 w3 P; }- K: `5 ~Tomcat 7 +
$ _( _7 }8 v4 d6 a& _8 Z! K6 `3 H3 A6 h: {+ T d
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
5 E6 _" s9 m0 I" B0 T/ l. N下载(或clone)项目到本地
( H4 B2 [0 C i) S, x4 o创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
" }, W& [8 _' y. [运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
. A& G8 A: h8 C/ ~ m修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) + p! z0 A( T1 e/ D- O. F* @ x
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
/ F8 N ]$ Y/ i1 T8 v2 b将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) + j. c" c# F+ o% w
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
8 ]1 `' U. V( o. ~[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
/ k/ \/ X" a, {4 r
( u- P7 S7 V, M) _; Y3 N/ M. JInstance - Monitoring details
: L/ W; E7 R& i" |0 E7 |
2 G* v/ U5 N, q' u" e
Instance - Overview ( [& |! N/ ? Z& u+ b
6 l( m: O, y4 f- `: L S
Instance - Create
9 J% Y9 H s8 Y# Q0 n) J
( H- q% p! s8 z. R" z; qMonitoring-Log % V+ c) a/ _5 E. o3 m% k
1 @# n" L Q; X, l/ t3 I: @Monitoring-Reminder-Log # t$ m! s# p) r& `
! r/ t/ A$ @- R7 a3 n# D# |Search & i H& X6 r( E5 }- _
; N$ A! Y$ j S! P& A
+ U, V3 y* g0 V0 o5 z; g * m' T: {% r8 X' @" `
GIT地址:https://git.oschina.net/mkk/HeartBeat
; A* q( G3 g" Y- B* u; M- o2 Y* A$ ]4 E( \
|
|