该用户从未签到
|
HeartBeat, T, B3 k1 X4 R/ [
心跳检测各类应用服务器(如Tomcat,Jetty),WEB服务器(如 Apache,Nginx) 的java WEB应用程序.# a) P' P. a1 P2 ?6 A' l+ I
# N' X) k0 H6 W2 S+ p4 o c如何实现?
/ {; I+ |. u) w" V* U# d; R' C: K使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,是否连接成功,是否有异常,响应数据包大小), 若检测到不正常(响应码不是200,抛出异常...)时则发送邮件给指定的地址,当检测恢复正常时也发送提醒邮件. # S# j: E$ r' ?5 n7 n- \6 V! Z
将来会添加更多的实时提醒方式接口,如微信,短信
9 d6 [1 e1 E/ V5 L使用的框架及版本5 i) L, d; O( q# ^. S1 C
" F8 |7 G0 y% d: y1 p& sspring Framework - 3.2.2.RELEASE
. }" f+ b4 U; W, T# ^Quartz - 2.2.1# Z O- v1 R- P" ^
hibernate - 4.1.7.Final2 _* e1 ?2 E( I3 I$ D" `$ _: Z
Flat UI1 }6 [, V# O B/ k' P1 o6 s C
Maven - 3.1.0/ z9 F, q$ z6 B2 j0 s
4 \0 v4 J! U5 o: s$ c
从0.3版本开始, 每一个版本的下载文件都在项目的 'dist' 目录." k: Z8 ?4 z8 }6 }9 {2 V, R3 e
最新版本下载: HeartBeat-0.3.zip
1 |; y# V, _- n0 H; J/ L特点. W9 @; j1 R5 N1 }+ g8 k+ k
% P, U; v5 h+ Q5 p/ ]# f无侵入8 i7 @- j- \- O" Z
独立部署 v' b% `* r9 D7 \3 z+ U! v
可同时监测多个应用服务器# A. i3 y+ ?6 V L
请求方式支持GET,POST
4 _9 T" V9 [: R2 q% a3 {3 D1 y6 M使用简洁,灵活; B5 }( a- ?$ u
提醒方式及时,多样(目前仅实现邮件提醒,将来会加入微信提醒,短信提醒等)
- u4 j: h+ _$ q+ l运行环境
& m2 m5 i* o: Y9 g- e2 m1 M* t4 {8 f1 w' B8 `2 H) j; z
JRE 1.7 +
9 B" m( R7 N5 G) d. Z3 k- {! ]MySql 5.5 +) s' X0 V; P0 V% P' a' W }% y: X
Tomcat 7 +. ~7 Y* {: r. z. @' {
' }+ c, b% Q: J9 ^; {) G. M2 {9 h项目是Maven管理的, 需要在电脑上安装maven(开发用的版本号为3.1.0), MySql(开发用的版本号为5.5)
; r$ g4 g- I" C& \ m) A4 e3 E下载(或clone)项目到本地
5 a- g& ~ O9 v创建MySQL数据库(默认数据库名:heart_beat), 并运行相应的SQL脚本(脚本文件位于others/database目录), " E6 f# w4 E. ~# S9 J9 A
运行脚本的顺序: HeartBeat.ddl -> quartz_mysql_innodb.sql
8 F% \9 a( I9 t& A Z修改HeartBeat.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)
7 ?! `& f; d( T4 t# ONOTE: 为了确保能收到提醒邮件,请将配置文件中的 mail.develop.address 配置为你的邮件地址; 若在生产环境,请将 mail.develop.environment 值修改为 false (true表示为开发环境)0 r- b: K& q* I4 q" F
将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080)
) V( v% Z: {0 _: W- v% x2 I. J) ~另: 也可通过maven package命令将项目编译为war文件(HeartBeat.war), 将war放在Tomcat中并启动(注意: 这种方式需要将HeartBeat.properties加入到classpath中并正确配置数据库连接信息).
# j6 k1 F* D) [) K[color=rgba(0, 0, 0, 0.8)]程序运行主要截图Monitoring
/ h1 _- |* Z0 H6 {' g- u
, K5 i& A5 Z7 e" A4 f
Instance - Monitoring details 1 w: f2 E6 q' \* {4 e
. J6 E# L X5 R) ?* Y$ bInstance - Overview : l+ `0 M5 P0 P! B. S1 B# J9 c# O
J" Y$ |7 [( s( g( X2 o" nInstance - Create
3 B2 L" K$ L& k) V' k; s0 M7 D. o
9 o" R+ [' r+ b5 u0 KMonitoring-Log % M# h5 o* L* F0 C# l. u
% E _6 R& I, X: r8 W
Monitoring-Reminder-Log
5 ]# o- I2 `: T; k% k
6 N* \; ^/ K9 QSearch 2 l( w# [. @' {2 |
9 O' g W1 J O- _; k6 {/ X
6 Z$ N3 A( \4 f' M3 {$ K2 i
4 O" Q* `4 n" h7 y; HGIT地址:https://git.oschina.net/mkk/HeartBeat
/ ]5 E3 H, O/ S* g: g$ Q) u/ ^* H! y& B
|
|