该用户从未签到
|
HeartBeat
- S" M R& ^4 E5 s2 f心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
) @, u- j" Q! _. B4 t, T' i' t% Y; r$ Y' m
如何实现? & P1 j! \4 W: C" g% G, r e0 Z
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. ! C! b: e) D6 e4 P9 ]/ C0 J: b4 d
将来会添加更多的实时提醒方式接口,如微信,短信
% \/ b" t. ?! W9 w( A% b使用的框架及版本
" G7 d, O) `& F! ]2 B5 Y# d
3 R6 o$ _% ?# \0 v* Z u; ^# vspring Framework - 3.2.2.RELEASE
3 `9 _) U& s' R6 m) `" bQuartz - 2.2.1
! Y( G5 J* |7 u% l3 ehibernate - 4.1.7.Final
$ a& s" m5 E' t, zFlat UI
l* s; _- q" A8 m( Y# H9 ?9 WMaven - 3.1.0
, o' j/ e$ u: M! J6 y# H5 N- g& V7 Y
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.9 S* j( n' i; I) X- I/ l
最新版本下载: HeartBeat-0.3.zip
. [3 D1 o+ ]3 | W3 W' c/ f7 b/ _特点
0 p3 E% a+ L- o' j% W
' C5 `- X) Q/ w" ~) [无侵入" }+ l4 [/ x, J1 Q: h3 [" |# m& Q8 A. B M
独立部署6 G$ e m9 e7 x6 \2 f
可同时监测多个应用服务器
' o7 c4 C6 o8 c8 A( N; }请求方式支持GET,POST, I+ R6 E' l* d( g5 `0 \$ V
使用简洁,灵活
3 Q$ t1 s$ @: `4 W9 D9 T$ `提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)/ R$ M' K- E0 g( X f z
运行环境8 B8 j/ \! X, U+ {7 R% o" O
; f8 c6 I) Y G1 m+ i+ K
JRE 1.7 +
1 v) ^" q* e- Z* k" a/ |) WMySql 5.5 +
3 A! W6 T7 G' E; I) S! b( g/ LTomcat 7 +
_6 w6 i/ ]2 X# F! p* Z" t3 B% |2 V4 d1 p6 H* D0 I
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)4 o! N( c7 i! k. }5 P! q
下载(或clone)项目到本地
# u3 D& o) ?+ g3 Z2 I+ d: W& a2 i创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), ' ]% ~8 h" O) f' z- V
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql# e* l' [" F3 L) M1 P' |$ G
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
2 w0 V0 q( y, ]: ]* @NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)! i$ S p9 J( i: M3 q; X3 L
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
6 o) k3 t. `4 ]$ F n2 `! l# h4 {另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
# ~, g0 k# g. s: V5 m; @$ w[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
6 `" K6 h, m# J
! m# ]! ~% m& B( V. j, DInstance - Monitoring details
* X5 d: N3 }# w
9 Y/ ]# `" [- P, wInstance - Overview 4 h% L6 p. {0 s9 q/ T7 c% m
, o; m7 {- [. x3 P
Instance - Create " e4 V! k: R8 D5 y6 y- p
) F0 `1 I* @" ?& VMonitoring-Log 8 z$ L& w1 o, r5 M2 r) \7 ^( R/ H
1 Q) j8 a) W6 Q. AMonitoring-Reminder-Log : o8 \" ~2 o( Y& Y" T m
6 L4 z" M: C$ f) O* Z; \
Search
' V" @$ P2 K$ j, ]& [
$ L3 Z$ I6 [5 p$ ?7 f
$ j2 u3 ^6 k. Y+ e7 U
: _9 b3 \( N, F0 g) gGIT地址:https://git.oschina.net/mkk/HeartBeat
" x3 P$ l" X, A& T( b4 }5 c+ c( e) I8 B9 z1 `# Q( H- C
|
|