SpringBoot監(jiān)視器的具體使用
一、Spring Boot 監(jiān)視器概述
(一)什么是 Spring Boot 監(jiān)視器
- 定義與作用
- Spring Boot 監(jiān)視器(Spring Boot Actuator)是一個(gè)用于監(jiān)控和管理 Spring Boot 應(yīng)用程序的工具集。它提供了一系列的端點(diǎn),可以獲取應(yīng)用程序的運(yùn)行狀態(tài)、性能指標(biāo)、配置信息等,幫助開發(fā)者更好地了解和管理應(yīng)用程序。
- 與傳統(tǒng)監(jiān)控工具的區(qū)別
- 與傳統(tǒng)的監(jiān)控工具相比,Spring Boot 監(jiān)視器更加輕量級、易于集成,并且提供了豐富的功能和靈活的配置選項(xiàng)。它可以與 Spring Boot 應(yīng)用程序無縫集成,無需額外的安裝和配置。
(二)為什么需要 Spring Boot 監(jiān)視器
- 實(shí)時(shí)監(jiān)控應(yīng)用狀態(tài)
- 在生產(chǎn)環(huán)境中,實(shí)時(shí)了解應(yīng)用程序的運(yùn)行狀態(tài)非常重要。Spring Boot 監(jiān)視器可以提供應(yīng)用程序的健康狀況、內(nèi)存使用情況、線程數(shù)量等信息,幫助開發(fā)者及時(shí)發(fā)現(xiàn)和解決問題。
- 性能優(yōu)化
- 通過監(jiān)控應(yīng)用程序的性能指標(biāo),如響應(yīng)時(shí)間、吞吐量等,可以發(fā)現(xiàn)性能瓶頸,并進(jìn)行優(yōu)化。Spring Boot 監(jiān)視器可以提供這些指標(biāo)的實(shí)時(shí)數(shù)據(jù),幫助開發(fā)者做出更準(zhǔn)確的決策。
- 故障排查
- 當(dāng)應(yīng)用程序出現(xiàn)故障時(shí),Spring Boot 監(jiān)視器可以提供詳細(xì)的錯(cuò)誤信息和日志,幫助開發(fā)者快速定位問題。它還可以提供應(yīng)用程序的調(diào)用鏈信息,幫助開發(fā)者了解問題的根源。
二、Spring Boot 監(jiān)視器的核心端點(diǎn)
(一)/health 端點(diǎn)
- 功能介紹
- /health 端點(diǎn)用于提供應(yīng)用程序的健康狀況信息。它可以檢查應(yīng)用程序的各個(gè)組件,如數(shù)據(jù)庫連接、緩存連接等,并返回一個(gè)狀態(tài)碼,表示應(yīng)用程序的整體健康狀況。
- 自定義健康檢查
- 開發(fā)者可以自定義健康檢查邏輯,通過實(shí)現(xiàn) HealthIndicator 接口來添加自己的健康檢查項(xiàng)。例如,可以檢查外部服務(wù)的連接狀態(tài)、文件系統(tǒng)的可用空間等。
import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.stereotype.Component; @Component public class CustomHealthIndicator implements HealthIndicator { @Override public Health health() { // 進(jìn)行自定義健康檢查邏輯 boolean isHealthy = checkExternalService(); if (isHealthy) { return Health.up().build(); } else { return Health.down().withDetail("reason", "External service is down").build(); } } private boolean checkExternalService() { // 檢查外部服務(wù)的連接狀態(tài) return true; } }
(二)/metrics 端點(diǎn)
- 功能介紹
- /metrics 端點(diǎn)用于提供應(yīng)用程序的性能指標(biāo)信息。它可以提供各種指標(biāo),如內(nèi)存使用情況、線程數(shù)量、請求響應(yīng)時(shí)間等。
- 自定義指標(biāo)
- 開發(fā)者可以自定義指標(biāo),通過使用 MeterRegistry 接口來注冊自己的指標(biāo)。例如,可以統(tǒng)計(jì)特定方法的調(diào)用次數(shù)、記錄特定事件的發(fā)生次數(shù)等。
import io.micrometer.core.instrument.MeterRegistry; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class CustomMetrics { private final MeterRegistry meterRegistry; @Autowired public CustomMetrics(MeterRegistry meterRegistry) { this.meterRegistry = meterRegistry; } public void recordMethodCall() { meterRegistry.counter("custom.method.call").increment(); } }
(三)/info 端點(diǎn)
- 功能介紹
- /info 端點(diǎn)用于提供應(yīng)用程序的基本信息,如應(yīng)用程序名稱、版本號、構(gòu)建時(shí)間等。這些信息可以在應(yīng)用程序的配置文件中進(jìn)行配置。
- 自定義信息
- 開發(fā)者可以自定義 (info) 端點(diǎn)的信息,通過在配置文件中添加相應(yīng)的屬性來實(shí)現(xiàn)。例如,可以添加應(yīng)用程序的描述信息、聯(lián)系人信息等。
info.app.name=My Application info.app.version=1.0.0 info.app.description=This is my application. info.app.contact.name=John Doe info.app.contact.email=john.doe@example.com
三、Spring Boot 監(jiān)視器的配置
(一)啟用和禁用端點(diǎn)
- 配置方式
- 通過在 application.properties 或 application.yml 文件中設(shè)置 management.endpoints.enabled-by-default 屬性,可以啟用或禁用所有端點(diǎn)。也可以通過設(shè)置單個(gè)端點(diǎn)的 enabled 屬性來單獨(dú)啟用或禁用某個(gè)端點(diǎn)。
management.endpoints.enabled-by-default=false management.endpoint.health.enabled=true management.endpoint.metrics.enabled=true management.endpoint.info.enabled=true
- 安全考慮
- 在生產(chǎn)環(huán)境中,為了安全起見,可以禁用一些敏感的端點(diǎn),如 /shutdown 端點(diǎn)。同時(shí),可以通過配置安全認(rèn)證和授權(quán)來限制對端點(diǎn)的訪問。
(二)自定義端點(diǎn)路徑
- 配置方式
- 通過在 application.properties 或 application.yml 文件中設(shè)置 management.endpoints.web.base-path 屬性,可以自定義端點(diǎn)的基礎(chǔ)路徑。例如,可以將端點(diǎn)的路徑設(shè)置為 /admin/actuator,以提高安全性。
management.endpoints.web.base-path=/admin/actuator
- 注意事項(xiàng)
- 在自定義端點(diǎn)路徑時(shí),需要確??蛻舳四軌蛘_訪問新的路徑。同時(shí),需要注意與其他安全配置的兼容性。
(三)配置端點(diǎn)的訪問權(quán)限
- 安全認(rèn)證和授權(quán)
- 可以通過配置 Spring Security 來實(shí)現(xiàn)對端點(diǎn)的安全認(rèn)證和授權(quán)。例如,可以要求用戶提供用戶名和密碼才能訪問端點(diǎn),或者限制只有特定的用戶角色才能訪問某些端點(diǎn)。
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/admin/actuator/health").permitAll() .antMatchers("/admin/actuator/**").hasRole("ADMIN") .and() .httpBasic(); } }
- IP 地址限制
- 可以通過配置網(wǎng)絡(luò)防火墻或代理服務(wù)器來限制對端點(diǎn)的訪問,只允許特定的 IP 地址訪問端點(diǎn)。這樣可以提高安全性,防止未經(jīng)授權(quán)的訪問。
四、Spring Boot 監(jiān)視器的集成
(一)與日志系統(tǒng)集成
- 記錄端點(diǎn)訪問日志
- 可以將端點(diǎn)的訪問日志記錄到日志系統(tǒng)中,以便進(jìn)行審計(jì)和故障排查??梢酝ㄟ^配置日志級別和過濾器來實(shí)現(xiàn)對端點(diǎn)訪問日志的記錄。
import org.springframework.boot.actuate.logging.LoggingEndpoint; import org.springframework.boot.actuate.logging.LoggingSystem; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class LoggingConfig { @Bean public LoggingEndpoint loggingEndpoint(LoggingSystem loggingSystem) { return new LoggingEndpoint(loggingSystem); } }
- 結(jié)合日志分析工具
- 可以將日志系統(tǒng)與日志分析工具(如 ELK Stack)集成,以便進(jìn)行更深入的分析和可視化。這樣可以更好地了解應(yīng)用程序的運(yùn)行狀態(tài)和性能指標(biāo)。
(二)與監(jiān)控系統(tǒng)集成
- 推送指標(biāo)到監(jiān)控系統(tǒng)
- 可以將應(yīng)用程序的性能指標(biāo)推送到監(jiān)控系統(tǒng)(如 Prometheus、Grafana)中,以便進(jìn)行實(shí)時(shí)監(jiān)控和報(bào)警??梢酝ㄟ^使用 Micrometer 庫來實(shí)現(xiàn)指標(biāo)的推送。
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.prometheus.PrometheusConfig; import io.micrometer.prometheus.PrometheusMeterRegistry; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MetricsConfig { @Bean public MeterRegistry meterRegistry() { return new PrometheusMeterRegistry(PrometheusConfig.DEFAULT); } }
- 可視化監(jiān)控?cái)?shù)據(jù)
- 可以使用監(jiān)控系統(tǒng)提供的可視化工具(如 Grafana)來展示應(yīng)用程序的性能指標(biāo)和運(yùn)行狀態(tài)。這樣可以更直觀地了解應(yīng)用程序的情況,及時(shí)發(fā)現(xiàn)問題并進(jìn)行處理。
五、Spring Boot 監(jiān)視器的實(shí)際應(yīng)用案例
(一)案例背景
假設(shè)有一個(gè)電商應(yīng)用程序,需要實(shí)時(shí)監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài)和性能指標(biāo),以便及時(shí)發(fā)現(xiàn)和解決問題。同時(shí),需要將監(jiān)控?cái)?shù)據(jù)推送到監(jiān)控系統(tǒng)中,進(jìn)行可視化展示和報(bào)警。
(二)技術(shù)選型
- 使用 Spring Boot 監(jiān)視器
- 選擇 Spring Boot 監(jiān)視器作為監(jiān)控工具,因?yàn)樗峁┝素S富的功能和靈活的配置選項(xiàng),可以滿足電商應(yīng)用程序的監(jiān)控需求。
- 結(jié)合監(jiān)控系統(tǒng)
- 選擇 Prometheus 和 Grafana 作為監(jiān)控系統(tǒng),因?yàn)樗鼈兪情_源的、功能強(qiáng)大的監(jiān)控工具,可以與 Spring Boot 監(jiān)視器無縫集成。
(三)具體實(shí)現(xiàn)
- 配置 Spring Boot 監(jiān)視器
- 在電商應(yīng)用程序的配置文件中,啟用 Spring Boot 監(jiān)視器的相關(guān)端點(diǎn),并進(jìn)行必要的配置。例如,啟用 /health、/metrics、/info 端點(diǎn),并配置端點(diǎn)的訪問權(quán)限。
management.endpoints.enabled-by-default=true management.endpoint.health.enabled=true management.endpoint.metrics.enabled=true management.endpoint.info.enabled=true management.endpoints.web.base-path=/admin/actuator management.security.enabled=true management.user.name=admin management.user.password=admin123
- 自定義健康檢查和指標(biāo)
- 在電商應(yīng)用程序中,自定義健康檢查邏輯和指標(biāo),以便更好地了解應(yīng)用程序的運(yùn)行狀態(tài)和性能指標(biāo)。例如,可以檢查數(shù)據(jù)庫連接狀態(tài)、緩存命中率、訂單處理時(shí)間等。
import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.stereotype.Component; @Component public class DatabaseHealthIndicator implements HealthIndicator { @Override public Health health() { // 檢查數(shù)據(jù)庫連接狀態(tài) boolean isConnected = checkDatabaseConnection(); if (isConnected) { return Health.up().build(); } else { return Health.down().withDetail("reason", "Database connection failed").build(); } } private boolean checkDatabaseConnection() { // 檢查數(shù)據(jù)庫連接的邏輯 return true; } }
import io.micrometer.core.instrument.MeterRegistry; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class OrderMetrics { private final MeterRegistry meterRegistry; @Autowired public OrderMetrics(MeterRegistry meterRegistry) { this.meterRegistry = meterRegistry; } public void recordOrderProcessingTime(long processingTime) { meterRegistry.timer("order.processing.time").record(processingTime, java.util.concurrent.TimeUnit.MILLISECONDS); } }
- 集成 Prometheus 和 Grafana
- 在電商應(yīng)用程序中,集成 Prometheus 和 Grafana,將應(yīng)用程序的性能指標(biāo)推送到 Prometheus 中,并使用 Grafana 進(jìn)行可視化展示和報(bào)警。可以通過使用 Micrometer 庫來實(shí)現(xiàn)指標(biāo)的推送。
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.prometheus.PrometheusConfig; import io.micrometer.prometheus.PrometheusMeterRegistry; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MetricsConfig { @Bean public MeterRegistry meterRegistry() { return new PrometheusMeterRegistry(PrometheusConfig.DEFAULT); } }
- 配置 Grafana 儀表盤
- 在 Grafana 中,配置儀表盤,展示電商應(yīng)用程序的性能指標(biāo)和運(yùn)行狀態(tài)??梢允褂?Grafana 的模板和插件,快速創(chuàng)建美觀、實(shí)用的儀表盤。
{ "title": "E-commerce Dashboard", "panels": [ { "title": "Orders per Minute", "type": "graph", "targets": [ { "expr": "rate(order_processing_time_count[1m])", "legendFormat": "Orders per Minute" } ] }, { "title": "Database Health", "type": "singlestat", "targets": [ { "expr": "up{job='ecommerce'}", "legendFormat": "Database Health" } ] } ] }
(四)效果評估
- 實(shí)時(shí)監(jiān)控應(yīng)用狀態(tài)
- 通過使用 Spring Boot 監(jiān)視器和 Prometheus/Grafana,能夠?qū)崟r(shí)監(jiān)控電商應(yīng)用程序的運(yùn)行狀態(tài)和性能指標(biāo)??梢约皶r(shí)發(fā)現(xiàn)數(shù)據(jù)庫連接故障、訂單處理時(shí)間過長等問題,并采取相應(yīng)的措施進(jìn)行處理。
- 性能優(yōu)化
- 通過分析監(jiān)控?cái)?shù)據(jù),可以發(fā)現(xiàn)性能瓶頸,并進(jìn)行優(yōu)化。例如,可以優(yōu)化數(shù)據(jù)庫查詢語句、增加緩存命中率等,提高應(yīng)用程序的性能。
- 故障排查
- 當(dāng)應(yīng)用程序出現(xiàn)故障時(shí),可以通過查看監(jiān)控?cái)?shù)據(jù)和日志,快速定位問題的根源??梢允褂?Grafana 的報(bào)警功能,及時(shí)通知開發(fā)者進(jìn)行處理,減少故障時(shí)間。
六、Spring Boot 監(jiān)視器的高級用法
(一)自定義端點(diǎn)
- 定義和實(shí)現(xiàn)自定義端點(diǎn)
- 開發(fā)者可以根據(jù)自己的需求,定義和實(shí)現(xiàn)自定義端點(diǎn)??梢酝ㄟ^繼承 AbstractEndpoint 類或使用 @Endpoint 注解來實(shí)現(xiàn)自定義端點(diǎn)。
import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.stereotype.Component; @Component @Endpoint(id = "customEndpoint") public class CustomEndpoint { @ReadOperation public String getCustomData() { // 返回自定義數(shù)據(jù) return "Custom data"; } }
- 訪問自定義端點(diǎn)
- 自定義端點(diǎn)可以通過與其他端點(diǎn)相同的方式進(jìn)行訪問。例如,如果自定義端點(diǎn)的路徑為 /admin/actuator/customEndpoint,可以使用 HTTP GET 請求訪問該端點(diǎn),獲取自定義數(shù)據(jù)。
(二)擴(kuò)展監(jiān)視器功能
- 使用插件和擴(kuò)展點(diǎn)
- Spring Boot 監(jiān)視器提供了一些插件和擴(kuò)展點(diǎn),可以用于擴(kuò)展監(jiān)視器的功能。例如,可以使用 Micrometer 的插件來支持其他監(jiān)控系統(tǒng),或者使用 Spring Boot 的擴(kuò)展點(diǎn)來添加自定義的健康檢查邏輯。
- 自定義監(jiān)控指標(biāo)采集
- 開發(fā)者可以自定義監(jiān)控指標(biāo)的采集方式,通過實(shí)現(xiàn) MeterBinder 接口來注冊自己的指標(biāo)采集器。例如,可以采集特定的系統(tǒng)資源使用情況、業(yè)務(wù)指標(biāo)等。
import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.binder.MeterBinder; import org.springframework.stereotype.Component; @Component public class CustomMeterBinder implements MeterBinder { @Override public void bindTo(MeterRegistry meterRegistry) { // 注冊自定義指標(biāo) meterRegistry.gauge("custom.metric", 123); } }
七、Spring Boot 監(jiān)視器的性能優(yōu)化
(一)減少端點(diǎn)響應(yīng)時(shí)間
- 優(yōu)化健康檢查邏輯
- 健康檢查邏輯應(yīng)該盡可能簡單和快速,避免進(jìn)行耗時(shí)的操作??梢允褂镁彺鎭泶鎯】禉z查結(jié)果,減少重復(fù)檢查的時(shí)間。
- 限制指標(biāo)采集頻率
- 指標(biāo)采集頻率應(yīng)該根據(jù)實(shí)際需求進(jìn)行調(diào)整,避免過于頻繁的采集導(dǎo)致性能問題。可以使用采樣技術(shù),減少指標(biāo)采集的數(shù)量。
(二)降低資源消耗
- 禁用不必要的端點(diǎn)
- 在生產(chǎn)環(huán)境中,應(yīng)該禁用不必要的端點(diǎn),以減少資源消耗。可以根據(jù)應(yīng)用程序的實(shí)際需求,只啟用必要的端點(diǎn)。
- 優(yōu)化監(jiān)控?cái)?shù)據(jù)存儲
- 監(jiān)控?cái)?shù)據(jù)的存儲應(yīng)該進(jìn)行優(yōu)化,避免占用過多的磁盤空間??梢允褂脡嚎s技術(shù),減少存儲的數(shù)據(jù)量。
八、Spring Boot 監(jiān)視器的安全注意事項(xiàng)
(一)保護(hù)端點(diǎn)訪問
- 配置安全認(rèn)證和授權(quán)
- 應(yīng)該配置安全認(rèn)證和授權(quán),限制對端點(diǎn)的訪問??梢允褂?Spring Security 或其他安全框架,要求用戶提供用戶名和密碼才能訪問端點(diǎn)。
- 限制端點(diǎn)訪問 IP 地址
- 可以通過配置網(wǎng)絡(luò)防火墻或代理服務(wù)器,限制只有特定的 IP 地址才能訪問端點(diǎn)。這樣可以提高安全性,防止未經(jīng)授權(quán)的訪問。
(二)防止信息泄露
- 謹(jǐn)慎暴露敏感信息
- 在配置端點(diǎn)時(shí),應(yīng)該謹(jǐn)慎暴露敏感信息。例如,不要在 /info 端點(diǎn)中暴露數(shù)據(jù)庫密碼、API 密鑰等敏感信息。
- 定期更新端點(diǎn)密碼
- 如果配置了端點(diǎn)的用戶名和密碼,應(yīng)該定期更新密碼,以提高安全性。同時(shí),應(yīng)該使用強(qiáng)密碼,避免使用容易被猜測的密碼。
九、常見問題及解決方案
(一)端點(diǎn)無法訪問
- 問題描述
- 在某些情況下,可能會出現(xiàn)端點(diǎn)無法訪問的問題。例如,配置錯(cuò)誤、網(wǎng)絡(luò)問題、安全限制等都可能導(dǎo)致端點(diǎn)無法訪問。
- 解決方案
- 首先,檢查配置文件是否正確配置了端點(diǎn)的路徑和訪問權(quán)限。其次,檢查網(wǎng)絡(luò)連接是否正常,是否存在防火墻或代理服務(wù)器的限制。最后,如果使用了安全認(rèn)證和授權(quán),檢查用戶名和密碼是否正確。
(二)監(jiān)控?cái)?shù)據(jù)不準(zhǔn)確
- 問題描述
- 有時(shí)候,監(jiān)控?cái)?shù)據(jù)可能不準(zhǔn)確,與實(shí)際情況不符。這可能是由于指標(biāo)采集邏輯錯(cuò)誤、數(shù)據(jù)采樣不準(zhǔn)確、系統(tǒng)負(fù)載變化等原因?qū)е碌摹?/li>
- 解決方案
- 檢查指標(biāo)采集邏輯,確保采集的數(shù)據(jù)準(zhǔn)確反映應(yīng)用程序的實(shí)際情況??梢允褂脺y試數(shù)據(jù)進(jìn)行驗(yàn)證,或者對比其他監(jiān)控工具的數(shù)據(jù)。調(diào)整數(shù)據(jù)采樣頻率和方法,以適應(yīng)系統(tǒng)負(fù)載的變化。同時(shí),關(guān)注系統(tǒng)的負(fù)載情況,避免在高負(fù)載時(shí)采集數(shù)據(jù),以免影響應(yīng)用程序的性能。
(三)安全漏洞
- 問題描述
- Spring Boot 監(jiān)視器可能存在安全漏洞,如未授權(quán)訪問端點(diǎn)、信息泄露等。這些漏洞可能會被攻擊者利用,導(dǎo)致應(yīng)用程序的安全受到威脅。
- 解決方案
- 及時(shí)更新 Spring Boot 版本,以修復(fù)已知的安全漏洞。配置安全認(rèn)證和授權(quán),限制對端點(diǎn)的訪問。避免在端點(diǎn)中暴露敏感信息,如數(shù)據(jù)庫密碼、API 密鑰等。定期進(jìn)行安全審計(jì),檢查應(yīng)用程序的安全性。
十、總結(jié)與回顧
Spring Boot 監(jiān)視器是一個(gè)強(qiáng)大的工具,用于監(jiān)控和管理 Spring Boot 應(yīng)用程序。它提供了一系列的端點(diǎn),可以獲取應(yīng)用程序的運(yùn)行狀態(tài)、性能指標(biāo)、配置信息等。通過合理配置和使用 Spring Boot 監(jiān)視器,可以實(shí)時(shí)監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)和解決問題,提高應(yīng)用程序的可靠性和穩(wěn)定性。
在實(shí)際應(yīng)用中,需要根據(jù)應(yīng)用程序的特點(diǎn)和需求,選擇合適的端點(diǎn)進(jìn)行監(jiān)控,并進(jìn)行必要的配置和定制。同時(shí),需要注意安全問題,保護(hù)端點(diǎn)的訪問,防止信息泄露。通過與其他監(jiān)控系統(tǒng)和工具的集成,可以實(shí)現(xiàn)更強(qiáng)大的監(jiān)控功能,提高應(yīng)用程序的管理效率。
到此這篇關(guān)于SpringBoot監(jiān)視器的具體使用的文章就介紹到這了,更多相關(guān)SpringBoot監(jiān)視器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用SpringBoot+Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控
- Spring?Boot?Admin?監(jiān)控指標(biāo)接入Grafana可視化的實(shí)例詳解
- vue+flv.js+SpringBoot+websocket實(shí)現(xiàn)視頻監(jiān)控與回放功能
- SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控
- springboot Actuator的指標(biāo)監(jiān)控可視化功能詳解
- SpringBoot可視化監(jiān)控的具體應(yīng)用
- Springboot添加jvm監(jiān)控實(shí)現(xiàn)數(shù)據(jù)可視化
相關(guān)文章
java實(shí)現(xiàn)事件委托模式的實(shí)例詳解
這篇文章主要介紹了java實(shí)現(xiàn)事件委托模式的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例來說明如何實(shí)現(xiàn)改功能,希望能幫助到大家理解這樣的模式,需要的朋友可以參考下2017-08-08java實(shí)現(xiàn)圖片的上傳與展示實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于java實(shí)現(xiàn)圖片的上傳與展示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12Java實(shí)現(xiàn)stream的三個(gè)常用方式(toMap,groupingBy,findFirst)
本文主要介紹了Java實(shí)現(xiàn)stream的三個(gè)常用方式,主要包括toMap,groupingBy,findFirst,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10springboot整合mybatis實(shí)現(xiàn)多表查詢的實(shí)戰(zhàn)記錄
SpringBoot對數(shù)據(jù)庫操作有多種方式,下面這篇文章主要給大家介紹了關(guān)于springboot整合mybatis實(shí)現(xiàn)多表查詢的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08基于params、@PathVariabl和@RequestParam的用法與區(qū)別說明
這篇文章主要介紹了方法參數(shù)相關(guān)屬性params、@PathVariabl和@RequestParam用法與區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08