一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - springboot 監控管理模塊搭建的方法

springboot 監控管理模塊搭建的方法

2021-04-16 11:56淺淺_淺默 JAVA教程

本篇文章主要介紹了springboot 監控管理模塊搭建的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

spring-actuator是spring-boot對應用監控的集成模塊,提供了我們對服務器進行監控的支持,使我們更直觀的獲取應用程序中加載的應用配置、環境變量、自動化配置報告等。

使用spring-actuator

1、引入maven依賴

?
1
2
3
4
5
<!-- 監控管理模塊 -->
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>

引入依賴后啟動項目即可。

項目啟動時會打印出我們所需的url

2018-03-26 23:19:00.169  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/env/{name:.*}],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvcendpoint.value(java.lang.string)
2018-03-26 23:19:00.169  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/env || /env.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.170  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/trace || /trace.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.170  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/dump || /dump.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.171  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/auditevents || /auditevents.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public org.springframework.http.responseentity<?> org.springframework.boot.actuate.endpoint.mvc.auditeventsmvcendpoint.findbyprincipalandafterandtype(java.lang.string,java.util.date,java.lang.string)
2018-03-26 23:19:00.171  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/mappings || /mappings.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.172  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/autoconfig || /autoconfig.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.173  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/metrics/{name:.*}],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.metricsmvcendpoint.value(java.lang.string)
2018-03-26 23:19:00.173  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/metrics || /metrics.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.173  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/pause || /pause.json],methods=[post]}" onto public java.lang.object org.springframework.cloud.endpoint.genericpostablemvcendpoint.invoke()
2018-03-26 23:19:00.174  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/service-registry/instance-status],methods=[post]}" onto public org.springframework.http.responseentity<?> org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.setstatus(java.lang.string)
2018-03-26 23:19:00.174  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/service-registry/instance-status],methods=[get]}" onto public org.springframework.http.responseentity org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.getstatus()
2018-03-26 23:19:00.175  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/loggers/{name:.*}],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoint.get(java.lang.string)
2018-03-26 23:19:00.175  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/loggers/{name:.*}],methods=[post],consumes=[application/vnd.spring-boot.actuator.v1+json || application/json],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoint.set(java.lang.string,java.util.map<java.lang.string, java.lang.string>)
2018-03-26 23:19:00.175  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/loggers || /loggers.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.176  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/heapdump || /heapdump.json],methods=[get],produces=[application/octet-stream]}" onto public void org.springframework.boot.actuate.endpoint.mvc.heapdumpmvcendpoint.invoke(boolean,javax.servlet.http.httpservletrequest,javax.servlet.http.httpservletresponse) throws java.io.ioexception,javax.servlet.servletexception
2018-03-26 23:19:00.176  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/refresh || /refresh.json],methods=[post]}" onto public java.lang.object org.springframework.cloud.endpoint.genericpostablemvcendpoint.invoke()
2018-03-26 23:19:00.177  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/resume || /resume.json],methods=[post]}" onto public java.lang.object org.springframework.cloud.endpoint.genericpostablemvcendpoint.invoke()
2018-03-26 23:19:00.178  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/configprops || /configprops.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.178  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/archaius || /archaius.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.179  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/health || /health.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.healthmvcendpoint.invoke(javax.servlet.http.httpservletrequest,java.security.principal)
2018-03-26 23:19:00.179  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/env],methods=[post]}" onto public java.lang.object org.springframework.cloud.context.environment.environmentmanagermvcendpoint.value(java.util.map<java.lang.string, java.lang.string>)
2018-03-26 23:19:00.179  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/env/reset],methods=[post]}" onto public java.util.map<java.lang.string, java.lang.object> org.springframework.cloud.context.environment.environmentmanagermvcendpoint.reset()
2018-03-26 23:19:00.179  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/features || /features.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.180  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/restart || /restart.json],methods=[post]}" onto public java.lang.object org.springframework.cloud.context.restart.restartmvcendpoint.invoke()
2018-03-26 23:19:00.181  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/entity || /entity.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.181  info 6148 --- [           main] o.s.b.a.e.mvc.endpointhandlermapping     : mapped "{[/info || /info.json],methods=[get],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}" onto public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke()
2018-03-26 23:19:00.193  info 6148 --- [           main] s.w.s.m.m.a.requestmappinghandlermapping : mapped "{[/error]}" onto public java.util.map<java.lang.string, java.lang.object> org.springframework.boot.actuate.endpoint.mvc.managementerrorendpoint.invoke()

