springboot Actuator

时间:2022-05-04
本文章向大家介绍springboot Actuator,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

springboot Actuator只需要加入依赖即可使用:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

application.properties 中可以加入以下配置:

# false,表示不敏感,可以随意访问,否则就是做了一些保护,不能随意访问。
endpoints.mappings.sensitive=false
# 敏感方法默认是需要用户拥有ACTUATOR角色,因此,也可以设置关闭安全限制
management.security.enabled=false

# /shutdown这个需要post方式,通过请求来关闭应用。
# 这个操作比较敏感,要想真正生效,需要以下配置:
endpoints.shutdown.enabled=true

# 自定义系统的info信息
info.name=spring boot Application
info.author.name=yawn
info.author.email=com.***n@qq.com
info.date=2017-10-11 16:12

现在在启动应用后,就可以对应用进行监控了,访问以下url

ID

描述

Sensitive

autoconfig

显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因

true

beans

显示一个应用中所有Spring Beans的完整列表

true

configprops

显示一个所有@ConfigurationProperties的整理列表

true

dump

执行一个线程转储

true

env

暴露来自Spring ConfigurableEnvironment的属性

true

health

展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情)

false

info

显示任意的应用信息

false

metrics

展示当前应用的’指标’信息

true

mappings

显示一个所有@RequestMapping路径的整理列表

true

shutdown

允许应用以优雅的方式关闭(默认情况下不启用)

true

trace

显示trace信息(默认为最新的一些HTTP请求)

true

http://localhost:8082/info

{
	"name": "spring boot Application",
	"date": "2017-10-11 16:12",
	"author": {
		"name": "yawn",
		"email": "com.***n@qq.com"
	}
}

http://localhost:8082/mappings

{
	"/index": {
		"bean": "viewControllerHandlerMapping"
	},
	"/403": {
		"bean": "viewControllerHandlerMapping"
	},
	"/jsp": {
		"bean": "viewControllerHandlerMapping"
	},
	"/static/**": {
		"bean": "resourceHandlerMapping"
	},
	"/templates/jsp/**": {
		"bean": "resourceHandlerMapping"
	},
	"/**": {
		"bean": "defaultServletHandlerMapping"
	},
	"{[/test]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test(org.springframework.ui.Model)"
	},
	"{[/test2]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test2()"
	},
	"{[/test3]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test3(org.springframework.ui.Model)"
	},
	"{[/test4]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test4(com.example.demo.entity.TestEntity,com.example.demo.entity.Person)"
	},
	"{[/test5]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test5()"
	},
	"{[/login],methods=[POST]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test5(java.lang.String,java.lang.String,javax.servlet.http.HttpSession)"
	},
	"{[/test6]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test6()"
	},
	"{[/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)"
	},
	"{[/error],produces=[text/html]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"
	},
	"{[/loggers/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get(java.lang.String)"
	},
	"{[/loggers/{name:.*}],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v1+json || application/json],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set(java.lang.String,java.util.Map<java.lang.String, java.lang.String>)"
	},
	"{[/loggers || /loggers.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/beans || /beans.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/configprops || /configprops.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/shutdown || /shutdown.json],methods=[POST],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.ShutdownMvcEndpoint.invoke()"
	},
	"{[/metrics/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)"
	},
	"{[/metrics || /metrics.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/env/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)"
	},
	"{[/env || /env.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}": {
		"bean": "endpointHandlerMapping",
		"method": "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"
	},
	"{[/dump || /dump.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/trace || /trace.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/health || /health.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(javax.servlet.http.HttpServletRequest,java.security.Principal)"
	},
	"{[/auditevents || /auditevents.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public org.springframework.http.ResponseEntity<?> org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType(java.lang.String,java.util.Date,java.lang.String)"
	},
	"{[/info || /info.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/mappings || /mappings.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	}
}

http://localhost:8082/configprops (查看我们配置了的以及默认配置的属性,也可以看出我们还可以配置哪些属性)

