SpringBoot提供了三種應用監控的方式web
經過HTTP(最簡單方便)spring
經過JMXshell
經過遠程shell服務器
這裏就是用最簡單的方式來使用SpringBoot的應用監控app
首先引入依賴,pom文件以下spring-boot
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--因爲應用監控會暴露不少服務器信息,因此須要引入security對應用進行保護--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
配置文件以下url
application.propertiesspa
#actuator端口 management.server.port=9001 #修改訪問路徑 2.0以前默認是/ 2.0默認是 /actuator 能夠經過這個屬性值修改 management.endpoints.web.base-path=/monitor #開放全部頁面節點 默認只開啓了health、info兩個節點 management.endpoints.web.exposure.include=* #顯示健康具體信息 默認不會顯示詳細信息 management.endpoint.health.show-details=always #使用security保護端點,由於監控的會有不少敏感的信息,設置以後會須要登錄以後才能進入應用監控 spring.security.user.name=wangx spring.security.user.password=wangx spring.security.user.roles=SUPERUSER
配置以後啓動系統,SpringBoot就已經對應用進行了監控,它是經過監控各個端點來實現的。線程
訪問http://localhost:9001/monitor/能夠看到每一個監控的全部端點的url,直接訪問便可查看該運用的該端點的信息 code
ENDPOINTS
1.X 的時候屬性: HTTP 方法 路徑 描述
GET /autoconfig 提供了一份自動配置報告,記錄哪些自動配置條件經過了,哪些沒經過
GET /configprops 描述配置屬性(包含默認值)如何注入Bean
GET /beans 描述應用程序上下文裏所有的Bean,以及它們的關係
GET /dump 獲取線程活動的快照
GET /env 獲取所有環境屬性
GET /env/{name} 根據名稱獲取特定的環境屬性值
GET /health 報告應用程序的健康指標,這些值由HealthIndicator的實現類提供
GET /info 獲取應用程序的定製信息,這些信息由info打頭的屬性提供
GET /mappings 描述所有的URI路徑,以及它們和控制器(包含Actuator端點)的映射關係
GET /metrics 報告各類應用程序度量信息,好比內存用量和HTTP請求計數
GET /metrics/{name} 報告指定名稱的應用程序度量值
POST /shutdown 關閉應用程序,要求endpoints.shutdown.enabled設置爲true
GET /trace 提供基本的HTTP請求跟蹤信息(時間戳、HTTP頭等)
2.0 部分更改:
1.x 端點 2.0 端點(改變) /actuator 再也不可用。 可是,在 management.endpoints.web.base-path 的根目錄中有一個映射,它提供了到全部暴露端點的連接。 /auditevents 該after參數再也不須要 /autoconfig 重命名爲 /conditions /docs 再也不可用 /health 如今有一個 management.endpoint.health.show-details 選項 never, always, when-authenticated,而不是依靠 sensitive 標誌來肯定 health 端點是否必須顯示所有細節。 默認狀況下,/actuator/health公開而且不顯示細節。 /trace 重命名爲 /httptrace