|
该用户从未签到
|
HeartBeat
4 \* u6 i( m" _8 @心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
. U* N/ V6 v, `, F
4 x' ?& ~( O0 J; R如何实现? & t8 a2 n( s0 ?7 D9 Z
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. 1 j7 [& r, g7 ?2 ?% k# x5 d
将来会添加更多的实时提醒方式接口,如微信,短信3 V/ C- X# r4 z/ D" _
使用的框架及版本
1 O1 X7 u4 R+ P6 l5 J# D. ]6 q. f8 E. Y* X+ f7 }, [( n
spring Framework - 3.2.2.RELEASE$ ]. ]2 Q% U8 l
Quartz - 2.2.1
" c; Z) ?4 m9 v. o; @5 c \hibernate - 4.1.7.Final
$ V5 V& J: N$ O$ V. q# cFlat UI |) _( Y! f* c) ]6 [9 b
Maven - 3.1.0
$ I# L! Z* B% H4 _9 Y/ ]9 d
0 S9 t& | |' H) l! o1 _& ~从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录., `5 h! O+ m. b
最新版本下载: HeartBeat-0.3.zip
$ p6 g3 d j$ ^4 }特点! R; J) \1 I. j l* q; J
( t& g a! W' w6 T( m5 ]
无侵入- m3 q, G k: T5 ^
独立部署% h% F, x! ]) Y( K2 b7 O$ n! e
可同时监测多个应用服务器
. N8 a, I+ Q6 H$ e请求方式支持GET,POST
6 \6 o0 u# s( r- d0 ~; k使用简洁,灵活
* N$ ~3 C* C" p1 `# V/ i% O2 q提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)/ v \% N3 `" R4 W; L
运行环境' T+ ~/ I, R" O! @
6 E% F1 S: d- @2 `JRE 1.7 +
1 k" G1 L# i% E7 v3 hMySql 5.5 +
+ K. q3 |7 i) }9 a6 x; vTomcat 7 +* N. P) `. m. u# ^/ w
1 _) O% T$ i: ^! p
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)5 {, e) `4 M0 w* H! W* K1 a
下载(或clone)项目到本地
: `( L& k7 y* p1 }5 R创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), % ]# F4 C: r/ s+ i) |
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql1 `- }2 e+ T5 H' d3 X- F* Q7 h
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
- y: [1 k. d: u2 N. K# j$ S( V# lNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)! ^" ?- e {1 j" S, U( a
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) 9 J" x2 e8 D4 p. `/ t+ n0 a
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).& _/ U) s" j. T8 r
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
: ^2 r3 H% Y# ]6 [
4 w7 r- u" l u
Instance - Monitoring details 0 p% V' ]/ N9 I% Q$ e! f H
: F7 ?- H9 ^7 W, x9 D4 Z! vInstance - Overview / k) o' ^0 H" w! H* y0 R' ^
6 v3 ?1 n X4 c8 v* B, Q9 n: b
Instance - Create 4 n5 U5 X7 l8 @
" a! {6 n1 X% T4 P8 R( T
Monitoring-Log % @+ C, ]2 x8 c2 X
2 b6 b7 G* P: |" T. ZMonitoring-Reminder-Log
, _/ X! k" L0 w2 u
- N( _3 \' p9 Q9 mSearch
9 s" n' M# E. g
+ ?* {0 I+ H! h' k' |; S' p
% }* s! H, @( H7 B" f$ V8 T; H: ~
6 g" p' R+ t" Q* E) [) n3 S; w1 |% pGIT地址:https://git.oschina.net/mkk/HeartBeat9 K" e! q8 t4 c! q' b( g
: K' m8 \, Z- n |
|