1. 程式人生 > >SpringBoot之actuator

SpringBoot之actuator

在springBoot中整合actuator可以很方便的管理和監控應用的狀態。

暴露的Restful介面有:

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

其中有不少請求需要鑑權才能訪問,由於我們的應用基本都是在通過Nginx暴露給外網的,我們可以在配置檔案禁用鑑權攔截。

# 禁用actuator管理端鑑權
management.security.enabled=false
# 啟用shutdown   host:port/shutdown
endpoints.shutdown.enabled
=true # 禁用密碼驗證 endpoints.shutdown.sensitive=false

通過訪問http://IP:port/metrics可以得到類似如下資訊:

  1 {
  2     "mem": 372386,
  3     "mem.free": 129077,
  4     "processors": 4,
  5     "instance.uptime": 12149,
  6     "uptime": 20629,
  7     "systemload.average": -1.0,
  8     "heap.committed": 302080,
  9     "heap.init": 129024,
10 "heap.used": 173002, 11 "heap": 1807872, 12 "nonheap.committed": 72448, 13 "nonheap.init": 2496, 14 "nonheap.used": 70307, 15 "nonheap": 0, 16 "threads.peak": 57, 17 "threads.daemon": 53, 18 "threads.totalStarted": 64, 19 "threads": 55, 20 "classes": 9724, 21 "classes.loaded": 9724, 22 "classes.unloaded": 0, 23 "gc.ps_scavenge.count": 11, 24 "gc.ps_scavenge.time": 151, 25 "gc.ps_marksweep.count": 2, 26 "gc.ps_marksweep.time": 242, 27 "counter.servo.eurekaserver.replication.batchsize.count": 0, 28 "counter.servo.eurekaserver.replication.batchsize.totaltime": 0, 29 "gauge.servo.eurekaserver.replication.batchsize.stddev": 0.0, 30 "gauge.servo.eurekaserver.replication.batchsize.percentile_50": 0.0, 31 "gauge.servo.eurekaserver.replication.batchsize.percentile_95": 0.0, 32 "gauge.servo.eurekaserver.replication.batchsize.percentile_99": 0.0, 33 "gauge.servo.eurekaserver.replication.batchsize.percentile_99_50": 0.0, 34 "counter.servo.eurekaserver.replication.acceptedtasks": 0, 35 "counter.servo.eurekaserver.replication.replayedtasks": 0, 36 "counter.servo.eurekaserver.replication.expiredtasks": 0, 37 "counter.servo.eurekaserver.replication.overriddentasks": 0, 38 "counter.servo.eurekaserver.replication.queueoverflows": 0, 39 "gauge.servo.eurekaserver.replication.acceptorqueuesize": 0, 40 "gauge.servo.eurekaserver.replication.pendingjobrequests": 1, 41 "gauge.servo.eurekaserver.replication.availablejobs": 0, 42 "gauge.servo.eurekaserver.replication.reprocessqueuesize": 0, 43 "gauge.servo.eurekaserver.replication.queuesize": 0, 44 "counter.servo.count": 0, 45 "counter.servo.count-minus-replication": 0, 46 "counter.servo.eurekaserver.replication.executiontime.count": 0, 47 "counter.servo.eurekaserver.replication.executiontime.totaltime": 0, 48 "gauge.servo.eurekaserver.replication.executiontime.stddev": 0.0, 49 "gauge.servo.eurekaserver.replication.executiontime.percentile_50": 0.0, 50 "gauge.servo.eurekaserver.replication.executiontime.percentile_95": 0.0, 51 "gauge.servo.eurekaserver.replication.executiontime.percentile_99": 0.0, 52 "gauge.servo.eurekaserver.replication.executiontime.percentile_99_50": 0.0, 53 "counter.servo.eurekaserver.replication.numberofsuccessfulexecutions": 0, 54 "counter.servo.eurekaserver.replication.numberoftransienterrors": 0, 55 "counter.servo.eurekaserver.replication.numberofpermanenterrors": 0, 56 "normalized.servo.serialize-all.totaltime": 0.0, 57 "normalized.servo.serialize-all.count": 0.0, 58 "gauge.servo.serialize-all.min": 0.0, 59 "gauge.servo.serialize-all.max": 0.0, 60 "normalized.servo.serialize-all-delta.totaltime": 0.0, 61 "normalized.servo.serialize-all-delta.count": 0.0, 62 "gauge.servo.serialize-all-delta.min": 0.0, 63 "gauge.servo.serialize-all-delta.max": 0.0, 64 "normalized.servo.serialize-all_remote_region.totaltime": 0.0, 65 "normalized.servo.serialize-all_remote_region.count": 0.0, 66 "gauge.servo.serialize-all_remote_region.min": 0.0, 67 "gauge.servo.serialize-all_remote_region.max": 0.0, 68 "normalized.servo.serialize-all-delta_remote_region.totaltime": 0.0, 69 "normalized.servo.serialize-all-delta_remote_region.count": 0.0, 70 "gauge.servo.serialize-all-delta_remote_region.min": 0.0, 71 "gauge.servo.serialize-all-delta_remote_region.max": 0.0, 72 "normalized.servo.serialize-one.totaltime": 0.0, 73 "normalized.servo.serialize-one.count": 0.0, 74 "gauge.servo.serialize-one.min": 0.0, 75 "gauge.servo.serialize-one.max": 0.0, 76 "normalized.servo.serialize-one-vip.totaltime": 0.0, 77 "normalized.servo.serialize-one-vip.count": 0.0, 78 "gauge.servo.serialize-one-vip.min": 0.0, 79 "gauge.servo.serialize-one-vip.max": 0.0, 80 "normalized.servo.compress-payload.totaltime": 0.0, 81 "normalized.servo.compress-payload.count": 0.0, 82 "gauge.servo.compress-payload.min": 0.0, 83 "gauge.servo.compress-payload.max": 0.0, 84 "gauge.servo.responsecachesize": 0, 85 "counter.servo.discovery-peernodeclient-localhost_reuse": 0, 86 "counter.servo.discovery-peernodeclient-localhost_createnew": 0, 87 "counter.servo.discovery-peernodeclient-localhost_request": 0, 88 "counter.servo.discovery-peernodeclient-localhost_release": 0, 89 "counter.servo.discovery-peernodeclient-localhost_delete": 0, 90 "normalized.servo.discovery-peernodeclient-localhost_requestconnectiontimer.totaltime": 0.0, 91 "normalized.servo.discovery-peernodeclient-localhost_requestconnectiontimer.count": 0.0, 92 "gauge.servo.discovery-peernodeclient-localhost_requestconnectiontimer.min": 0.0, 93 "gauge.servo.discovery-peernodeclient-localhost_requestconnectiontimer.max": 0.0, 94 "normalized.servo.discovery-peernodeclient-localhost_createconnectiontimer.totaltime": 0.0, 95 "normalized.servo.discovery-peernodeclient-localhost_createconnectiontimer.count": 0.0, 96 "gauge.servo.discovery-peernodeclient-localhost_createconnectiontimer.min": 0.0, 97 "gauge.servo.discovery-peernodeclient-localhost_createconnectiontimer.max": 0.0, 98 "gauge.servo.connectioncount": 0, 99 "gauge.servo.localregistrysize": 0, 100 "gauge.servo.numofreplicationsinlastmin": 0, 101 "gauge.servo.isbelowrenewthreshold": 0, 102 "gauge.servo.numofrenewsinlastmin": 0, 103 "gauge.servo.numofrenewsperminthreshold": 1, 104 "gauge.servo.numofelementsininstancecache": 0, 105 "normalized.servo.eureka-connection-cleaner-time.totaltime": 0.0, 106 "normalized.servo.eureka-connection-cleaner-time.count": 0.0, 107 "gauge.servo.eureka-connection-cleaner-time.min": 0.0, 108 "gauge.servo.eureka-connection-cleaner-time.max": 0.0, 109 "counter.servo.eureka-connection-cleaner-failure": 0, 110 "httpsessions.max": -1, 111 "httpsessions.active": 0 112 }

