毕业设计都是做网站吗,1免费做网站,免费做微商代理,汕头制作手机网站目录前言任何一个服务如果没有监控#xff0c;那就是两眼一抹黑#xff0c;无法知道当前服务的运行情况#xff0c;也就无法对可能出现的异常状况进行很好的处理#xff0c;所以对任意一个服务来说#xff0c;监控都是必不可少的。就目前而言#xff0c;大部分微服务应用…目录前言任何一个服务如果没有监控那就是两眼一抹黑无法知道当前服务的运行情况也就无法对可能出现的异常状况进行很好的处理所以对任意一个服务来说监控都是必不可少的。就目前而言大部分微服务应用都是基于 SpringBoot 来构建所以了解 SpringBoot 的监控特性是非常有必要的而 SpringBoot 也提供了一些特性来帮助我们监控应用。本文基于 SpringBoot 2.3.1.RELEASE 版本演示。SpringBoot 监控SpringBoot 中的监控可以分为 HTTP 端点和 JMX 两种方式来监控当前应用的运行状况和指标收集HTTP Endpoints 监控执行器端点允许您监视应用程序并与之交互。SpringBoot 包括许多内置的端点并允许我们添加自己的端点。可以通过 HTTP 或 JMX 启用或禁用每个端点并公开(使其可以远程访问)。每个端点都有一个唯一的 id访问时可以通过如下地址进行访问http:ip:port/{id}(SpringBoot 1.x )而在 SpringBoot 2.x 版本中默认新增了一个 /actuator 作为基本路访问地址则对应为 :http:ip:port/actuator/{id}。使用 HTTP 监控非常简单在 SpringBoot 项目中引入如下依赖org.springframework.bootspring-boot-starter-actuator默认就可以通过地址 http:localhost:8080/actuator/health访问之后得到如下结果SpringBoot 中提供了非常多的默认端点监控但是出于安全考虑默认情况下有些端点并不是开启状态如 shutdown 端点就是默认关闭的。内置端点SpringBoot 中默认提供的常用内置端点如下端点 id描述auditevents公开当前应用程序的审计事件信息需要 AuditEventRepository Bean。beans展示程序中所有的 Bean。caches公开可用的缓存。conditions展示配置类或者自动装配类中的条件以及它们匹配或者不匹配的原因。configprops显示所有 ConfigurationProperties 中的配置属性。env显示 ConfigurableEnvironment 中的所有环境。health显示应用程序运行状况信息。httptrace显示 HTTP 跟踪信息(默认情况下统计最近 100 次请求)需要 HttpTraceRepository Bean。info显示任意程序信息。integrationgraph显示 Spring 集成图需要依赖 spring-integration-core。loggers展示和修改应用中的 loggers 配置。metrics展示当前应用监控指标的度量。mappings展示所有 RequestMapping 路径。scheduledtasks展示应用中的所有定时任务信息。sessions允许从 Spring 会话支持的会话存储中检索和删除用户会话。需要使用基于 Spring Session web应用程序。shutdown优雅的关闭程序默认禁止了该端点的访问。虽然说这里的大部分端点都是默认开启的但是默认暴露(允许对外访问)的只有 health 和 info 端点所以如果需要允许端点对外暴露可以通过如下配置(如果想要暴露所有的端点则可以直接配置 * )management:endpoints:web:exposure:include: [health,info,mappings] //或者直接配置 *另外开启或禁用某一个端点也可以通过通过如下配置进行动态控制management.endpoint..enabledtrue接下来我们挑选几个重点的端点来介绍一下。health 端点health 断点默认只是展示当前应用健康信息但是我