前言
apimonitor是一個api接口監控項目,可以模擬探測http接口、http頁面,通過請求耗時和響應結果來判斷系統接口的可用性和正確性。
實現功能
- 支持單個API和多個API調用鏈的探測。
- 支持頁面探測,可以模擬頁面操作過程,比如打開登陸頁面,登陸,跳轉到登陸後頁面;
- 支持HTTP和HTTPS,請求類型可以是GET,POST,HEADER,PUT,DELETE
- 支持通用的HTTP認證,比如BASIC認證,COOKIES認證等
- 調用API可以設置請求頭部,請求參數。在API調用鏈過程中,上一個API的返回結果可以作為下一個API的請求參數;
- 可以自定義探測結果判定,比如接口返回狀態碼為200,返回內容包括/不包括exception等;
- 可以自定義監控頻率,比如30分鐘/次,1小時/次
- 監控日誌定期清理
- 支持導入postman腳本,可以大幅度減低配置複雜頁面監控的工作量。使用postman工具捕捉HTTP請求,生成postman腳本,然後導入到監控系統。
使用技術
- 技術框架:maven、Spring Boot、Mybatis、SpringMVC
- 技術組件:HttpClient、Quartz、fastjson、dom4j
- UI技術:sitemesh、thymeleaf、bootstrap、adminlte
運行環境
- jdk8
- tomcat
- mysql
如何運行
首先,需要準備好數據庫
- 創建mysql數據庫,數據庫名為apimonitor;
- 執行db/db.sql腳本,初始化表;
然後,你可以選擇使用jar包運行,或者直接運行源碼。
運行jar包
- jar包在dist/apimonitor-0.0.1-SNAPSHOT.jar;
- 打開jar包,修改/BOOT-INF/classes目錄下的application.properties文件,將url、username、password改為你自己的;
spring.datasource.url=jdbc:mysql://192.168.171.238:3306/apimonitor?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
- 直接使用命令java -jar apimonitor-0.0.1-SNAPSHOT.jar啟動項目(你的系統必須安裝了jdk1.8並配置了環境變量);
運行源碼
- 以eclipse為例,將apimonitor作為maven項目導入(eclipse要提前安裝配置maven)
- 修改src/main/resources目錄下的application.properties文件,將url、username、password改為你自己的;
spring.datasource.url=jdbc:mysql://192.168.171.238:3306/apimonitor?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
- 運行com.ecar.apm.MainApplication類,項目將啟動
系統界面
項目啟動後,直接在瀏覽器輸入http://localhost:8080 ,就可以訪問。
系統截圖如下:
私信回覆"apimonitor"獲取鏈接地址,喜歡的點個關注,一起學習探討新技術。
閱讀更多 儒雅程序員 的文章