五分鐘解鎖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其它相關文章!

推薦閱讀: