五分鐘解鎖springboot admin監控新技巧
最近這一個月由於項目進度緊張,將近一個月沒有動靜。分享一下最近體會的springboot監控的一些心得體會,供一些規模不是很大的團隊做一些監控。
適用場景:
1、項目規模不大
2、用戶量不是很大、並發要求不強
3、無專門運維力量
4、精致的團隊規模
對於一些常規的項目,或者企業職責分工不是非常明確的單位來說。往往一個系統從需求到設計,開發,測試到最終上線,運維。往往80%的任務由開發團隊來完成。由此,開發人員除瞭要實現系統的功能,還要為客戶進行問題咨詢答疑以及生產問題解決。
試想,一個應用上線後,沒有任何監控措施。跟開著一輛沒有任何儀表盤的汽車一樣,這樣上路,任何人都沒有安全感。如何在極簡和追求效率上做平衡是一件特別值得思考的事情。
本文不會講如何搭建企業的運維監控系統,有興趣的可以去找找成熟的比如Zabbix、Prometheus,甚至比較簡單的Wgcloud都能滿足一定的需求,不在此贅述。本文講解如何使用Springboot admin對spring boot項目進行應用監控。
一、Springboot admin 是啥?
Spring Boot Admin是一個開源社區項目,用於管理和監控SpringBoot應用程序。應用程序作為Spring Boot Admin Client向為Spring Boot Admin Server註冊(通過HTTP)或使用SpringCloud註冊中心(例如Eureka,Consul)發現。常見的功能或者監控如下:
1、顯示健康狀況
2、顯示構建信息編號
3、關註並下載日志文件
4、查看jvm系統和環境屬性
5、輕松的日志級管理
6、與JMX-beans交互
7、查看線程轉儲
8、查看http跟蹤
9、狀態變更通知(通過電子郵件,Slack,Hipchat,…)
10、狀態更改的事件日志(非持久性)
……
二、關鍵集成介紹
1、pom.xml 聲明
<properties> <java.version>1.8</java.version> <spring-boot-admin.version>2.3.1</spring-boot-admin.version> </properties>
2、spring-boot-admin 引入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>${spring-boot-admin.version}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${spring-boot-admin.version}</version> </dependency>
3、server配置
server: # 服務器的HTTP端口,默認為8080 port: 8085 # 日志配置 logging: # 已存在日志xml配置文件後,path與name 不生效 config: classpath:logback.xml spring: boot: admin: # Spring Boot Admin Server 服務端的相關配置 context-path: /admin # 配置 Spring
4、client配置
spring: application: name: springboot-admin-monitor boot: admin: # Spring Boot Admin Client 客戶端的相關配置 client: # 設置 Spring Boot Admin Server 地址 url: http://localhost:${server.port}${spring.boot.admin.context-path} instance: prefer-ip: true # 註冊實例時,優先使用 IP # Actuator 監控端點的配置項 management: endpoints: web: # Actuator 提供的 API 接口的根目錄。默認為 /actuator base-path: /actuator exposure: # 需要開放的端點。默認值隻打開 health 和 info 兩個端點。通過設置 * ,可以開放所有端點。 include: '*' # 已存在日志xml配置文件後,需要配置該項 endpoint: logfile: external-file: ./logs/sys-console.log
三、相關監控實例
1、監控首頁
2、應用監控信息查看
3、實時日志輸出
4、動態調節日志級別
5、jvm
四、總結
以上介紹瞭在生產中如何采用springboot admin來監控你的應用,其實admin的監控功能遠不止上文介紹的,還可以集成郵件通知,有外網使用釘釘的,也可以進行相應集成,比如在應用下線的時候可以進行相應的通知。個人比較喜歡的功能是日志web可視化,開發人員再也不需要通過客戶端工具連到服務器上去看日志,提高瞭效率,同時可以動態調整日志的級別,也能高效管理日志輸出。另外jvm的管理也能隨時管理,提高定位問題的效率。希望對你有所幫助。
本文參考代碼gitee鏈接:https://gitee.com/JavaLionLi/springboot-admin-demo(有幫助的話,可以給作者點個star)
以上就是五分鐘解鎖springboot admin監控新技巧的詳細內容,更多關於springboot admin監控的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- SpringBoot Admin健康檢查功能的實現
- SpringBoot Admin 如何實現Actuator端點可視化監控
- springboot Actuator的指標監控可視化功能詳解
- SpringBootAdmin+actuator實現服務監控
- Spring Boot Admin 快速入門詳解