在 Spring Boot 2.1.3.RELEASE 中實現監控信息可視化可以通過多種方式,下面為你詳細介紹使用 Spring Boot Actuator 結合 Grafana 和 Prometheus 以及使用 Spring Boot Admin 這兩種常見方法。
方法一:Spring Boot Actuator + Grafana + Prometheus
1. 添加依賴
在 pom.xml
中添加以下依賴:
<dependencies><!-- Spring Boot Actuator --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- Micrometer Registry Prometheus --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>
</dependencies>
2. 配置 Spring Boot Actuator
在 application.properties
中添加以下配置:
# 開啟所有端點
management.endpoints.web.exposure.include=*
3. 啟動 Prometheus
- 下載 Prometheus 并解壓。
- 編輯
prometheus.yml
文件,添加對 Spring Boot 應用的監控配置:
scrape_configs:- job_name: 'spring-boot-app'metrics_path: '/actuator/prometheus'static_configs:- targets: ['localhost:8080']
- 啟動 Prometheus:在解壓后的目錄下執行
./prometheus --config.file=prometheus.yml
。
4. 啟動 Grafana
- 下載并安裝 Grafana。
- 啟動 Grafana 服務。
- 登錄 Grafana 界面(默認地址:
http://localhost:3000
,默認用戶名和密碼:admin/admin
)。 - 配置 Prometheus 作為數據源:在 Grafana 中,點擊
Configuration
->Data Sources
->Add data source
,選擇Prometheus
,并填寫 Prometheus 的地址(如http://localhost:9090
)。 - 創建儀表盤(Dashboard):點擊
Create
->Dashboard
,然后添加各種圖表來展示從 Prometheus 獲取的監控指標。
方法二:Spring Boot Admin
1. 創建 Spring Boot Admin Server
創建一個新的 Spring Boot 項目,添加以下依賴:
<dependencies><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.1.6</version></dependency>
</dependencies>
在 application.properties
中添加以下配置:
server.port=8080
在主應用類上添加 @EnableAdminServer
注解:
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableAdminServer
public class AdminVisualServerApplication {public static void main(String[] args) {SpringApplication.run(AdminVisualServerApplication.class, args);}
}
2. 將 Spring Boot 應用注冊到 Admin Server
新創建一個服務,在需要監控的 Spring Boot 應用中添加以下依賴:
<dependencies><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.1.6</version></dependency>
</dependencies>
在 application.properties
中添加以下配置:
server.port=8081
spring.boot.admin.client.url=http://localhost:8080
management.endpoints.web.exposure.include=*
創建啟動類:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class AdminVisualClientApplication {public static void main(String[] args) {SpringApplication.run(AdminVisualClientApplication.class, args);}
}
3. 訪問 Spring Boot Admin 界面
啟動 Spring Boot Admin Server 和需要被監控的應用,訪問 http://localhost:8080
即可看到監控信息的可視化界面。
注意事項
- 確保各組件的版本兼容性,避免因版本不匹配導致的問題。
- 可以根據實際需求對監控指標和可視化界面進行進一步的定制和優化。