该用户从未签到
|
HeartBeat' }5 T q9 h+ o) O7 ?
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.% X5 H# a0 f: E* A
/ E, Y+ E* [& [
如何实现? # T% z1 Z* }% @: A% R& } T& h
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
- D, p! ^- X( t将来会添加更多的实时提醒方式接口,如微信,短信7 l8 v7 E9 y( s/ `
使用的框架及版本
8 I; W+ T) a+ r6 }+ }1 p7 v# J3 O9 Q; Y' O% B3 B
spring Framework - 3.2.2.RELEASE
$ {0 _, t1 |1 s% S: `4 QQuartz - 2.2.1$ @7 c$ D0 @5 K" J
hibernate - 4.1.7.Final
3 D( D U; O, h7 s# oFlat UI
0 N+ h: T$ [6 iMaven - 3.1.0: H1 `# ?+ Y' J( M* S% a
/ K1 M) m) `; i1 k" ]) d从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
$ W/ o# ~$ n* X% D' p最新版本下载: HeartBeat-0.3.zip: d0 g) b% _2 @ C; ]1 D+ _, g j
特点5 e' m5 q3 o# M: e
% b) g/ D7 U0 t# O: s% D
无侵入# @% e" G; {; s' I3 x
独立部署. ?! X+ w# O6 i7 ?5 U5 q+ q' t
可同时监测多个应用服务器 z9 a6 d& A8 k
请求方式支持GET,POST" r9 O# ~1 U- k, ]8 ?* ^, y* r) W8 e
使用简洁,灵活
* e6 B/ W2 e/ }& ~/ T9 x提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)2 [) r5 Q. y9 N( M1 u: s
运行环境
, @! W; W: W4 G+ k4 T. o# m Y0 z; L# q
JRE 1.7 +) G4 ?) U! {* h( Z; Y* r1 {) g2 R: ?
MySql 5.5 +
( L+ `. a; c# Y, P- J* i+ Y6 ^Tomcat 7 +$ v, E3 B! w: o, u1 f
; Z8 k& W0 W! J& T: T/ ?0 F( ^项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
& E0 P6 q% ]) V- ~- Q! P下载(或clone)项目到本地
) R7 v" q0 _1 u1 ?, g4 {创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), / i7 D% e2 u: K8 c; r/ V
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql1 Q' ?; Q3 j8 ^* g, Z
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) & V7 Y0 ]: ~" i" ?9 T) u( B* N/ z8 n
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
7 Q# V5 v" W o. ?将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) 1 d/ P+ z% v, }/ L+ B+ A9 q3 n
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).* o, \# E* }( A/ |5 l- _* @
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring 1 Q9 R* g3 ~* w! c- i# ?* a6 f4 ^4 w8 {
$ Y$ R3 {; J9 \ W9 v
Instance - Monitoring details ( \5 z6 t o; |( {
5 M% W/ O) a' K6 b; [( o2 f
Instance - Overview 5 Q: D6 H+ o/ f0 G5 f- q, e$ z, F
9 \9 ^4 S1 s, ?4 ?; oInstance - Create . W/ E; s2 }$ A8 i
1 `4 I) }4 T6 \' M% y1 N' T
Monitoring-Log
! v% }8 v F( w5 d! d# z
: L' n5 W$ u& c/ B* l4 F8 Z
Monitoring-Reminder-Log
# f6 Z7 ?6 ~0 x0 E
! z' D' ~9 n/ w: g5 |Search
( u) P% y: K! X6 H. ^
! W1 X4 Q. i/ V# d( Y, |2 a
5 i2 K2 e) u9 E6 T( X F
2 q7 i) n: ^ b8 \! c3 ~- T/ ]GIT地址:https://git.oschina.net/mkk/HeartBeat
$ r+ j0 Q6 ?% c9 j* L$ H A5 a |) x
5 d% o% ?7 @# v. Z# u) a! a |
|