0 环境

系统:win10
编辑器:IDEA

1 概念

监控 管理自身信息(可以自定义) 的模块

2 文件配置

1 pom的配置

监控的添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
详细配置
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

2 启动 访问地址

locahost:8080/actuator/health

3 展示更加详细 添加properties

# 展示信心详情
management.endpoint.health.show-details=always
# 手动配置要暴露的端点(其他的端点就是封装的 不被访问)
# management.endpoints.web.exposure.include=configprops,beans
# 全部端点暴露
# 尤其是自定义端点时 为了省事 可以先这样做
# 当然也可以用上面的方式
management.endpoints.web.exposure.include=*
和上面的2一样

3 自定义actuator端点

1 概述

一种是扩展健康端点 另一种自定义端点

2 扩展健康端点

继承AbstractHealthIndicator 只需要重写即可
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.stereotype.Component; // 添加组件扫面注解
@Component
public class UserHealIndicator extends AbstractHealthIndicator { @Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
builder.up().withDetail("status", true); }
}

3 自定义端点

自定义配置 配置一下端口暴露
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import static com.google.common.collect.Maps.newHashMap; @Component
@Endpoint(id = "users")
public class UserEndpoint {
@ReadOperation
public List<Map<String, Object>> health(){
//
// ImmutableMap<String,Object> map = ImmutableMap.of("userId", "1234", "userName", "小王");
// map.asMultimap()
// ImmutableList<ImmutableMap<String, Object>> of = ImmutableList.of(map);
// System.out.println(of.asList());
// Map<String, Object> map = newHashMap();
// map.put("userId","1234");
// map.put("userName","user");
// map.put("age", "24");
Map<String, Object> map = ImmutableMap.of("userId", "1234", "userName", "小王");
ArrayList<Map<String, Object>> objects = Lists.newArrayList(map); return objects;
// List<Map<String, Object>> lists = new ArrayList<>();
// Map<String, Object> map = new HashMap<>();
// map.put("userId", "123");
// map.put("userName", "like");
// lists.add(map);
// return lists;
}
}
启动运行 localhost:8080/actuator/users

4 小结

1 使用现有的 进行配置 properties的配置
2 扩展健康端点 继承AbstractHealthIndicator类 重写方法
3 自定义端点 @Component @Endpoint(id = "xxx")

springboot actuator监控笔记的更多相关文章

  1. SpringBoot Actuator监控【转】

    springboot actuator 监控 springboot1.5和springboot2.0 的actuator在启动日志上的差异就很大了. springboot1.5在启动时会打印很多/XX ...

  2. 使用springboot actuator监控应用

    微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...

  3. springBoot actuator监控配置及使用

    准备环境: 一个springBoot工程 第一步:添加以下依赖 <dependency> <groupId>org.springframework.boot</group ...

  4. Spring Boot Actuator监控使用详解

    在企业级应用中,学习了如何进行SpringBoot应用的功能开发,以及如何写单元测试.集成测试等还是不够的.在实际的软件开发中还需要:应用程序的监控和管理.SpringBoot的Actuator模块实 ...

  5. springboot actuator 配置安全

    springboot actuator监控是什么?类似php的phpinfor()函数,不过actuator更强大,可以查看的数据.状态更多.Actuator是Spring Boot提供的对应用系统的 ...

  6. SpringBoot系列九:SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 服务整合 2.背景 在进行项目开发的时候经常会遇见以下的几个问题:需要进行邮件发送.定时的任务调 ...

  7. SpringBoot Actuator — 埋点和监控

    项目中看到了有埋点监控.报表.日志分析,有点兴趣想慢慢捣鼓一下 1. 数据埋点 监控机器环境的性能和业务流程或逻辑等各项数据,并根据这些数据生成对应的指标,那么我们就称为数据埋点.比如我们想知道某个接 ...

  8. SpringBoot系列: Actuator监控

    Sprng Boot 2 actuator变动加大, 网上很多资料都都已经过期. ============================配置项============================ ...

  9. 【spring cloud】【spring boot】网管服务-->配置文件添加endpoints.enabled = false,SpringBoot应用监控Actuator使用的安全隐患

    转载:https://xz.aliyun.com/t/2233 ==================================================================== ...

随机推荐

  1. Python Learning Day2

    练习:login功能 def login(): with open(r'C:\Users\liubin\desktop\user.txt','r') as f: res=f.read() flag=1 ...

  2. PHP SeasLog实现高性能日志记录

    https://www.jianshu.com/p/b5c01eb49df0 windows 安装 注意查看上面的信息 我标注了几个关键点  然后下载自己对应的 https://windows.php ...

  3. Bugku web(1—35)

    1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入 ...

  4. 吴裕雄--天生自然 JAVASCRIPT开发学习:弹窗

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...

  5. Vmotion迁移要求

  6. Go-并发和并行-协程-信道-缓冲信道-select-mutex-读写文件-beego框架

    并发 Go 是并发式语言,而不是并行式语言.在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别. 并发是什么? 并发是指立即处理多个任务的能力.一个CPU的情况下<意指看 ...

  7. Linux--Shell传递参数

    参考:http://www.runoob.com/linux/linux-shell-passing-arguments.html

  8. 201312-1 出现次数最多的数Java

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; ...

  9. python pandas 对带时间序列的数据进行重采样处理

    今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据. 源数据示例如下: time B00 B01 ... RollMean2.5 RollMean10 ...

  10. liunx常用命令笔记

    安装软件教程 linux安装java:https://www.cnblogs.com/lamp01/p/8932740.html linux安装mysql:https://www.cnblogs.co ...