该用户从未签到
|
HeartBeat0 ^1 E6 }4 c: T; N2 e
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序. Q3 ]1 z% X F1 \( B( p
7 ^/ v! h% s) z- k
如何实现?
3 d: z; y+ D3 g+ u; C使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
: s9 t+ @2 O* |& m" c! I将来会添加更多的实时提醒方式接口,如微信,短信% l! t' x" H0 E6 i
使用的框架及版本* k& {+ w+ ~$ j# }6 X
! P% [8 S4 ^2 b' k e! w+ X& ^
spring Framework - 3.2.2.RELEASE
* y% Z1 ^* `: l' W: b( xQuartz - 2.2.1
D& S8 `: u1 K" X9 ahibernate - 4.1.7.Final
. S% ~# l2 P# D( D/ m* vFlat UI' l' H+ \, T3 G5 q& J3 c7 Z
Maven - 3.1.0
+ R, I; }& |4 s# ?. k6 f. z, `) J; y3 F* ^- \6 D
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
3 V& Z5 {3 d9 w X8 q: g9 g最新版本下载: HeartBeat-0.3.zip
+ j1 w6 W: _8 i; y5 P3 ?特点1 n* t8 ]% J8 D8 ?" o+ U$ Q/ f( A
: ]5 P: V2 B) \" \
无侵入
; M( i, D$ `/ t* s1 |. L独立部署9 f/ s: }( R5 X
可同时监测多个应用服务器9 Y9 n- T- M, z/ u7 c/ S4 F
请求方式支持GET,POST
/ d* s% {5 n3 R& V0 X5 @使用简洁,灵活
. Q* c8 o! [8 N: z( o8 h提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
; J3 r- U4 w( t& ~8 \$ ^" x运行环境+ Z8 O4 d& o" P7 A+ t, M( ^: `
0 x# t8 D8 Q8 K9 zJRE 1.7 + m" p# J; q' v
MySql 5.5 +
1 V8 L7 m$ y/ N, X2 J T' `9 KTomcat 7 +
/ Q6 l8 I: U2 A' y& j
! v3 s* E/ x! e# h( ^* z/ k项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
! q9 V& u4 H" ]6 e' V0 @" z下载(或clone)项目到本地
7 Z, }; @/ G2 e7 }& m创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
. z2 i; D9 s7 q3 ~2 I' D% Q- a: K9 O运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql! C% d0 v0 Q7 P1 k9 r! S
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) ! u L3 V: @* K0 a j/ m
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
3 \: o& Y: i* |% i5 y0 q: V( W将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
8 [, L, Y, i! ~! O5 b, l) J另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).0 ]& n% G3 x/ g4 e. q
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
5 _* \2 r% Q1 O' ^
) K/ Z- P3 N. v+ O
Instance - Monitoring details
7 p& O8 G6 Q: p+ M
5 v/ l E) I a- w' p0 r
Instance - Overview
7 Y5 T- q" B$ Y4 V
6 I& y* k: L* P- m% @" N$ Z
Instance - Create
3 V+ ^4 D) w' r$ {" V, K K; r4 w8 A
* m Z" z. \" z# i. A
Monitoring-Log
$ a% }! }1 k' R- A, M1 N3 F( c" Q+ y, Z
0 P& m0 w3 m- x9 f: v+ P' _Monitoring-Reminder-Log ! M( I: {5 u2 n+ N4 v
$ F& s0 q" \# e( ], ^9 C6 {Search . j7 o1 ]9 p7 V+ _
' P- s: m; I% t' i' A% Z8 @
" V! e) o' K0 H4 t. h
0 N5 w1 Q/ I4 M0 h3 GGIT地址:https://git.oschina.net/mkk/HeartBeat
1 q; z( t. t+ S) t2 ?) G4 N) ]) E# n( W1 E# A+ ?. e6 U; @% }- ~
|
|