|
该用户从未签到
|
HeartBeat
/ z3 o5 i: b- ~% B1 ]心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
# f* R% Q' q! r; h' i2 e+ L+ n7 [! Y8 g1 H' F
如何实现?
6 w7 J! R. Y: U# S* ^* g使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
8 K, k; b0 w; n+ L9 H+ Z' M& r2 f* W" O将来会添加更多的实时提醒方式接口,如微信,短信
' Q# R+ P6 u% t; t: ~* n使用的框架及版本: a( u$ K8 y! M5 {# C+ m ~
; g7 ]9 S! P5 t) o
spring Framework - 3.2.2.RELEASE
8 @2 O3 M$ t1 X' L1 `, `! z+ l$ n. Z3 |Quartz - 2.2.1$ e. X( F# Z x+ ~1 R3 K% G
hibernate - 4.1.7.Final7 G! q" p: S" P/ f o! D' o
Flat UI
& q2 ~0 x2 I, E6 x3 i3 p! T" r# fMaven - 3.1.0& G+ y, r. s% } R w8 ^/ w
; g( U6 ?2 w( G w4 [: I8 M0 v3 K从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
" E$ H1 M% @9 U; L最新版本下载: HeartBeat-0.3.zip6 S! N) _. M& ` s2 R5 s& n" ~3 ?
特点
$ }- ]3 \! d4 @! g# S
Y# L: Z+ l1 R1 t* T无侵入
0 R0 z2 `) C1 _ i* @独立部署* [6 S; x. N, h l7 B
可同时监测多个应用服务器; T+ O, S8 ]+ U1 c, A6 `
请求方式支持GET,POST Q7 a$ l) r$ ~' t. A
使用简洁,灵活
9 ]) {4 \; d& W9 V) B提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
6 X7 u% c/ z: H运行环境- Z' E* q3 f+ ~9 A
1 N& s' H* m( ?$ H$ k
JRE 1.7 +
+ |8 N! y3 Y+ l7 T9 r- YMySql 5.5 +
% g1 k6 G* K/ S1 p/ QTomcat 7 +3 s" a7 v9 D% D; F
3 S7 a6 |3 D& L: Q$ Q8 W" }
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
% s4 E, Z/ m1 y& o; O9 N, q& }, m下载(或clone)项目到本地' i8 z- O6 z1 v
创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), 9 H$ z! g% s& D8 m _
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql! K, t( Y& P8 V4 ^$ w1 `
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
" P/ ]6 V3 o% U) H i- d' a4 f7 T+ \NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
% E- ]* W$ V2 a( T1 m3 s0 l, y z将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) ; K/ ~( l0 A# \' M5 e
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).; o: W0 g4 C3 I! L1 q6 b- T6 s8 n
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
' T$ A2 A. L- n; Y2 q( p5 [8 v
* L6 ~) c7 \, d4 a# j: TInstance - Monitoring details
2 ~- d% @+ M, M% I+ a( l# Q# _" s4 h
# q1 }$ f" t2 N* J3 \* qInstance - Overview
' n) V$ e4 [* o, O) [6 p
- ]* m0 a9 d; {( I. I$ [Instance - Create & ^/ i6 P/ W8 p9 U( E9 P
8 B, H6 o! f& Y3 t" ], G
Monitoring-Log - H+ K3 d$ C/ v" ~8 X1 @
+ C$ b$ z+ L: |: K; f% s2 EMonitoring-Reminder-Log , e& S" {0 [, |! X" D
/ G6 d' ?2 r+ C& D, j; {+ \Search * ~/ p w- K3 {* R
2 [2 z1 K- e9 K7 E8 e' n! \, l O
' C+ {. x! c- d; x
/ W6 F# g! n- S3 MGIT地址:https://git.oschina.net/mkk/HeartBeat: N% l: p$ M0 N/ D4 J+ q
1 X7 Z3 y7 x) p) ?8 [
|
|