该用户从未签到
|
HeartBeat9 D3 y6 e2 w. f* U" W( T( H: ^
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.$ X% K& G7 W/ `" S) f* |1 C
1 w5 S1 t8 {0 w2 _, E如何实现? 9 C+ g C- ~* \+ }7 x8 C8 v+ @* c
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. 6 H9 ?5 f- ]- G0 \0 F* Q' B$ E6 h
将来会添加更多的实时提醒方式接口,如微信,短信8 D" o, [9 i4 [
使用的框架及版本
# d0 u s+ A6 F' d
. G) X6 u' i) t/ G- K+ w$ Z8 J ~spring Framework - 3.2.2.RELEASE. p, f* P+ J [ r( L
Quartz - 2.2.1# o4 R( P3 h; t
hibernate - 4.1.7.Final
$ g6 G7 u+ o h1 T' U5 k) jFlat UI/ e/ R/ N& `. l, {7 E$ e# ^( Y
Maven - 3.1.0% {' r) E4 _4 s: X$ C- G: O8 T
" d/ }: l6 d! e
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
6 V$ e. g3 V$ s% D4 w8 N/ ^最新版本下载: HeartBeat-0.3.zip1 A5 @( {' e0 U
特点# ^) z/ l6 K) Q% n
; i$ Y$ |- Y4 R: d7 ?0 @ {
无侵入
; N; `' Z# x4 X0 _# A5 M8 n/ ]独立部署
3 _/ x" C2 L4 y7 ?可同时监测多个应用服务器
$ e3 [- W+ ]" v U请求方式支持GET,POST
/ Q; H I3 o; i# Q i使用简洁,灵活 d/ ~/ K% c: T. l6 J6 N9 X
提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)0 D- V" C7 B& j9 i2 N' ^/ V
运行环境1 |9 \. W! d+ B) Q4 X( ~4 f
- x" o2 [$ Q9 c0 f9 H; d! F$ y
JRE 1.7 +
. g+ D. j0 r& w. \" O2 |% ^6 DMySql 5.5 +: g B8 O+ m/ _
Tomcat 7 ++ X3 R; P* F1 ?" U$ g
5 D) l1 u) Z! N+ ^- m
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
) F! O/ x& P6 Q) E下载(或clone)项目到本地
4 N1 Y) [) L1 v' L2 j; ]4 Q5 O创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
; h) _% ~% g2 M( O' C" w3 w运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
% {# W# Z0 y! X修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
/ D- Z' t$ v# b& ]) e: eNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)+ ]. W* @8 M7 A) z+ ?2 E
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) / K0 J4 ?8 p+ f5 n6 N' c
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
0 p% `5 a8 d( {7 t- v[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring / J" B6 B" p2 C
1 t/ h0 z+ J! F/ e) lInstance - Monitoring details
S9 E1 O/ B% C' l0 b1 Y
) ~& Z2 k5 g6 d, i( wInstance - Overview 0 Z; _/ \/ j z$ J
" c4 L6 w8 [, v+ `- R
Instance - Create
9 E4 q, H/ s# ]0 C. K% T
3 Y- e+ J q3 p3 L, x$ ~- e$ Q5 k
Monitoring-Log 3 _# l0 J5 ^) K- L8 n
+ U0 e( ?) A4 L- G! UMonitoring-Reminder-Log
" a5 z( @4 B3 z; ?/ z
$ t! g d; j2 ]+ I9 `
Search ( A* A2 G% s8 D& G" B
$ Z7 l" i; C8 Q4 L! X3 X
8 e. \. \( X$ |
. u! u7 E" F. P; N
GIT地址:https://git.oschina.net/mkk/HeartBeat3 a. R1 K" O0 z# f
3 x: d" E* L# @6 x
|
|