spring-security+hibernate4+quartz實現的心跳檢測項目(轉 收藏)

轉自:http://www.52itstyle.com/thread-27470-1-1.htmlhtml

HeartBeat. ~2 Z8 U! ?8 r
心跳檢測各種應用服務器(如Tomcat,Jetty),WEB服務器(如 Apache,Nginx) 的java WEB應用程序.5 R9 b. x6 y( e& J- C4 y0 |1 |

# Q( P, Z$ E4 }7 W4 }
如何實現? ! Q/ H( g( f; S7 @: V, z: V$ u7 D3 J
使用HttpClient對指定的服務器(application-instance) URL 按頻率(10秒,20秒...) 發起請求並記錄響應的信息(鏈接耗時,是否鏈接成功,是否有異常,響應數據包大小), 若檢測到不正常(響應碼不是200,拋出異常...)時則發送郵件給指定的地址,當檢測恢復正常時也發送提醒郵件. * e2 H2 m) s- |% H2 Z0 F4 W+ L
未來會添加更多的實時提醒方式接口,如微信,短信
7 u: |' }: J5 _

使用的框架及版本

JDK - 1.7
spring Framework - 3.2.2.RELEASE
Quartz - 2.2.1% N. ~% x3 D6 i9 I- |
hibernate - 4.1.7.Final
HttpClient - 4.3.5
Flat UI4 J) Q) f! D7 l/ A- m
Maven - 3.1.01 J& C; K! Q6 K0 m; E' {( ~% V
TestNG - 6.1.1 (Unit Test)2 {' ?$ G  g  J

9 t  M: q' [5 _( `8 m
特色
/ ?5 |9 H9 l& ^# V8 i  s

無侵入,獨立部署
可同時監測多個應用服務器, R  E  y. `2 d
請求方式支持GET,POST; URL支持http與https, 可指定請求content-type, 添加請求參數(固定參數或隨機參數)- s1 B+ m9 i3 {
添加安全設置,可控制用戶註冊,設定用戶權限等
使用簡潔,靈活
提醒方式及時,多樣(目前僅實現郵件提醒,未來會加入微信提醒,短信提醒等)0 [" W' ~, ^1 d. _/ @5 m8 A
% J+ Y/ T1 @3 `

運行環境) L/ X6 U/ w& s' u/ R' i1 W8 O# J9 B& @* v

5 t7 j- A/ D5 F2 v
JRE 1.7 +
MySql 5.5 +
Tomcat 7 +' w' Z0 i  t0 X* l7 n4 s


在線測試

http://monitor.52itstyle.com/hb7 @2 w0 e  m- _' R. z! {8 \6 x- K


如何使用?
( T# m' ?* t/ y! S- J+ k; r, Z
項目是Maven管理的, 須要在電腦上安裝maven(開發用的版本號爲3.1.0), MySql(開發用的版本號爲5.5)9 b- d% X: d8 L* x! b
下載(或clone)項目到本地
建立MySQL數據庫(默認數據庫名:heart_beat), 並運行相應的SQL腳本(腳本文件位於others/database目錄), 
運行腳本的順序: HeartBeat.ddl -> quartz_mysql_innodb.sql -> initial-db.ddl(該ddl會建立初始管理員帳號/密碼:hb/heart_beat)
修改HeartBeat.properties(位於src/main/resources目錄)中的數據庫鏈接信息(包括username, password等) ' a- `) @7 A- _8 J3 H
NOTE: 爲了確保能收到提醒郵件,請將配置文件中的 mail.develop.address 配置爲你的郵件地址; 若在生產環境,請將 mail.develop.environment 值修改成 false (true表示爲開發環境)4 C& p, Z4 Z# A
將本地項目導入到IDE(如Intellij IDEA)中,配置Tomcat(或相似的servlet運行服務器), 並啓動Tomcat(默認端口爲8080) 
另: 也可經過maven package命令將項目編譯爲war文件(HeartBeat.war), 將war放在Tomcat中並啓動(注意: 這種方式須要將HeartBeat.properties加入到classpath中並正確配置數據庫鏈接信息). % c4 `1 [' V8 X$ h. S- z4 L/ _
或直接在項目的'dist'目錄下載完整版安裝包.( H" ~2 h4 Z/ t' D6 y4 [
HeartBeat運行後, 初次登陸可以使用默認管理員帳號/密碼:hb/heart_beat, 若失敗, 須要在數據庫中運行初始SQL腳本文件initial-db.ddl(others/database目錄), 帳號密碼使用MD5加密.5 h- l- B- V( w/ G' b

程序運行主要截圖
<ignore_js_op> 7 u$ Q. c1 A: E0 B/ r( ^
% l) n* a& o) ~: Z
<ignore_js_op> ! W4 h! b$ e0 q' E7 w# T+ ~) F7 d
/ v2 T  i% M" O. l+ ]: W$ k' O
<ignore_js_op> 

<ignore_js_op>
相關文章
相關標籤/搜索