五分鐘解鎖springboot admin監(jiān)控新技巧
最近這一個月由于項目進度緊張,將近一個月沒有動靜。分享一下最近體會的springboot監(jiān)控的一些心得體會,供一些規(guī)模不是很大的團隊做一些監(jiān)控。
適用場景:
1、項目規(guī)模不大
2、用戶量不是很大、并發(fā)要求不強
3、無專門運維力量
4、精致的團隊規(guī)模
對于一些常規(guī)的項目,或者企業(yè)職責分工不是非常明確的單位來說。往往一個系統(tǒng)從需求到設(shè)計,開發(fā),測試到最終上線,運維。往往80%的任務由開發(fā)團隊來完成。由此,開發(fā)人員除了要實現(xiàn)系統(tǒng)的功能,還要為客戶進行問題咨詢答疑以及生產(chǎn)問題解決。
試想,一個應用上線后,沒有任何監(jiān)控措施。跟開著一輛沒有任何儀表盤的汽車一樣,這樣上路,任何人都沒有安全感。如何在極簡和追求效率上做平衡是一件特別值得思考的事情。
本文不會講如何搭建企業(yè)的運維監(jiān)控系統(tǒng),有興趣的可以去找找成熟的比如Zabbix、Prometheus,甚至比較簡單的Wgcloud都能滿足一定的需求,不在此贅述。本文講解如何使用Springboot admin對spring boot項目進行應用監(jiān)控。
一、Springboot admin 是啥?Spring Boot Admin是一個開源社區(qū)項目,用于管理和監(jiān)控SpringBoot應用程序。應用程序作為Spring Boot Admin Client向為Spring Boot Admin Server注冊(通過HTTP)或使用SpringCloud注冊中心(例如Eureka,Consul)發(fā)現(xiàn)。常見的功能或者監(jiān)控如下:
1、顯示健康狀況
2、顯示構(gòu)建信息編號
3、關(guān)注并下載日志文件
4、查看jvm系統(tǒng)和環(huán)境屬性
5、輕松的日志級管理
6、與JMX-beans交互
7、查看線程轉(zhuǎn)儲
8、查看http跟蹤
9、狀態(tài)變更通知(通過電子郵件,Slack,Hipchat,…)
10、狀態(tài)更改的事件日志(非持久性)
......
二、關(guān)鍵集成介紹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.xmlspring: boot: admin: # Spring Boot Admin Server 服務端的相關(guān)配置 context-path: /admin # 配置 Spring
4、client配置
spring: application: name: springboot-admin-monitor boot: admin: # Spring Boot Admin Client 客戶端的相關(guān)配置 client:# 設(shè)置 Spring Boot Admin Server 地址url: http://localhost:${server.port}${spring.boot.admin.context-path}instance: prefer-ip: true # 注冊實例時,優(yōu)先使用 IP # Actuator 監(jiān)控端點的配置項management: endpoints: web: # Actuator 提供的 API 接口的根目錄。默認為 /actuator base-path: /actuator exposure:# 需要開放的端點。默認值只打開 health 和 info 兩個端點。通過設(shè)置 * ,可以開放所有端點。include: ’*’ # 已存在日志xml配置文件后,需要配置該項 endpoint: logfile: external-file: ./logs/sys-console.log三、相關(guān)監(jiān)控實例
1、監(jiān)控首頁
2、應用監(jiān)控信息查看
3、實時日志輸出
4、動態(tài)調(diào)節(jié)日志級別
5、jvm
以上介紹了在生產(chǎn)中如何采用springboot admin來監(jiān)控你的應用,其實admin的監(jiān)控功能遠不止上文介紹的,還可以集成郵件通知,有外網(wǎng)使用釘釘?shù)?,也可以進行相應集成,比如在應用下線的時候可以進行相應的通知。個人比較喜歡的功能是日志web可視化,開發(fā)人員再也不需要通過客戶端工具連到服務器上去看日志,提高了效率,同時可以動態(tài)調(diào)整日志的級別,也能高效管理日志輸出。另外jvm的管理也能隨時管理,提高定位問題的效率。希望對你有所幫助。
本文參考代碼gitee鏈接:https://gitee.com/JavaLionLi/springboot-admin-demo(有幫助的話,可以給作者點個star)
以上就是五分鐘解鎖springboot admin監(jiān)控新技巧的詳細內(nèi)容,更多關(guān)于springboot admin監(jiān)控的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. PHP擴展之APC——Alternative PHP Cache(可選PHP緩存)2. IntelliJ IDEA 2019.3激活破解的詳細方法(親測有效,可激活至 2089 年)3. android RecycleView實現(xiàn)多級樹形列表4. 如何使用ASP.NET Core 配置文件5. 如何利用Python matplotlib繪制雷達圖6. Xpath語法格式總結(jié)7. Python 實現(xiàn)國產(chǎn)SM3加密算法的示例代碼8. Ajax報錯400的參考解決辦法9. 如何真正的了解python裝飾器10. 使用Python pip怎么升級pip