2、yml配置文件的配置

(1)配置端口號和不啟用某功能模塊

?
1
2
3
4
5
6
7
8
#制定端口號,不制定則和該服務器server.port相同
management:
 port: 4321
#去掉某項不需要查看內容的功能,如不需要health
 health:
  mail:
  #false代表不啟用該功能
   enabled: false

上述配置表示配置的端口為http端口為4321 并且禁用 /health功能。

(2)修改映射路徑

?
1
2
3
4
#修改某配置的映射id的路徑
endpoints:
 beans:
  id: entity

上述配置表示將/beans獲取應用上下文創建bean的路徑改為/entity

(3)配置actuator安全配置

配置安全需要借助spring-security

引入依賴

?
1
2
3
4
5
<!-- 用于注冊中心訪問賬號認證 -->
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-security</artifactid>
    </dependency>

配置賬號密碼:

?
1
2
3
4
5
6
7
8
security:
 basic:
  #代表開啟賬號密碼認證
  enabled: true
  #配置賬號和密碼
 user:
  name: root
  password: 123

springboot 監控管理模塊搭建的方法

配置完賬號密碼后即可通過 http://127.0.0.1:4321進行訪問,并且輸入配置的賬號和密碼即可,輸入一次當瀏覽器不關閉時都有效。

(4)將展示報文顯示為json格式

json格式展示擁有更好的可讀性和美觀性

?
1
2
3
4
5
#將acyuator顯示的報文打印為json格式
spring:
 jackson:
  serialization:
   indent-output: true

將上述配置加至application.yml文件中即可

3、啟動類配置

?
1
2
3
4
5
6
7
8
@springbootapplication
@enableeurekaserver//此行注解代表為一個服務注冊組件,此注解僅適用于eureka
public class eurekaserverapplication {
 
  public static void main(string[] args) {
    springapplication.run(eurekaserverapplication.class, args);
  }
}

無須做配置即可運行

4、一些主要的配置模塊

 

http請求方式 路徑 描述
get /autoconfig 用于獲取應用的自動化配置信息
get /beans 用于獲取應用上下文創建的所有bean
get /configprops 獲取應用中配置的屬性信息報告
get /env 用于獲取應用所有可用的環境變量屬性報告
get /mappings 用于獲取所有springmvc的控制器映射關系報告
get /info 用于獲取應用自定義的信息

 

(1) /autoconfig

該配置下有兩個主節點。

positivematches :返回的是條件匹配成功的自動化配置信息

negativematches :返回的是條件匹配不成功的配置信息

(2) /beans

該配置文件用于展示由applicationcontext應用上下文加載的bean對象,包含以下幾個節點:

?
1
2
3
4
5
6
7
8
9
10
"context" : "bootstrap",
"parent" : null,
"beans" : [ {
 "bean" : "propertysourcebootstrapconfiguration",
 "aliases" : [ ],
 "scope" : "singleton",
 "type" : "org.springframework.cloud.bootstrap.config.propertysourcebootstrapconfiguration$$enhancerbyspringcglib$$82fdf928",
 "resource" : "null",
 "dependencies" : [ ]
}]

beans為應用上下文加載的類的集合,其包括以下幾個標簽:

  1)、bean : 應用上下文創建的bean的名稱

  2)、scope:創建的bean的作用域

singleton  : 單例 , 是spring默認的作用域

prototype : 每一次請求都會產生一個新的實例 ,相當于new的操作

request  : 每次http請求都會產生一個新的實例,當前bean只在同一個 httprequest中有效

session : 同一個httpsession中有效

  3)、type : 應用上下文管理bean的類型

為類的全限定類名

  4)、resource : class文件的具體路徑

  5)、dependencies : 依賴bean的名稱 ,即bean中有關聯關系bean的名稱

