Springboot之监控健康状况

  在微服务环境中,因为我们的服务节点比较多,所以我们需要获取每个服务节点的健康信息来掌握整个系统的运行情况及问题解决,本文就来具体介绍下怎么实现SpringBoot项目中的监控服务

Actuator

  Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得,

1.创建SpringBoot项目

  创建一个普通的SpringBoot项目,并添加actuator的依赖

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-actuatorartifactId>
dependency>

2.在全局配置文件中设置关闭安全限制

  在1.5以下版本中不需要设置

management.security.enabled=false

3.启动服务

  启动服务,发现控制台多了很多提示信息

Springboot之监控健康状况_第1张图片

访问对应的弟子,比如health

Springboot之监控健康状况_第2张图片

其他地址功能的说明

ID 描述 是否需要鉴权
actuator 为其他端点提供“发现页面”。要求 Spring HATEOAS 在 classpath 路径上。 需要
auditevents 陈列当前应用程序的审计事件信息。 需要
autoconfig 展示自动配置信息并且显示所有自动配置候选人以及他们“被不被”应用的原因。 需要
beans 显示应用程序中所有 Spring bean 的完整列表。 需要
configprops 显示所有配置信息。 需要
dump 所有线程。 需要
env 陈列所有的环境变量。 需要
flyway Shows any Flyway database migrations that have been applied. 需要
health 显示应用程序运行状况信息 不需要
info 显示应用信息。 不需要
loggers 显示和修改应用程序中的 loggers 配置。 需要
liquibase 显示已经应用的任何 Liquibase 数据库迁移。 需要
metrics 显示当前应用程序的“指标”信息。 需要
mappings 显示所有@RequestMapping 的 url 整理列表。 需要
shutdown 关闭应用(默认情况下不启用)。 需要
trace 显示跟踪信息(默认最后 100 个 HTTP 请求)。 需要

SpringBootAdmin

  上面介绍的Actuator监控的信息返回的json数据,查看起来也不是太方便,所以我们来给大家介绍可视化的监控报表-Spring Boot Admin,Springboot Admin需要单独的服务来监控,所以我们先来搭建专门的监控的服务。

一.搭建监控服务

1.搭建服务

  服务端其实也是一个 SpringBoot 项目,所以创建一个SpringBoot服务。

Springboot之监控健康状况_第3张图片

2.官方查看

官方地址:https://github.com/codecentric/spring-boot-admin

Springboot之监控健康状况_第4张图片

因为客户端使用的SpringBoot是1.5.7所以此处也选择1.5.7,

Springboot之监控健康状况_第5张图片

3.添加依赖及配置

添加admin的依赖

<dependency>
    <groupId>de.codecentricgroupId>
    <artifactId>spring-boot-admin-starter-serverartifactId>
    <version>1.5.7version>
dependency>

启动器中放开

@SpringBootApplication
@EnableAdminServer
public class SpringbootAdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootAdminServerApplication.class, args);
    }

}

4.启动服务

  改个端口,防止冲突

server.port=8085

Springboot之监控健康状况_第6张图片

还没有监听服务所以里面是空的!

二.客户端

  需要监控的客户端就可以使用我们讲Actuator的项目,具体步骤官网也有说明。如下

1.客户端添加依赖

<dependency>
    <groupId>de.codecentricgroupId>
    <artifactId>spring-boot-admin-starter-clientartifactId>
    <version>1.5.7version>
dependency>

2.修改配置文件

  application.properties中添加监控的服务

management.security.enabled=false
#http://localhost:8085 表示是 Spring Boot Admin 服务单的 IP 地址以及端口号
spring.boot.admin.url: http://localhost:8085

3.启动客户端

  启动客户端后,再刷新服务端监控页面,发现了服务,同时可视化相关的监控信息
Springboot之监控健康状况_第7张图片

Springboot之监控健康状况_第8张图片

好了SpringBoot项目的监控服务我们就介绍到这儿,后面的微服务中还有很多地方要涉及到服务监控,到时我们再介绍其他应用相关的内容~

你可能感兴趣的:(#,SPRING-CLOUD系列)