该用户从未签到
|
HeartBeat
4 t: I+ v# F; q4 y5 [( A2 d' \9 z$ Y心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.1 X" s+ M: _2 i; k0 R
$ B& i% o `3 H0 K% j) X如何实现? : `- D5 k" P9 H/ K
使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件.
, o1 O" |( p- j" v; ]将来会添加更多的实时提醒方式接口,如微信,短信
5 S8 y+ }, {7 N$ c& {6 M9 W2 b* M2 s使用的框架及版本
6 q" c& i$ {4 \* p7 a" v: U; U2 X, e; O; ?0 K
spring Framework - 3.2.2.RELEASE1 x, e2 ?2 z9 Q7 g0 g
Quartz - 2.2.1
- B8 J% R) R3 f9 j& |, a7 Yhibernate - 4.1.7.Final
9 H! T. o& x% Q& {' oFlat UI
: Q* d* C+ [. ~ `8 v4 m3 IMaven - 3.1.02 T1 U, D7 V' w X
6 p* {" E/ B- J- ^ j从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录.
5 E# E& o. `5 F7 s$ J: S最新版本下载: HeartBeat-0.3.zip
6 J) z/ y) P0 m1 o特点
& ^" B ~, u7 w; L# n/ c9 V4 E' e0 v1 W8 B6 m( s
无侵入
: ~4 ?& M( u6 T- J, ~ V# o2 K. U" ^独立部署
0 q* {2 ~9 L. B7 D& b可同时监测多个应用服务器* R# R* y r6 z# u. W5 h$ i
请求方式支持GET,POST
: \, _5 B& m4 |2 |- a使用简洁,灵活
" K9 Q/ r5 B8 b. B1 i2 ^7 \提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
0 K4 \8 N. C& ^0 K9 e- S2 l运行环境9 p$ s& S9 z5 C% [5 L" L8 Z0 z
% x, {! D" N$ g# _% `+ IJRE 1.7 +" D4 k, M/ L2 {
MySql 5.5 +
9 h B" m% B& z% i1 j0 a' W2 l+ ~0 m; i4 PTomcat 7 +* Z- p: A1 _! `0 T; @
5 R: w. Z; }/ O( S6 a6 W$ T项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
# R% [) Z. g) w* f2 N2 }7 i下载(或clone)项目到本地
: a* p" {8 u6 V) O2 ~3 d创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录),
; D) M; r# ^! Q1 |- h" K, A运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
7 m- R7 i2 U, Y- z. d修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
4 q" m! `8 g# x' C! W+ J6 k! HNOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)9 ~- ]' C6 p" o
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
3 R$ _! l0 {: V+ P( V: I& P另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
) n- O2 L8 O. B J% h[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring ) D' m7 O3 i. v; X0 E' Q
8 G1 X5 K7 n m. U& A+ G- @8 z
Instance - Monitoring details * C) p4 l7 E4 m) ?5 V$ ^+ P" r8 L
+ `3 b: l0 \" G
Instance - Overview
: p5 `1 H' y1 f$ S# U
6 H" |/ \9 J; {4 E1 VInstance - Create
) ?& O" I n6 K6 [; I8 v& d8 h
# K$ \. |: Q4 a& U7 I
Monitoring-Log
# X8 c0 M' I5 e
; Q, C& P0 Z( g1 B
Monitoring-Reminder-Log 6 g r% r3 K0 c; b5 Z8 Y: |9 c
1 R& y4 R" A/ E
Search 6 o4 v8 P/ O2 @3 G
' `0 F, H1 L2 m. M, ]- m) h. E& N
" o* {8 T$ a% |7 _$ W8 M. o
) a# `; Z) S, q: G# H3 M# MGIT地址:https://git.oschina.net/mkk/HeartBeat! L! }( N8 x% }9 _2 @( F. e6 g
1 [) r7 N' I8 X4 c B |
|