(3) /configprops : 獲取應用中配置的屬性信息報告

其下有兩個子節點

prefix : 代表屬性的配置前綴

properties : 代表各個屬性的名稱和值

(4) /env 用于獲取應用上下文的環境變量屬性報告,如環境變量、jvm屬性、應用的配置信息、命令行中的參數等。

  1)、server.ports 代表該應用配置的端口號

  2) 、systemproperties獲取的為應用的jvm等信息

(5) /mappings springmvc控制器映射的報告,

?
1
2
3
4
5
{
 "{[/error]}" : {
  "bean" : "requestmappinghandlermapping",
  "method" : "public org.springframework.http.responseentity<java.util.map<java.lang.string, java.lang.object>> org.springframework.boot.autoconfigure.web.basicerrorcontroller.error(javax.servlet.http.httpservletrequest)"
 }}

  1)  /error代表springmvc的映射路徑

  2)  /bean 代表用于處理器映射器映射的類

  3)  /method 代表映射類中的方法

(6)、info 用于獲取application.yml中配置的自定義配置信息

5、度量指標類的配置

度量指標提供的報告內容是動態變化的,提供了一些快照信息;如內存使用情況、http請求次數統計、外部資源指標統計等。
(1)、/metrics 返回當前應用的各類重要度量指標。有以下內容
  1)、系統信息: processors  ----  處理器數量

      instance.uptime  ------  運行時間 

      systemload.average  --系統平均負載 等。

  2) 、 men.* : 系統內存概要信息

  3)  、 heap.*  :堆內存使用情況

  4) 、 nonheap.* : 非堆內存使用情況

  5) 、 threads.*  : 線程使用情況

  6) 、 classess.*  : 類加載和卸載情況

  7) 、  gc.*  : 垃圾收集器的詳細信息

  8) 、 httpsession.*  : tomcat等容器的繪畫情況

  9) 、 guage.*  : 返回一個映射數值,如延遲時間等

  10) 、 conter.*  : 作為計數器使用,記錄了增加量與減少量

(2) /health :各類健康指標

如下述顯示了內存的一些信息. 

?
1
2
3
4
5
6
"diskspace" : {
 "status" : "up",
 "total" : 21475880960,
 "free" : 8916258816,
 "threshold" : 10485760
}

(3) /dump :用于暴露程序中的線程信息

threadname -- 暴露的線程名稱

threadid  --暴露的線程id 等等

(4) /trace :用于跟蹤基本的http信息

6、操作控制類配置

(1) /shutdowm 用于關閉該應用的遠程操作  --為post請求

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/zeryts/p/8654970.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成人免费看 | 91精品久久一区二区三区 | 免费国产之a视频 | 日韩成人av在线 | 久久嫩草影院网站 | 久久国产精品无码视欧美 | 午夜福利视频极品国产83 | luanlun绝对真实乱 | 天天夜夜草草久久伊人天堂 | 久久精选视频 | 欧美成人精品福利在线视频 | www.色呦呦.com | 免费日本视频 | 出a级黑粗大硬长爽猛视频 吃胸膜奶视频456 | 日本性漫画 | 奇米7777第四色 | 欧美一区二区三区在线观看不卡 | 国产在线看片护士免费视频 | 亚洲成aⅴ人片在线 | 青青在线视频免费 | 亚洲 日韩 国产 制服 在线 | 四虎影视在线观看2413 | 日本xxxxx18护士xxx | 久久综合中文字幕佐佐木希 | 亚洲乱人伦在线 | 亚洲AV人无码综合在线观看蜜桃 | 亚洲第一天堂网 | 性欧美高清理论片 | 妹妹骑上来蹭着蹭着就射了 | 美女被吸乳得到大胸 | 成年女人毛片免费观看中文w | 亚洲国产精品牛在线 | 日本一道一区二区免费看 | 99热在线免费观看 | 久久亚洲成a人片 | 欧美性高清另类videosex死尸 | 欧美亚洲桃花综合 | 欧美在线视频 一区二区 | x8x8在线永久免费观看 | 日本高免费观看在线播放 | 国产麻豆视频 |