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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成神之路

分布式_事务_02_2PC框架raincat源码解析

上一节已经将raincat demo工程运行起来了,这一节来分析下raincat的源码

1731
来自专栏ccylovehs

利用HttpURLConnection发送请求

每个 HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 HttpURLConn...

1223
来自专栏小樱的经验随笔

自己手动复现一个熊猫烧香病毒

最近逛了一下 bilibili ,偶然的一次机会,我在 bilibili 上看到了某个 up 主分享了一个他自己仿照熊猫病毒的原型制作的一个病毒的演示视频,虽然...

4172
来自专栏各种机器学习基础算法

laravel5.4上传EXCEL并解析

首先,通过composer引入Laravel Excel v2.1库 composer require maatwebsite/excel ~2.1.0 将Se...

34412
来自专栏Java与Android技术栈

Android App安全防范措施的小结

关闭打印的日志,防止日志中的调试信息被看到。如果在网络框架中使用了日志,那就更加需要关闭了。

1032
来自专栏小尘哥的专栏

小程序(3):授权登录

判断是否授权,如果没有,则显示授权按钮。注意上面的open-type="getUserInfo",这个会自动调起授权框。看一下js

1304
来自专栏Android 研究

APK安装流程详解2——PackageManager简介

俗话说的好,得中原者,得天下,那么想要了解Android的安装了流程就不得不提及一个重要的类"PackageManager"我们就先来了解这两个类

2113
来自专栏后端之路

生产环境频繁被自动退出

最近发现一个奇怪的现象,用户登录的时候总是提示 ? 本以为只是正常偶发,突然最近日志 check了一下登录请求发现如下 192.168.1.170 - - [...

28110
来自专栏马洪彪

Java生成条码二维码

一、概述 可用barcode4j或zxing等第三方库,推荐zxing。 barcode4j资料链接:http://barcode4j.sourceforge....

4628
来自专栏Kirito的技术分享

Spring Security(六)—SpringSecurityFilterChain加载流程深度解析

SpringSecurityFilterChain 作为 SpringSecurity 的核心过滤器链在整个认证授权过程中起着举足轻重的地位,每个请求到来,都会...

4893

扫码关注云+社区