该用户从未签到
|
HeartBeat1 g. S0 c1 B( s7 |
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
* u0 N7 M( {$ g" _, p0 l
8 ?3 K/ k7 |0 f如何实现? ; a1 G, x. ~; K3 e3 l6 B- J. D) f% V
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. , c/ J$ G5 z6 `5 j
将来会添加更多的实时提醒方式接口,如微信,短信
1 n! o* N4 V l" `6 K% A使用的框架及版本
: N9 F- i6 d; n8 Q' i
$ l- H. O3 d% k) c- Fspring Framework - 3.2.2.RELEASE
9 y7 J0 X% [! t* J0 tQuartz - 2.2.1
/ ^% x2 a8 O9 Yhibernate - 4.1.7.Final
; Z; i$ r; d9 T: YFlat UI7 e* [% m" ^. V# C; c- ~, V
Maven - 3.1.0
0 _8 E( ^1 C" ]1 F& u
& }" W" ]4 \8 ^; X+ c+ [从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.; d B" h$ Y' e! C
最新版本下载: HeartBeat-0.3.zip5 B% D' d: d0 b$ ~# O5 o4 k
特点
, j* F N( e% C# z. E
( O& |) C) |0 G/ R8 o8 ]; G无侵入
% V/ D' Z$ J9 |9 X& X ]独立部署
, o, I$ i! t4 z: ^可同时监测多个应用服务器
4 ?) n6 N. r6 a- i1 ^! ?请求方式支持GET,POST8 p& r3 r0 |! L
使用简洁,灵活' D& d' i" e! L, u( j( f y* T
提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)3 n. c x" |$ q4 Y4 ~9 y, ]
运行环境
5 [. j/ O' H. ~; o' V( q% h7 ?1 s7 D( s" n! y* n! k$ _9 x5 A
JRE 1.7 +
! n n: j: K& g+ _+ q/ bMySql 5.5 +- {5 a6 ^& U! i: J
Tomcat 7 +
6 b1 T/ z; |+ r6 y; a2 J1 _$ D
# x! |/ \0 p2 N* |+ g( J项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
4 G. K, j% }. C' Z8 n$ q下载(或clone)项目到本地
7 ^. c, R8 f7 \创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
3 M, @3 a: M4 y4 k x/ d, q运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql4 Y( }& y' D2 t) l* l/ |$ @1 d
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等) % }, Q2 n! |; E( o% D" \
NOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
2 V, N: r& L- t; x( |, Y8 L" ]将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
3 B* x8 P% j1 m) n- D另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
: i" x: P2 v4 z) ^# p0 T[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
3 j3 [0 g5 Y; ]+ v' k; f" S
: Q) C( r% A4 `- Y7 {2 y2 k% ]. \
Instance - Monitoring details
% ~& k0 P5 @ A" Q0 ]
' w( s1 U$ e+ ]+ q. g3 O2 oInstance - Overview
9 q5 l( U8 F' W- O& d
. g0 P8 q5 O7 F3 @: _" U
Instance - Create
9 }, r/ S K+ F& f8 i
- O* B+ s7 {; n. q( F
Monitoring-Log # T& H! h9 g1 Q1 t+ p* O
3 @9 A+ C) l; v* }Monitoring-Reminder-Log
/ D7 s- @4 z. o6 I
: }! Y* e7 p2 q u$ @3 e5 W# L( H
Search 2 Y. ~" Z: j6 m" J- ~% g* a
9 S% L$ a1 X7 w# o- O # F& z: e# J) O5 G
7 T9 D- m3 Y4 s2 e* ^* Z
GIT地址:https://git.oschina.net/mkk/HeartBeat% f" H. j3 l& `+ ?: a
: K. T% w) L1 u) W( b
|
|