教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Spring Boot中的監(jiān)視器是什么?

更新時(shí)間:2023年04月26日09時(shí)35分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  Spring Boot中的監(jiān)視器(monitor)是指一組用于監(jiān)視應(yīng)用程序性能和運(yùn)行狀況的工具和指標(biāo)。Spring Boot包含了許多內(nèi)置的監(jiān)視器,可以讓同學(xué)們實(shí)時(shí)了解您的應(yīng)用程序的各種指標(biāo)。

  以下是一個(gè)簡(jiǎn)單的示例,演示如何使用Spring Boot內(nèi)置的監(jiān)視器:

  1.在您的Spring Boot項(xiàng)目中,確保已經(jīng)包含了actuator依賴。

  2.在您的application.properties中,添加以下屬性以啟用Spring Boot的監(jiān)視器:

management.endpoints.web.exposure.include=*

  3.創(chuàng)建一個(gè)REST控制器類(lèi),以便可以查看Spring Boot內(nèi)置的指標(biāo)。例如,以下代碼段演示了如何檢索當(dāng)前的內(nèi)存使用情況:

import org.springframework.boot.actuate.metrics.MetricsEndpoint;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MonitorController {
  
  private final MetricsEndpoint metricsEndpoint;

  public MonitorController(MetricsEndpoint metricsEndpoint) {
    this.metricsEndpoint = metricsEndpoint;
  }

  @GetMapping("/monitor/metrics/memory.used")
  public Double getMemoryUsed() {
    return metricsEndpoint.metric("jvm.memory.used", null)
        .getMeasurements().stream().findFirst()
        .map(MetricsEndpoint.Sample::getValue)
        .orElse(null);
  }

}

  在此示例中,我們注入了MetricsEndpoint,并創(chuàng)建了一個(gè)getMemoryUsed()方法,該方法返回當(dāng)前JVM內(nèi)存使用量的值。

  4.啟動(dòng)您的應(yīng)用程序,并訪問(wèn)/actuator端點(diǎn)。我們應(yīng)該能夠看到所有可用的監(jiān)視器端點(diǎn),包括我們剛剛創(chuàng)建的/monitor/metrics/memory.used端點(diǎn)。

  5.訪問(wèn)您的自定義監(jiān)視器端點(diǎn)(例如,http://localhost:8080/monitor/metrics/memory.used),以查看指標(biāo)的當(dāng)前值。

  值得說(shuō)明的是,筆者所列列舉的只是一個(gè)簡(jiǎn)單的示例,Spring Boot的監(jiān)視器具有許多更高級(jí)的功能,如記錄和警報(bào)。同學(xué)們可以查看Spring Boot的文檔以獲取更多信息。

0 分享到:
和我們?cè)诰€交談!