Spring Boot2.0之 监控管理

Spring boot监控中心:

针对微服务的服务状态,服务器的内存变化(内存、线程、日志管理等)检测服务配置连接地址是否有用(有些懒加载的情况下,用的时候发现卧槽不能用)模拟访问,懒加载。统计有多少个bean(Spring 容器中的bean)、统计Spring MVC 中@RequestMapping(统计接口数)

Actuator监控应用(无界面,返回json格式)

AdminUi底层使用Actuator监控应用,实现可视化界面

Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.缺点:没有可视化界面。

应用场景:生产环境

1、首先maven工程的pom,需要引入相关的依赖jar

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>SpringbootActuator</groupId>
  <artifactId>com.toov5.Actuator</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

	</dependencies>

</project>

  

2、然后application.yml的文件配置,主要对于监控中心的一些设置。

###通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;加入这个配置。监控所有接口
management:
  endpoints:
    web:
      exposure:
        include: "*"

3、业务代码

package com.toov5.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController {
    @RequestMapping("/ok")
    public String index(){
        return "ok";
    }
}

4、启动类

package com.toov5.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

启动后:

看控制台输出

被圈的日志是 表示有多少接口

里面的请求是从actuator里面来的  监控中心产生了很多接口      默认情况下是禁止的哈 如果把yml配置里面的内容去掉的话就没有这么多了

默认情况下监控中心提供三个接口 信息很少的 一般不用这三个 满足不了

Spring Boot2.0之后 监控中心的地址发生变化 必须这个地址才可以访问到  之前版本是不用加 actuator  访问监控中心

访问这个url 可以看到当前Spring容器有多少bean

可以把这些json格式化

还可以检测当前容器中有多少 url映射接口

通过json在线格式化

可以看到我的接口的信息:

展示的很清楚 各种信息

里面很多 是监控中心提供的  各种啊 好多啊

#################################################################

如果msql连接的账号或密码错误 在项目启动时候不会报错 因为懒加载呀

可以通过监控中心去处理

返回这个说明 没错

如果是 down则有错

原理是 访问时候 控制中心会去读配置文件 然后去处理下试试

查看自定义应用信息

在配置文件中配置info开头的配置信息

总结:

Actuator访问路径

通过actuator/+端点名就可以获取相应的信息。


路径


作用


/actuator/beans


显示应用程序中所有Spring bean的完整列表。


/actuator/configprops


显示所有配置信息。


/actuator/env


陈列所有的环境变量。


/actuator/mappings


显示所有@RequestMapping的url整理列表。


/actuator/health


显示应用程序运行状况信息 up表示成功 down失败


/actuator/info


查看自定义应用信息

原文地址:https://www.cnblogs.com/toov5/p/9823353.html

时间: 2024-10-12 23:16:03

Spring Boot2.0之 监控管理的相关文章

Spring Boot2.0自定义配置文件使用

声明: spring boot 1.5 以后,ConfigurationProperties取消locations属性,因此采用PropertySource注解配合使用 根据Spring Boot2.0官方文档,PropertySource注解,只支持properties文件,因此排除 YAML配置 针对二,可考虑新建配置类,自行搜索,不再此次讨论范围 具体使用: 1.根目录下新建自定义配置文件夹与properties配置文件 example.name=tom example.wife=jerr

Myeclipse下使用Maven搭建spring boot2.0项目

现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了. <parent> <groupId>org.springframework.boot</groupId> <

Spring boot2.0 与 2.0以前版本 跨域配置的区别

一·简介 spring boot升级到2.0后发现继承WebMvcConfigurerAdapter实现跨域过时了,那我们就紧随潮流. 二·全局配置 2.0以前 支持跨域请求代码: 1 import org.springframework.context.annotation.Configuration; 2 import org.springframework.web.servlet.config.annotation.CorsRegistry; 3 import org.springfram

Spring Boot2.0之 原理—创建内置Tomcat容器

前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一条先不赘述了,就是玩了maven 重点介绍后两条 首先内置Tomcat: SpringBoot中内置tomcat服务器 Java操作创建tomcat 我们点击pom中的 持续点击到 继续点击会发现: 这个依赖 为我所需~ 注意:Springboot2.0之后 Tomcat8.0以上版本 引入到自己的pom中(类似的还有其他的依赖包): <project xmlns="http://m

Spring Boot2.0之纯手写框架

框架部分重点在于实现原理,懂原理! 废话不多说,动手干起来! SpringMVC程序入口? 没有配置文件,Spring 容器是如何加载? 回顾我们之前搭建Spring Boot项目使用的pom 引入的依赖需要parent,其作用是支持依赖 快速整合框架 不需要写版本号 还有就是web组件,自动引入springmvc spring-web spring-beans  等等都依赖进来了 SpringBoot是一个快速整合第三方框架,简化XML配置,完全采用注解.内置HTTP服务器(tomcat.je

Spring Boot2.0之注解方式启动Springmvc

回顾下springmvc原理图: DispatcherServlet是Spring MVC的核心,每当应用接受一个HTTP请求,由DispatcherServlet负责将请求分发给应用的其他组件. 在旧版本中,DispatcherServlet之类的servlet一般在web.xml文件中配置,该文件一般会打包进最后的war包种:但是Spring 3引入了注解,我将要介绍,如何基于注解配置Spring MVC. 1.Spring mvc无配置文件夹,采用注解方式启动. 把配置的内容 转换为 Ja

Spring boot2.0整合Mybatis

整合Mybatis过程: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 一.引入依赖 <!-- 添加mybatis依赖 --> <dependency> <groupI

spring boot2.0+ 中配置log4j日志

1.maven引入包,排除默认日志 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter</artifactId> 4 <exclusions> 5 <exclusion> 6 <groupId>org.springframework.boot</groupId>

Spring Boot2.0之 jar打包方式

Jar类型打包方式 1.使用mvn celan  package 打包 2.使用java –jar 包名 war类型打包方式 1.使用mvn celan package 打包 2.使用java –jar 包名 外部Tomcat运行 1.使用mvn celan package 打包 2.2.0将war包 放入到tomcat webapps下运行即可. 注意:springboot2.0内置tomcat8.5.25,建议使用外部Tomcat9.0版本运行即可,否则报错版本不兼容. PS: 打war类型