如果只關心某部分引數可以使用:http://IP:port/metrics/mem來檢視特定引數的值

{"mem":373311}

相關推薦

SpringBoot Actuator.

一、Actuator 介紹     Actuator 是 SpringBoot 專案中一個非常強大一個功能,有助於對應用程式進行監視和管理,通過 restful api 請求來監管、審計、收集應用的執行情況。     Actuator 的核心是端點 Endpoint

SpringBootActuator監控和訪問401未經授權情況處理

一、簡介 Spring Boot提供了執行時的應用監控和管理的功能。我們可以通過http、JMX、SSH協議來進行操作。審計、健康及指標資訊將會自動得到。它就是:spring-boot-starter

SpringBootactuator

在springBoot中整合actuator可以很方便的管理和監控應用的狀態。 暴露的Restful介面有: HTTP方法路徑描述鑑權 GET /autoconfig 檢視自動配置的使用情況 true GET /configprops 檢視配置屬性,包括預設配置 true GET /bean

springboot【23】監控管理Actuator監控端點實踐

在傳統Spring應用中使用spring-boot-actuator模組提供監控端點 在Spring Boot應用中,我們只需要簡單的引入spring-boot-starter-actuator依賴就能為應用新增各種有用的監控端點。其中,/health端點能夠全面檢

