对于一个微服务,需要监控的信息很多,每个微服务是一个微型独立的服务,麻雀虽小,五脏俱全,从UI到DB; 而一个复杂的系统可能涉及到上百个服务节点部署,所以掌控一个微服务的健康指标、环境配置、服务配置...、请求映射、springbean、请求trace信息、日志信息,Rest Api服务是相当有必要的; 作为应用管理人员,可以通过监控平台查看各个节点实例的运行状态,包括数据库连接信息、服务调用、逻辑流或者页面流的调用情况及执行时长...Actuator监控分成两类:原生端点和用户自定义端点;自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。...原生端点又可以分成三类: 应用配置类:可以查看应用在运行期的静态信息:例如自动配置信息、加载的springbean信息、yml文件配置信息、环境信息、请求映射信息; 度量指标类:主要是运行期的动态信息,...然后在集成Swagger-ui,将Json信息可视化展示出来。 Swagger支持Spring 原生的注解,加入一些简单的依赖和配置,Controller层代码就可以自动生成api json数据。
Spring Boot Actuator简介 Spring Boot作为构建微服务节点的方案,一定要提供全面而且细致的监控指标,使微服务更易于管理!...Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用、Bean加载情况、环境变量、日志信息、...这些监控系统提供了出色的仪表板,图形,分析和警报,可帮助你通过一个统一友好的界面,监视和管理你的应用程序。...、环境变量信息、请求接口关系映射信息等; 动态指标类:主要用于展现程序运行期状态,例如内存堆栈信息、请求链信息、健康指标信息等; 操作控制类:主要是shutdown功能,用户可以远程发送HTTP请求...,所以界面上没有相关的展示信息。
一、监控管理 通过引入 spring-boot-starter-actuator,可以使用 Spring Boot 为我们提供的准生产环境下的应用监控和管理功能。...我们可以通过 HTTP, JMX, SSH 协议来进行操作,自动得到审计、健康及指标信息等 。...20201006202841.png 因为 actuator 默认只支持端点 /health、/info 所以访问 /env 会出现 404 页面。...监控点和管理端点 端点名 描述 autoconfig 所有自动配置信息 auditevents 审计事件 beans 所有 Bean 的信息 configprops 所有配置属性 dump 线程状态信息...env 当前环境信息 health 应用健康状况 info 当前应用信息 metrics 应用的各项指标 mappings 应用@RequestMapping 映射路径 shutdown 关闭当前应用
从下面该端点返回的示例片段中,可以看到它不仅返回了应用的配置属性,还返回了系统属性、环境变量等丰富的配置信息,其中还包括了应用还没有使用的配置,所以它可以帮助我们方便地看到当前应用可以加载的配置信息,并配合.../mappings:该端点用来返回所有Spring MVC 的控制器映射关系报告。...从下面的示例片段中,我们可以看到该报告的信息与我们在启用Spring MVC的Web应用时输出的日志信息类似,其中bean属性标识了该映射关系的请求处理器,method属性标识了该映射关系的具体处理类和处理函数...2.2 度量指标类 上面我们所介绍的应用配置端点类所提供的信息报告在应用启动的是否就已经基本确定了其返回内容,可以说是一个静态报告。...下面,我们就来看看这些强大的端点功能。 metrics:该端点用来返回当前应用的各类重要度量指标,比如内存信息、线程信息、垃圾回收信息等。
Actuator 的 REST 接口 Actuator监控分成两类:原生端点和用户自定义端点;自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。...原生端点又可以分成三类: 应用配置类:可以查看应用在运行期的静态信息:例如自动配置信息、加载的springbean信息、yml文件配置信息、环境信息、请求映射信息; 度量指标类:主要是运行期的动态信息,...Actuator端点)的映射关系 GET /metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数 GET /metrics/{name} 报告指定名称的应用程序度量值 POST /shutdown...: { "app": { "name": "spring-boot-actuator", "version": "1.0.0" }} mappings 描述全部的URI路径,以及它们和控制器的映射关系...这就是为什么你经常会看到 counter.status.404.star-star,这是返回了HTTP 404 (NOT FOUND) 状态的请求数。
度量指标类: 主要用来获取应用程序运行过程中用于监控的度量指标,比如内存信息、线程池信息、HTTP 请求统计等。...根据 Spring Boot Actuator 默认提供的端点列表,我们将部分常见端点的类型、路径和描述梳理在如下表格中,仅供参考。 ?...那有没有什么办法可以获取更详细的状态信息呢? 我们只需要在配置文件中添加如下所示的配置项即可。...---- 如何在现有的监控端点上添加定制化功能 如果 Spring Boot Actuator 默认提供的端点信息不能满足业务需求,我们可以对其进行修改和扩展。...系统监控的一大目标是收集和分析系统运行时的度量指标,并基于这些指标判断当前的运行时状态。 ?
Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans以及一些环境属性等。...Security依赖,可以选择不加,不进行安全管理,但不建议这么做。...Actuator 的 REST 接口 Actuator监控分成两类:原生端点和用户自定义端点;自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。...原生端点又可以分成三类: 应用配置类:可以查看应用在运行期的静态信息:例如自动配置信息、加载的springbean信息、yml文件配置信息、环境信息、请求映射信息; 度量指标类:主要是运行期的动态信息,...Actuator端点)的映射关系 GET /metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数 GET /metrics/{name} 报告指定名称的应用程序度量值 POST /shutdown
在实际的软件开发中还需要:应用程序的监控和管理。SpringBoot的Actuator模块实现了应用的监控与管理。...Actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等来管理和监控应用。...该端点可以帮助我们方便的找到一些自动化配置为什么没有生效的具体原因。.../mappings:该端点用来返回所有SpringMVC的控制器映射关系报告。...这些端点对于构建微服务架构中的监控系统非常有帮助。 /metrics:该端点用来返回当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息等。
这个功能和 https://start.spring.io/ 提供的是同一个功能,方便快速搭建 Spring Boot 项目脚手架。...> actuator 监控 Spring Boot 提供了一个用于监控和管理自身应用信息的模块,它就是 spring-boot-starter-actuator。...下图所示的这些信息是 Actuator 模块提供的端点信息,具体如表 2 所示,通过访问这些端点我们可以得到很多监控信息。...,还有一种需求是完全开发一个全新的端点,比如查看当前登录的用户信息的端点。...=false 然后当我们调用一个不存在的接口时,返回的错误信息就是我们自定义的那种格式了: { "status": false, "code": 404, "message": "No
它完全是一个用于暴露自身信息的模块,所以很明显,它的主要作用是用于监控与管理,它就是:`spring-boot-starter-actuator`。...上图显示的一批端点定义并非我们自己在程序中创建,而是由`spring-boot-starter-actuator`模块根据应用依赖和配置自动创建出来的监控和管理端点。...- /mappings:该端点用来返回所有Spring MVC的控制器映射关系报告。...该报告的信息与我们在启用Spring MVC的Web应用时输出的日志信息类似,其中`bean`属性标识了该映射关系的请求处理器,`method`属性标识了该映射关系的具体处理类和处理函数。...下面,我们就来分别看看这些强大的端点功能。 - /metrics:该端点用来返回当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息等。
通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、CPU等信息,系统的线程、gc、运行状态等等。...Actuator 通常通过使用 HTTP 和 JMX 来管理和监控应用,大多数情况使用 HTTP 的方式。...需要依赖 jolokia-core prometheus 以Prometheus服务器可以抓取的格式公开指标。...management.endpoints.web.exposure.include=* #自定义管理端点路径 #management.endpoints.web.base-path=/manage Spring...如果只想更改公开端点,使用include和exclude属性。
/loggersendpoint展示了应用的日志和可以让你在运行时改变日志等级。 请求时其中端点的 ID 和前缀/actuator 被映射到 URL。...例如,默认情况下,health端点映射到 /actuator/health ID 描述 默认启用 auditevents 公开当前应用程序的审计事件信息。...是的 loggers 显示和修改应用程序中记录器的配置。 是的 liquibase 显示已应用的任何 Liquibase 数据库迁移。 是的 metrics 显示当前应用程序的“指标”信息。...是的 如果应用程序是 Web 应用程序(Spring MVC、Spring WebFlux 或 Jersey),还可以使用以下附加端点: ID 描述 默认启用 heapdump 返回一个 GZip...是的 prometheus 以 Prometheus 服务器可以抓取的格式公开指标。
Admin 简介 Spring Boot Admin 是 Spring Boot 应用程序运行状态监控和管理的后台界面。最新UI使用vue.js重写。...如下: 显示健康状况 显示应用运行时的详细信息,如:JVM 和内存指标等 计数器和测量指标 数据源度量 缓存度量 跟踪和下载日志文件 查看 jvm 系统和环境属性 一键管理loglevel 管理执行 JMX-beans...*vcap_services$” spring.boot.admin.probed-endpoints 要获取的client的端点信息 “health”, “env”, “metrics”, “httptrace...如果要同时在多个server端口注册,则用逗号分隔各个server端的url地址 spring.boot.admin.client.api-path 管理服务器上注册端点的Http路径 “instances...(由spring.boot.admin.instance.url 定义);如果该管理服务器出现故障,将自动向下一个管理服务器注册。
入门 要启用Spring Boot Actuator,我们只需要将spring-boot-actuator依赖项添加到我们的包管理器中。...最后,JMX仍然支持在没有任何其他代码的情况下公开端点。 4.2。重要变化 与以前的版本不同,Actuator禁用了大多数端点。 因此,默认情况下只有两个可用/ health和/ info。.../ info -返回一般信息。...这可能包括通用指标和自定义指标 / prometheus -返回与前一个相同的指标,但格式化为与Prometheus服务器一起使用 / scheduledtasks -提供有关应用程序中每个计划任务的详细信息...启用所有端点 为了使用HTTP访问执行器端点,我们需要启用和公开它们。默认情况下,启用所有端点但/ shutdown。只有 /健康和/信息端点默认情况下暴露出来。
当用户处于一个或多个端点的角色时,将被视为已获得授权。如果端点没有配置角色(默认值),则认为所有经过身份验证的 用户都已获得授权。...如果没有 HealthIndicator 返回 HealthAggregator 已 知的状态,使用 UNKNOWN 状态。...在前面的示例中,健康信息在名 为 my 的条目中可用。 除了Spring Boot的预定义 Status 类型之外, Health 还可以返回表示新系统状态的自定义 Status 。...200,而 OUT_OF_SERVICE 和 DOWN 映射到503)。...如果通过HTTP访问运行状况 端点,则可能还需要注册自定义状态映射。
Spring Boot Admin 简介 Spring Boot Admin = Spring Boot + Admin,用于管理和监控 Spring Boot 应用程序,它并不是 Spring Boot...主要功能如下: 显示健康状况 显示详细指标(如:jvm、内存,micrometer、数据源、缓存等) 监控并下载日志文件 显示 jvm 中的系统、以及环境变量 显示 Spring Boot 配置属性 简单的日志级别管理...细节 细节菜单中展示了一些健康、JVM 相关信息: 性能 性能菜单可以添加并显示各种性能指标: 环境 环境菜单中显示所有 Servlet 初始参数、系统、环境变量参数等: Bean 类菜单中显示所有...JVM JVM 菜单显示当前所有线程堆栈、堆栈,并能进行下载分析: 映射 映射菜单显示所有的 URL 映射: 缓存 缓存菜单显示所有缓存: 这里不仅是展示,还能进行清除和管理。...应用程序,原理就是通过客户端暴露的各种 /actuator 端点进行的,在此基础上进行了一些包装和 UI 展示。
如果要查看 Zuul 服务器管理的路由,可以通过访问 Zuul 服务器上的/routes,返回结果如下: { "/confsvr/**": "confsvr", "/licensingservice...目前有两种办法来规避这个问题: 对于不能用 Eureka 管理的应用,可以建立一个单独的 Zuul 服务器来处理这些路由。 建立一个 Spring Cloud Sidecar 实例。...但是只能通过配置文件来进行,无法通过注解(这是 Zuul 管理的没有地方给你写注解)。...通常用于记录从目标服务返回的响应、处理错误或审核敏感信息。 路由过滤器——在目标服务被调用之前拦截调用。通常用来做动态路由。 错误过滤器——在产生错误是调用,用于对错误进行统一处理。...b、后置过滤器 后置过滤器通常用于进行敏感信息过滤和响应记录。
服务网关充当了服务客户端和被调用服务间的中介。服务客户端仅与服务网关管理的单个 url 进行对话。下图说了服务网关在一个系统中的作用: ? 服务网关位于服务客户端和相应的服务实例之间。...如果要查看 Zuul 服务器管理的路由,可以通过访问 Zuul 服务器上的/routes,返回结果如下: { "/confsvr/**": "confsvr", "/licensingservice...所以没办法混合使用 目前有两种办法来规避这个问题: 对于不能用 Eureka 管理的应用,可以建立一个单独的 Zuul 服务器来处理这些路由。...但是只能通过配置文件来进行,无法通过注解(这是 Zuul 管理的没有地方给你写注解)。...b、后置过滤器 后置过滤器通常用于进行敏感信息过滤和响应记录。
比如,health端点默认映射到/actuator/health。这样就可以通过HTTP的形式获取自定义端点的数据。...这些系统提供了非常好的仪表盘、图标、分析和告警等功能,使得你可以通过统一的接口轻松的监控和管理你的应用系统。这对于实施微服务的中小团队来说,无疑快速高效的解决方案。...下面我们请求其中的一个地址/actuator/health,查看接口返回的详细信息。...如图上图所示,/health接口返回了系统详细的健康状态信息,包括系统的状态(UP为正常)、磁盘使用情况等信息。...首先,创建自定义端点类SystemTimeEndpoint,使用@Endpoint注解声明端点ID,同时需要使用@Component注解,将此类交给Spring Boot管理。
spring.http.log-request-details false 是否允许在DEBUG和TRACE级别记录(潜在敏感)请求详细信息。...授权服务器元数据端点。....* 端点ID和应公开它们的路径之间的映射。 management.health.cassandra.enabled true 是否启用Cassandra健康检查。...management.metrics.export.dynatrace.technology-type java 导出指标的技术类型。用于在Dynatrace UI中以逻辑技术名称将指标分组。...management.server.port 管理端点HTTP端口(默认情况下使用与应用程序相同的端口)。配置其他端口以使用特定于管理的SSL。
领取专属 10元无门槛券
手把手带您无忧上云