心跳偵測各類應用伺服器(如Tomcat,Jetty),WEB伺服器(如Apache,Nginx) 的JAVA WEB應用程式。
如何實現?
使用HttpClient對指定的伺服器(application-instance) URL 按頻率(10秒,20秒...) 發起請求並記錄回應的資訊(連線耗時,是否連線成功,是否有異常,回應資料包大小),若偵測到不正常(回應碼不是200,拋出例外...)時則傳送郵件給指定的位址,當偵測恢復正常時也會傳送提醒郵件。
將來會添加更多的即時提醒方式接口,如微信,短信。
2.0.0以上使用Spring-Boot 框架重構,向微服務靠近。
JDK - 1.8
Spring Boot - 1.5.9.RELEASE
Flat UI
Maven - 3.1.0
1、無侵入,獨立部署
2、可同時監測多個應用伺服器
3.請求方式支援GET,POST;URL支援http與https,可指定請求content-type,新增請求參數(固定參數或隨機參數)
4.新增安全性設置,可控制用戶註冊,設定用戶權限等
5.使用簡潔,靈活
6.提醒方式及時,多元(目前已實作郵件提醒,微信提醒;將來會加入簡訊提醒等)
JRE 1.8 +
MySql 5.6 +
Tomcat 8 +
1.專案是Maven管理的,需要在電腦上安裝maven(開發用的號碼為3.1.0),MySql(開發用的號碼為5.6)
2、下載(或clone)項目到本地
3.建立MySQL資料庫(預設資料庫名稱:heart_beat),並執行對應的SQL腳本(腳本檔位於others/database目錄),
執行腳本的順序: HeartBeat.ddl -> quartz_mysql_innodb.sql -> initial-db.ddl(該ddl會建立初始管理員帳號/密碼:hb/heart_beat)
4、修改application.properties(位於src/main/resources目錄)中的資料庫連線資訊(包括username,password等)
NOTE: 為了確保能收到提醒郵件,請將設定檔中的mail.develop.address 設定為你的郵件地址;若在生產環境,請將mail.develop.environment 值修改為false (true表示為開發環境)
5.將本機專案匯入IDE(如Intellij IDEA)中,配置Tomcat(或類似的servlet運行伺服器),並啟動Tomcat(預設連接埠為8080)
另: 也可透過maven package指令將專案編譯為war檔(hb.war),將war放在Tomcat中並啟動(注意: 這種方式需要將application.properties 加入到classpath中並正確設定資料庫連線資訊) 。
或使用java -jar hb.war --spring.config.location=application.properties 指令執行(注意application.properties 的路徑要正確)
或直接在專案的'dist'目錄下載安裝包。
6.HeartBeat運行後,初次登入可使用預設管理員帳號/密碼:hb/heart_beat,若失敗,需要在資料庫中執行初始SQL腳本檔initial-db.ddl(others/database目錄),帳號密碼使用MD5加密。