springboot【24】監控管理Actuator的/info端點輸出Git版本資訊

         springboot的Actuator模組中有個特殊端點/info除了描述應用資訊之外,也還可以用來描述Git版本資訊,並且整合方法非常簡單,下面我們就來看看如何使用/info端點暴露當前應用的Git版本資訊。 POM配置 首先,我們可以挑選任意一個Sp

SpringBoot四大神器Actuator

", java.vm.name: "Java HotSpot(TM) 64-Bit Server VM", file.encoding.pkg: "sun.io", user.country: "CN", sun.java.launcher: "SUN_STAN

系統監控-SpringBoot四大神器Actuator

1. 為什麼要使用Actuator來監控SpringBoot專案? 首先之前部落格提到過使用JDK自帶的JVM監控工具、Psi-

SpringBoot第二十二篇:應用監控Actuator

作者:追夢1819 原文:https://www.cnblogs.com/yanfei1819/p/11226397.html 版權宣告:本文為博主原創文章,轉載請附上博文連結! 引言   很多文章都將 SpringBoot Actuator 的 Endpoint 翻譯為 "端點"。不過

初學SpringBoot

containe web ram cli compress 刷新 app use ping 原文教程鏈接在此http://blog.csdn.net/lxhjh/article/details/51752419。 使用了org.slf4j.Logger和org.slf4j.

springboot HelloController

mapping () mave 文件 code app ring hello 添加jar包 1、搭建環境   1.1 新建一個maven項目,一路下一步   1.2 打開pom 文件,首先增加<parent></parent>標簽: <p

springboot Spring Web Mvc Framework

fig ftl pathvaria nts bean ddr got del view 1、SpringMvc自動配置 Spring Boot 為SpringMvc提供了自動配置。 自動配置包含Spring的以下特征: (1)視圖解析器ContentNegotiatingV

Springboot 自定義配置文件及讀取配置文件

ebo hello path host 目錄 tps pre 示例 control 本文章來自【知識林】 讀取核心配置文件 核心配置文件是指在resources根目錄下的application.properties或application.yml配置文件,讀取這兩個配置文件

Eclipse搭建SpringBootHelloWorld

nbsp xml文件 blank itl depend ips autoconf pack bin 你的eclipse需要先安裝 Spring Tool Suite? 首先新建Maven工程 勾選第一個按鈕,第三個是選擇working set ,你可以不選 下一步,配

SpringBoot旅 -- 定時任務兩種(Spring Schedule 與 Quartz 整合 )實現

目的 config object cnblogs java title cor 進行 eat 相關文章 Spring Boot 相關文章目錄 前言 最近在項目中使用到定時任務,之前一直都是使用Quartz 來實現,最近看Spring 基礎發現其實Spring 提供

springBoot配置文件的讀取以及過濾器和攔截器的使用

boolean nco 定義 www cheng handle mod HR out 前言 在之前的學習springBoot中,成功的實現了Restful風格的基本服務。但是想將之前的工程作為一個項目來說,那些是僅僅不夠的。可能還需要獲取自定義的配置以及添加過濾器和攔截器。

SpringBoot配置google kaptcha

back put 是否 [] produce 邊框 驗證 servlet ray 項目中引入POM: <dependency> <groupId>com.google.code.kaptcha</groupId> <

SpringBoot集成Spring AOP

切面 pen ogl rac return owa collect web ali SpringBoot集成ApringAOP步驟如下: 1.導包 <dependency> <groupId>org.s

SpringBoot表單驗證@Valid

BE index ror ner HR 大小 doctype implement 空格 SpringBoot提供了強大的表單驗證功能實現,給我們省去了寫驗證的麻煩; 這裏我們給下實例,提交一個有姓名和年齡的表單添加功能, 要求姓名不能為空,年齡必須是不小於18 ; 我們先新

springbootdocker啟動參數傳遞

pom clas java_opts 網上 參數傳遞 朋友 就是 oracl slim 這幾天有網友問,如何在使用docker的情況下傳遞spring.profiles.active=test,也就是說springboot切換配置文件。以往我們直接通過java啟動jar的時

springboot啟動原理解析

tor 支持 告訴 定制 root init listen 執行流程 config 本文轉載自:https://www.cnblogs.com/shamo89/p/8184960.html 前言 SpringBoot為我們做的自動配置,確實方便快捷,但是對於新手來說,如