{
	"endpoints-org.springframework.boot.actuate.endpoint.EndpointProperties": {
		"prefix": "endpoints",
		"properties": {
			"enabled": true,
			"sensitive": null
		}
	},
	"management.info-org.springframework.boot.actuate.autoconfigure.InfoContributorProperties": {
		"prefix": "management.info",
		"properties": {
			"git": {
				"mode": "SIMPLE"
			}
		}
	},
	"metricsEndpoint": {
		"prefix": "endpoints.metrics",
		"properties": {
			"id": "metrics",
			"sensitive": true,
			"enabled": true
		}
	},
	"spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties": {
		"prefix": "spring.jackson",
		"properties": {
			"serialization": {},
			"propertyNamingStrategy": null,
			"defaultPropertyInclusion": null,
			"parser": {},
			"dateFormat": null,
			"deserialization": {},
			"generator": {},
			"timeZone": null,
			"mapper": {},
			"locale": null,
			"jodaDateTimeFormat": null
		}
	},
	"heapdumpMvcEndpoint": {
		"prefix": "endpoints.heapdump",
		"properties": {
			"path": "/heapdump",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.cors-org.springframework.boot.actuate.autoconfigure.EndpointCorsProperties": {
		"prefix": "endpoints.cors",
		"properties": {
			"allowedOrigins": [],
			"maxAge": 1800,
			"exposedHeaders": [],
			"allowedHeaders": [],
			"allowedMethods": [],
			"allowCredentials": null
		}
	},
	"environmentMvcEndpoint": {
		"prefix": "endpoints.env",
		"properties": {
			"path": "/env"
		}
	},
	"environmentEndpoint": {
		"prefix": "endpoints.env",
		"properties": {
			"id": "env",
			"sensitive": true,
			"enabled": true
		}
	},
	"spring.http.multipart-org.springframework.boot.autoconfigure.web.MultipartProperties": {
		"prefix": "spring.http.multipart",
		"properties": {
			"maxRequestSize": "10MB",
			"fileSizeThreshold": "0",
			"location": null,
			"maxFileSize": "1MB",
			"enabled": true,
			"resolveLazily": false
		}
	},
	"spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties": {
		"prefix": "spring.info",
		"properties": {
			"build": {
				"location": {}
			},
			"git": {
				"location": {}
			}
		}
	},
	"auditEventsEndpoint": {
		"prefix": "endpoints.auditevents",
		"properties": {
			"enabled": true
		}
	},
	"traceEndpoint": {
		"prefix": "endpoints.trace",
		"properties": {
			"id": "trace",
			"sensitive": true,
			"enabled": true
		}
	},
	"metricsMvcEndpoint": {
		"prefix": "endpoints.metrics",
		"properties": {
			"path": "/metrics"
		}
	},
	"infoEndpoint": {
		"prefix": "endpoints.info",
		"properties": {
			"id": "info",
			"sensitive": false,
			"enabled": true
		}
	},
	"auditEventMvcEndpoint": {
		"prefix": "endpoints.auditevents",
		"properties": {
			"path": "/auditevents",
			"sensitive": true,
			"enabled": true
		}
	},
	"management.trace-org.springframework.boot.actuate.trace.TraceProperties": {
		"prefix": "management.trace",
		"properties": {
			"include": [
				"RESPONSE_HEADERS",
				"COOKIES",
				"REQUEST_HEADERS",
				"ERRORS",
				"TIME_TAKEN"
			]
		}
	},
	"spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties": {
		"prefix": "spring.resources",
		"properties": {
			"cachePeriod": null,
			"addMappings": true,
			"chain": {
				"cache": true,
				"htmlApplicationCache": false,
				"gzipped": false,
				"strategy": {
					"fixed": {
						"enabled": false,
						"paths": [
							"/**"
						],
						"version": null
					},
					"content": {
						"enabled": false,
						"paths": [
							"/**"
						]
					}
				}
			},
			"staticLocations": [
				"/",
				"classpath:/META-INF/resources/",
				"classpath:/resources/",
				"classpath:/static/",
				"classpath:/public/"
			]
		}
	},
	"management.health.status-org.springframework.boot.actuate.autoconfigure.HealthIndicatorProperties": {
		"prefix": "management.health.status",
		"properties": {
			"order": null
		}
	},
	"healthMvcEndpoint": {
		"prefix": "endpoints.health",
		"properties": {
			"path": "/health"
		}
	},
	"serverProperties": {
		"prefix": "server",
		"properties": {
			"contextParameters": {},
			"address": null,
			"maxHttpPostSize": 0,
			"undertow": {
				"maxHttpPostSize": 0,
				"bufferSize": null,
				"buffersPerRegion": null,
				"ioThreads": null,
				"workerThreads": null,
				"directBuffers": null,
				"accesslog": {
					"enabled": null,
					"pattern": "common",
					"prefix": "access_log.",
					"suffix": "log",
					"dir": "D:\ideaProject\demo3\logs",
					"rotate": true
				}
			},
			"tomcat": {
				"accesslog": {
					"enabled": false,
					"pattern": "common",
					"directory": "logs",
					"prefix": "access_log",
					"suffix": ".log",
					"rotate": true,
					"renameOnRotate": false,
					"fileDateFormat": ".yyyy-MM-dd",
					"requestAttributesEnabled": false,
					"buffered": true
				},
				"internalProxies": "10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}",
				"protocolHeader": null,
				"protocolHeaderHttpsValue": "https",
				"portHeader": "X-Forwarded-Port",
				"remoteIpHeader": null,
				"basedir": null,
				"backgroundProcessorDelay": 30,
				"maxThreads": 0,
				"minSpareThreads": 0,
				"maxHttpPostSize": 0,
				"redirectContextRoot": null,
				"uriEncoding": null,
				"maxConnections": 0,
				"acceptCount": 0,
				"additionalTldSkipPatterns": []
			},
			"displayName": "application",
			"session": {
				"timeout": null,
				"trackingModes": null,
				"persistent": false,
				"storeDir": null,
				"cookie": {
					"name": null,
					"domain": null,
					"path": null,
					"comment": null,
					"httpOnly": null,
					"secure": null,
					"maxAge": null
				}
			},
			"contextPath": null,
			"error": {
				"path": "/error",
				"includeStacktrace": "NEVER"
			},
			"ssl": null,
			"serverHeader": null,
			"useForwardHeaders": null,
			"port": 8082,
			"maxHttpHeaderSize": 0,
			"servletPath": "/",
			"jspServlet": null,
			"jetty": {
				"maxHttpPostSize": 0,
				"acceptors": null,
				"selectors": null
			},
			"connectionTimeout": null
		}
	},
	"spring.metrics.export-org.springframework.boot.actuate.metrics.export.MetricExportProperties": {
		"prefix": "spring.metrics.export",
		"properties": {
			"excludes": null,
			"statsd": {
				"host": null,
				"port": 8125,
				"prefix": null
			},
			"includes": null,
			"triggers": {},
			"enabled": true,
			"redis": {
				"prefix": "spring.metrics.application.134b1d0d4b1f3ea2a2fc4a26eb94e90b",
				"key": "******"
			},
			"aggregate": {
				"prefix": "application.134b1d0d4b1f3ea2a2fc4a26eb94e90b",
				"keyPattern": "k.d"
			}
		}
	},
	"configurationPropertiesReportEndpoint": {
		"prefix": "endpoints.configprops",
		"properties": {
			"id": "configprops",
			"sensitive": true,
			"enabled": true
		}
	},
	"healthEndpoint": {
		"prefix": "endpoints.health",
		"properties": {
			"timeToLive": 1000,
			"id": "health",
			"sensitive": false,
			"enabled": true
		}
	},
	"loggersMvcEndpoint": {
		"prefix": "endpoints.loggers",
		"properties": {
			"path": "/loggers"
		}
	},
	"loggersEndpoint": {
		"prefix": "endpoints.loggers",
		"properties": {
			"id": "loggers",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.metrics.filter-org.springframework.boot.actuate.autoconfigure.MetricFilterProperties": {
		"prefix": "endpoints.metrics.filter",
		"properties": {
			"counterSubmissions": [
				"MERGED"
			],
			"gaugeSubmissions": [
				"MERGED"
			]
		}
	},
	"spring.thymeleaf-org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties": {
		"prefix": "spring.thymeleaf",
		"properties": {
			"excludedViewNames": null,
			"cache": false,
			"checkTemplate": true,
			"prefix": "classpath:/templates/",
			"viewNames": null,
			"suffix": ".html",
			"encoding": "UTF-8",
			"enabled": true,
			"mode": "HTML5",
			"checkTemplateLocation": true,
			"templateResolverOrder": null,
			"contentType": {
				"parameters": {}
			}
		}
	},
	"dumpEndpoint": {
		"prefix": "endpoints.dump",
		"properties": {
			"id": "dump",
			"sensitive": true,
			"enabled": true
		}
	},
	"autoConfigurationReportEndpoint": {
		"prefix": "endpoints.autoconfig",
		"properties": {
			"id": "autoconfig",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.jmx-org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportProperties": {
		"prefix": "endpoints.jmx",
		"properties": {
			"uniqueNames": false,
			"staticNames": {},
			"enabled": true,
			"domain": ""
		}
	},
	"spring.http.encoding-org.springframework.boot.autoconfigure.web.HttpEncodingProperties": {
		"prefix": "spring.http.encoding",
		"properties": {
			"charset": "UTF-8",
			"force": false,
			"mapping": null,
			"forceRequest": false,
			"forceResponse": false
		}
	},
	"shutdownEndpoint": {
		"prefix": "endpoints.shutdown",
		"properties": {
			"id": "shutdown",
			"sensitive": true,
			"enabled": true
		}
	},
	"beansEndpoint": {
		"prefix": "endpoints.beans",
		"properties": {
			"id": "beans",
			"sensitive": true,
			"enabled": true
		}
	},
	"managementServerProperties": {
		"prefix": "management",
		"properties": {
			"security": {
				"enabled": false,
				"roles": [
					"ACTUATOR"
				],
				"sessions": "STATELESS"
			},
			"address": null,
			"port": null,
			"addApplicationContextHeader": true,
			"contextPath": "",
			"ssl": null
		}
	},
	"requestMappingEndpoint": {
		"prefix": "endpoints.mappings",
		"properties": {
			"id": "mappings",
			"sensitive": false,
			"enabled": true
		}
	},
	"endpoints.health-org.springframework.boot.actuate.autoconfigure.HealthMvcEndpointProperties": {
		"prefix": "endpoints.health",
		"properties": {
			"mapping": {}
		}
	},
	"shutdownMvcEndpoint": {
		"prefix": "endpoints.shutdown",
		"properties": {
			"path": "/shutdown"
		}
	},
	"spring.mvc-org.springframework.boot.autoconfigure.web.WebMvcProperties": {
		"prefix": "spring.mvc",
		"properties": {
			"dateFormat": null,
			"servlet": {
				"loadOnStartup": -1
			},
			"staticPathPattern": "/**",
			"dispatchOptionsRequest": true,
			"dispatchTraceRequest": false,
			"locale": null,
			"ignoreDefaultModelOnRedirect": true,
			"logResolvedException": false,
			"async": {
				"requestTimeout": null
			},
			"messageCodesResolverFormat": null,
			"mediaTypes": {},
			"view": {
				"prefix": null,
				"suffix": null
			},
			"localeResolver": "ACCEPT_HEADER",
			"throwExceptionIfNoHandlerFound": false
		}
	},
	"diskSpaceHealthIndicatorProperties": {
		"prefix": "management.health.diskspace",
		"properties": {
			"path": "D:\ideaProject\demo3\.",
			"threshold": 10485760
		}
	}
}

http://localhost:8082/trace

[
	{
		"timestamp": 1507710930293,
		"info": {
			"method": "GET",
			"path": "/env",
			"headers": {
				"request": {
					"host": "localhost:8082",
					"connection": "keep-alive",
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
					"content-type": "application/json",
					"accept": "*/*",
					"accept-encoding": "gzip, deflate, br",
					"accept-language": "zh-CN,zh;q=0.8",
					"cookie": "optimizelyEndUserId=oeu1506501248024r0.08055419825898946; _ga=GA1.1.670033975.1498201816; _gid=GA1.1.333206455.1507599805; JSESSIONID=228C035661689BDEEAFA98C77794E3DC; defaultDoorMap=%7B%22buildingId%22%3A%22root%22%2C%22id%22%3A%2210006%22%7D; showTopTab=%5B%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22alarmSite%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22doorControl.monitor%22%2C%22tabName%22%3A%22%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%5D"
				},
				"response": {
					"X-Application-Context": "application:8082",
					"Content-Type": "application/vnd.spring-boot.actuator.v1+json;charset=UTF-8",
					"Transfer-Encoding": "chunked",
					"Date": "Wed, 11 Oct 2017 08:35:30 GMT",
					"status": "200"
				}
			},
			"timeTaken": "6"
		}
	},
	{
		"timestamp": 1507710923743,
		"info": {
			"method": "POST",
			"path": "/env",
			"headers": {
				"request": {
					"host": "localhost:8082",
					"connection": "keep-alive",
					"content-length": "2",
					"origin": "null",
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
					"content-type": "application/json",
					"accept": "*/*",
					"accept-encoding": "gzip, deflate, br",
					"accept-language": "zh-CN,zh;q=0.8",
					"cookie": "optimizelyEndUserId=oeu1506501248024r0.08055419825898946; _ga=GA1.1.670033975.1498201816; _gid=GA1.1.333206455.1507599805; JSESSIONID=228C035661689BDEEAFA98C77794E3DC; defaultDoorMap=%7B%22buildingId%22%3A%22root%22%2C%22id%22%3A%2210006%22%7D; showTopTab=%5B%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22alarmSite%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22doorControl.monitor%22%2C%22tabName%22%3A%22%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%5D"
				},
				"response": {
					"X-Application-Context": "application:8082",
					"Allow": "GET",
					"status": "405"
				}
			},
			"timeTaken": "4"
		}
	}
]

http://localhost:8082/env

http://localhost:8082/beans