學習筆記:JavaEE開發的顛覆者SpringBoot實戰(十一)應用監控

一. http

Spring-boot-actuator module 可幫助您在將應用程序投入生產時監視和管理應用程序。您可以選擇使用 HTTP 端點或 JMX 來管理和監控您的應用程序。Auditing, health, and metrics gathering 也可以自動應用於您的應用程序。

添加依賴,開啓監控

<dependencies>
    <dependency>
        <groupid>org.springframework.boot</groupid>
        spring-boot-starter-actuator</artifactid>
    </dependency>
</dependencies>

特性

Endpoints

Actuator endpoints 允許你去監控和操作你的應用。SpringBoot包含了許多內置的端點,當然你也可以添加自己的端點。比如 health 端點就提供了基本的應用健康信息。

Metrics

Spring Boot Actuator 提供 dimensional metrics 通過集成 Micrometer.

Audit

Spring Boot Actuator 有一套靈活的審計框架會發布事件到 AuditEventRepository。

2.0 更新

基礎路徑更新

基礎路徑由 / 調整到 /actuator 下

啓動端點 endpoint

默認只啓動了 health 和 info 端點,可以通過 application.yml 配置修改:

management:
    endpoints:
        web:
        exposure:
           include: health,info,env,metrics

項目啓動時可以看到暴露出來的接口信息:

 

主要的端點

HTTP方法 路徑 描述 鑑權
GET /autoconfig 查看自動配置的使用情況 true
GET /configprops 查看配置屬性,包括默認配置 true
GET /beans 查看bean及其關係列表 true
GET /dump 打印線程棧 true
GET /env 查看所有環境變量 true
GET /env/{name} 查看具體變量值 true
GET /health 查看應用健康指標 false
GET /info 查看應用信息 false
GET /mappings 查看所有url映射 true
GET /metrics 查看應用基本指標 true
GET /metrics/{name} 查看具體指標 true
POST /shutdown 關閉應用 true
GET /trace 查看基本追蹤信息 true

通過web訪問暴露的端點

https://localhost:8077/actuator/metrics

 

{"names":["jvm.memory.max","process.files.max","jvm.gc.memory.promoted","tomcat.cache.hit","system.load.average.1m","tomcat.cache.access","jvm.memory.used","jvm.gc.max.data.size","jvm.memory.committed","system.cpu.count","logback.events","tomcat.global.sent","jvm.buffer.memory.used","tomcat.sessions.created","jvm.threads.daemon","system.cpu.usage","jvm.gc.memory.allocated","tomcat.global.request.max","tomcat.global.request","tomcat.sessions.expired","jvm.threads.live","jvm.threads.peak","tomcat.global.received","process.uptime","tomcat.sessions.rejected","process.cpu.usage","tomcat.threads.config.max","jvm.classes.loaded","jvm.gc.pause","jvm.classes.unloaded","tomcat.global.error","tomcat.sessions.active.current","tomcat.sessions.alive.max","jvm.gc.live.data.size","tomcat.servlet.request.max","tomcat.threads.current","tomcat.servlet.request","process.files.open","jvm.buffer.count","jvm.buffer.total.capacity","tomcat.sessions.active.max","tomcat.threads.busy","process.start.time","tomcat.servlet.error"]}

https://localhost:8077/actuator/metrics/jvm.memory.max

 

{"name":"jvm.memory.max","measurements":[{"statistic":"VALUE","value":3.455057919E9}],"availableTags":[{"tag":"area","values":["heap","nonheap"]},{"tag":"id","values":["Compressed Class Space","PS Survivor Space","PS Old Gen","Metaspace","PS Eden Space","Code Cache"]}]}

Micrometer

Springboot2 在 spring-boot-actuator 中引入了 micrometer ,對 1.x 的 metrics 進行了重構,另外支持對接的監控系統也更加豐富( Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront )。

Prometheus

SpringBoot2.x中的Prometheus應用

Influx

添加依賴

<dependency>
    <groupid>io.micrometer</groupid>
    <artifactid>micrometer-registry-influx</artifactid>
</dependency>

二. JMX

在控制檯調用java內置的jconsole來實現JMX監控

打開cmd --> 輸入命令:jconsole --> 在jconsole彈出頁面選擇相應的進程 --> 點擊連接

 

三.SSH

spring boot 2.X棄用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章