该用户从未签到
|
HeartBeat# I1 E$ P# e2 a. o' o
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
5 {% ?3 Y% I! ?0 l
7 G& z/ O& S6 c0 j9 H如何实现? & }" Y2 r4 f5 s" z1 F( B
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
7 `7 p, s4 h8 r* ~9 o* d将来会添加更多的实时提醒方式接口,如微信,短信7 E7 u- ^" K4 E4 q& n3 p
使用的框架及版本
I8 ~* |0 s' @; C* o2 s- [3 z! I, A: A& u% \2 c8 b
spring Framework - 3.2.2.RELEASE
3 n. ~" d; {& b1 m5 T9 WQuartz - 2.2.1+ H" d' f. a1 x
hibernate - 4.1.7.Final# Q$ O9 j- j* i! N. a) ~
Flat UI/ W, v/ W, g; u/ s. N
Maven - 3.1.0
6 L. F; Y7 A+ W+ Z. r$ P% q
6 v9 z; }1 K# t: u从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
0 M* x; I, \; |4 D. U7 h最新版本下载: HeartBeat-0.3.zip
! y$ Z* I0 D% |* ~* H, Q/ L" |特点 s! ]/ t) W7 T S
) t4 P; X" j3 N8 k1 v无侵入. s3 F- |/ a N- H2 S1 d4 T* ~0 k W
独立部署
$ C4 S$ ^) r) r0 c! ?$ B可同时监测多个应用服务器
4 N/ _ H# Z% y6 A6 P+ h" C$ C请求方式支持GET,POST6 b- f. c. K( ^7 Z
使用简洁,灵活
, F+ E( l$ a" j! s+ x提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
8 ~) W4 }6 F. @# N1 a- i& J: \运行环境7 [5 P3 Y, x9 c7 I& V& K" A2 ~8 t4 `4 G
1 F4 q6 f+ F; P; J. ], U
JRE 1.7 +
6 d( p# g! e# r0 _1 o8 P5 ^) n: iMySql 5.5 +# |" F8 h- V T/ M; q' B
Tomcat 7 +9 Y5 h" h, T9 h4 w |6 K
], O5 t1 B) b5 b
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
9 j7 }$ l. [3 J, ]% d' [下载(或clone)项目到本地$ b [8 `% L; l& {0 B& e
创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), - n. s8 d# n U0 Z3 r
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql( A! l8 T* r" Z/ a( u' ~7 }
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
5 r4 F% Q3 W& u* w) w0 KNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)+ m1 q# [. r4 Q# C, }
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
5 @+ s% F% N3 _! Y6 n. Q另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
% E* p! r# |# J: M- t$ C[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring $ r" q2 K% v1 q: ~% e8 o$ x V
& k4 E" |; Q8 u; \" W6 Q4 i
Instance - Monitoring details
! S4 n* }/ }& S' N
1 n( l q M' Y7 s( [* f3 |Instance - Overview 6 Q& N6 m1 z7 C* E* W. S
+ Q% d7 u- _& [, e
Instance - Create
! f$ b9 ?, ~ d% c
5 f- ^% L& P1 |/ O
Monitoring-Log 7 ^; G$ k3 Z: k, r
- S% K; m! |% L. V& `Monitoring-Reminder-Log
+ Z( |4 a. q' O8 w& z; W4 b/ h
& R9 D5 g$ @5 B) N9 DSearch
; w8 f {, q- {5 Q2 n4 t
# F4 ]- `, v6 p, n
9 p( v" q5 F, e, h! T( l , w. s6 l# Z- g2 S0 q% T C
GIT地址:https://git.oschina.net/mkk/HeartBeat
3 T I" f6 ?) }( A2 ^! i' h5 O; L1 Z( O0 m
|
|