|
该用户从未签到
|
HeartBeat; u2 Q9 `& ^2 ^% w/ l( \
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.
# h/ I4 ^3 {- P2 M
, V: _6 U! A# B7 p7 b8 ^6 ]2 C E如何实现? ) Y7 L, ]% ?. P$ w5 L) }) z: i
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. * M0 P$ h* q. M9 s( l
将来会添加更多的实时提醒方式接口,如微信,短信8 X1 Y' p( D9 ]# x
使用的框架及版本
" W$ A9 r4 E$ }/ p' t/ d* j% A, a" }+ t$ r2 F% [& Y- c/ G. H- j7 ^
spring Framework - 3.2.2.RELEASE: g' D/ Q) O7 v# K& U* I9 s8 X' _
Quartz - 2.2.1. n' D/ b# I% T; I6 t- w
hibernate - 4.1.7.Final
' r5 l/ g& p; H3 w3 Q: j. S8 Y, [3 CFlat UI
8 G- o% U- o5 l tMaven - 3.1.0. T. _6 {, w0 M
: U6 V1 s# M, g3 N从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
! q% E- j& w1 D, A5 S( C. T y最新版本下载: HeartBeat-0.3.zip
C# j: V7 Z# T c# ^特点. i4 x0 S' a; S* v; e& f' ~; N
2 S1 x3 S% G' Z4 c9 \无侵入% ^& `5 V5 e9 V0 n! O
独立部署* g4 O% |8 `3 k1 I
可同时监测多个应用服务器
4 S& b, h; b* ]! r( F( V: A请求方式支持GET,POST
8 s" T0 x$ k6 B2 p7 d* V& u使用简洁,灵活
2 h/ J* ?/ p. L6 {& N: {2 f4 m提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)$ G2 j. Q9 X% N. j5 P. X
运行环境
' d2 F6 Y L. m6 J
, R$ f9 p; a& B% e/ HJRE 1.7 +. ^! W; F* q [' G
MySql 5.5 +
6 ]6 K6 g8 [$ Q0 d* ATomcat 7 +) n' Y9 w3 b4 c$ ?
$ o/ C \7 K* Q8 L
项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
* J# t4 y9 k9 d% C# P! e) ` w2 N J下载(或clone)项目到本地
4 ~5 L% `' C* A/ q- S创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
- S9 C7 h0 Q% R5 H( Z运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql) j, m, s+ B, v' }. p. {$ l
修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
. o, e8 g* U# E% sNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)
# A! ?7 [# M3 c3 q将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080) 7 U3 \0 \0 z6 t5 \ Z
另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).* M& Q7 z# D$ ^- P
[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
* C5 r+ |6 n; P7 D2 V( P
3 a1 C$ x) v! o7 r# U) ^, E% DInstance - Monitoring details 4 L* b( }' [* R2 v; M# w) h+ Q! B
! P& ]) L, \$ T! Y
Instance - Overview
! V6 `4 k3 I u
7 b5 u- a2 {( L- y* Q
Instance - Create $ M) g- l1 c" {4 S( J7 i& q
$ N; M+ E( O7 AMonitoring-Log 7 K$ q! N* H9 f6 U/ j( m W
# ~8 Z$ D4 v" ]1 s8 x
Monitoring-Reminder-Log * _$ [+ @2 i6 q! Z
; I: d# P+ F' R, j& j& d
Search 5 x( s! C3 o1 |+ A7 @; z& c
- V( b x6 C8 ?1 N& a, U' J
; S' M! u7 q" A) `/ @" g( x0 d9 @9 \7 i6 [
( B- a4 C. ]+ b% t% U% r; OGIT地址:https://git.oschina.net/mkk/HeartBeat
+ a- P4 z* a" l! i1 Y) C; B! B* q; G3 [8 v- C
|
|