|
该用户从未签到
|
HeartBeat
! G# [& ?8 A* _5 b& _心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.' n$ x9 L* Y P, t: s) d% U1 B
' u8 ~; |0 v- G/ ~1 L" Y. B
如何实现? * N* O# L. S& ?& w5 S+ D X
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. 6 `) K# b! G+ Z1 [: e3 y
将来会添加更多的实时提醒方式接口,如微信,短信1 y# L$ A! _. I) {' P- V/ m4 Z
使用的框架及版本+ a8 K2 s! U' s3 D, L
# o& L- \4 ?1 \- r4 x y1 l& u) k3 I
spring Framework - 3.2.2.RELEASE
; ?* L* \( q- y v, L# h& TQuartz - 2.2.1, `' p$ V1 @+ N9 F$ ]/ n
hibernate - 4.1.7.Final
& S" \( u7 r$ HFlat UI
) C3 l) @" ]( d2 e- n% q- kMaven - 3.1.0, S" x5 V" F1 k( I0 N; X
: C" P! M' i- u0 Z2 ?
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
, W5 f3 G. a* O4 P最新版本下载: HeartBeat-0.3.zip# G9 e1 G2 F6 [! s2 ?
特点
1 F5 N. z, @/ } N4 k+ T; m+ P {7 [; W3 m l. x- D5 P0 A5 U
无侵入
1 c: _! |' q. u/ P. H4 H独立部署
# V# N' z: @6 m( M- a可同时监测多个应用服务器
/ {# X% v9 S9 ]0 {' q% D$ J# i请求方式支持GET,POST
9 A4 F% U2 P% b1 `" N5 T$ f7 n: [使用简洁,灵活1 K Q7 z0 m6 N/ {/ G& R
提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
6 r0 n% o/ N4 I* [4 i( c运行环境
& [9 v# `0 u z) r5 ~4 u R, R* u2 m# T" ]% o* E+ E3 ^9 m
JRE 1.7 +# q ]4 l0 M5 y) Y" K
MySql 5.5 +, C2 T- `# W6 c; w' C
Tomcat 7 +! {( o1 N+ {+ {, N/ C' k
7 e e0 i, O: G* W# \7 a7 P. W N; f
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)# C( C0 n( i. k' `- H; i' ]
下载(或clone)项目到本地
* l/ ^: E3 O8 B2 n创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), : E, a- U5 ~7 }2 {# U" B
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
2 b+ s# v) g8 X5 r e修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
9 O% w' f P& \: G# L! |NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境). j' V/ P/ g0 @) B' {# c
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
, E" d$ {, C+ _# U另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
) ~7 Q# H( o1 ~$ b[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
4 }0 m; L s- H! a+ K
+ c8 o9 `- q% t
Instance - Monitoring details ; Z* q m4 O. h' g' X6 s( u
- k, ^$ n# q2 P! ? k! K
Instance - Overview 0 @7 F' u0 C9 c8 S6 b9 q; ?
6 K/ r$ V5 a5 gInstance - Create 7 K* F9 p: v+ y/ E
, B: ~' v7 q0 pMonitoring-Log
1 E+ T2 B, |6 `6 k' R; X
5 ^) a! p% B6 K4 k) y3 ]
Monitoring-Reminder-Log
8 c4 C+ ^. c! h$ n
+ K' @1 R8 r, I/ k0 nSearch # c. O) E) Q& u D
+ a! v ^. m9 |/ C4 X7 L. P
( m( y9 b" N T/ V( F
9 A, ~9 G# A2 xGIT地址:https://git.oschina.net/mkk/HeartBeat
1 O) v. y0 W9 o9 ^ }5 g
0 D5 |, K ]$ P" W |
|