SpringBoot + Actuator 应用监控

  • Spring Boot Actuator
    • Actuator支持的端点信息
    • Actuator应用监控配置
    • 示例
  • Actuator 监控信息可视化
    • Spring Boot Admin
    • Actuator 客户端配置
  • Actuator 邮件报警

Spring Boot Actuator

Spring Boot Actuator,应用信息采集模块,它包含了许多生产级别的功能,例如健康检查、审计、指标收集、HTTP 请求追踪等,Spring Boot Actuator 将这些信息收集起来后,暴露给外部模块。例如 Spring Boot Actuator 通过 /health 端点(endpoints)提供了应用的健康信息,但是这些端点返回的数据是 JSON 格式的,不方便查看,也不方便分析,所以一般情况下,Spring Boot Actuator 都是和一些外部模块一起使用。

Actuator支持的端点信息


如果是 Web 应用,则再次基础上还支持如下端点:

Actuator应用监控配置

# Actuator应用监控
# 暴露所有已开启的接口
management.endpoints.web.exposure.include=*
# 配置 Actuator 访问路径前缀 默认前缀为 /actuator
management.endpoints.web.base-path=/
# 配置 Actuator 路径映射
management.endpoints.web.path-mapping.beans=bs
# 配置 Actuator 跨域支持
management.endpoints.web.cors.allowed-origins=*
management.endpoints.web.cors.allowed-methods=*
# 展示健康指示器详细信息
management.endpoint.health.show-details=always
# 自定义应用信息
info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@
info.author.name=zhangsan
info.author.email=zhangsan@163.com

示例

查看应用健康信息

GET:localhost:8080/health
{"status": "UP","components": {"diskSpace": {"status": "UP","details": {"total": 179448049664,"free": 20660342784,"threshold": 10485760,"exists": true}},"ping": {"status": "UP"}}
}

查看应用信息

GET:localhost:8080/info
{"app": {"encoding": "UTF-8","java": {"source": "1.8","target": "1.8"}},"author": {"name": "zhangsan","email": "zhangsan@163.com"}
}

info端点查看git提交信息

需要插件,在POM文件中添加如下插件信息

<plugin><groupId>pl.project13.maven</groupId><artifactId>git-commit-id-plugin</artifactId><version>4.9.10</version>
</plugin>

修改配置文件,展示全部git提交信息

# info端点展示git提交信息 full展示全部
management.info.git.mode=full

Actuator 监控信息可视化

Spring Boot Admin

如果是单体应用很多人可能会选择 Spring Boot Admin 作为监控数据可视化工具。

1. 添加admin-server依赖

<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

2. 启动类上添加 @EnableAdminServer 注解

启动并访问项目。在浏览器输入地址 http://localhost:8083

Actuator 客户端配置

1. 添加admin-client依赖

<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-dependencies</artifactId><version>${spring-boot-admin.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

2. 客户端配置admin-server地址

# springboot admin 客户端配置服务端 admin-server 的地址
spring.boot.admin.client.url=http://localhost:8083

启动客户端后,admin-server中就会显示客户端的监控信息

点击应用,可查看应用监控详细信息

Actuator 邮件报警

当admin-server监控到应用掉线,自动发送邮件提醒

1. 添加mail依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2. 配置邮件服务器

# 邮件服务器
spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=1872192281@qq.com
# 第三方客户端登录授权码(16位,此处隐私用*代替)
spring.mail.password=pubaczqvkez*****
spring.mail.default-encoding=utf-8
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true# admin-server 邮件发送配置
spring.boot.admin.notify.mail.from=1872192281@qq.com
spring.boot.admin.notify.mail.to=haojia091@outlook.com
# 忽视的状态,若为空,表示只要状态发生变化,就发送邮件
spring.boot.admin.notify.mail.ignore-changes=

停止Actuator客户端应用。admin-server中,服务变为离线,并发送邮件提醒。

SpringBoot + Actuator 应用监控相关推荐

  1. spring-boot actuator(监控)配置和使用

    在生产环境中,需要实时或定期监控服务的可用性.spring-boot 的actuator(监控)功能提供了很多监控所需的接口.简单的配置和使用如下: 1.引入依赖: <dependency> ...

  2. SpringBoot Actuator监控【转】

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

  3. springBoot+actuator 实现优雅的停止服务器

    springBoot+actuator 实现优雅的停止服务器 前言 正文 前言 最新使用了springboot框架作为web应用开发,目前已经上生产环境,但是对了每周的代码更新是痛苦的,更加可怕的是之 ...

  4. springboot集成druid监控

    springboot集成druid监控 引入pom依赖 <!-- druid数据库连接池 --> <dependency><groupId>com.alibaba& ...

  5. Springboot使用Actuator健康监控以及可视化界面

    前言 我们的微服务在云上部署以后都需要对其进行监控.追踪.审计.控制等.SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控.审计等功能. DEMO ...

  6. 使用SpringBoot Actuator监控应用

    Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看.相关功能统计等. 使用Actuator 引入依赖即可 Maven: <dependen ...

  7. springboot actuator监控笔记

    0 环境 系统:win10 编辑器:IDEA 1 概念 监控 管理自身信息(可以自定义) 的模块 2 文件配置 1 pom的配置 监控的添加 <dependency><groupId ...

  8. SpringBoot使用prometheus监控

    本文介绍SpringBoot如何使用Prometheus配合Grafana监控. 1.关于Prometheus Prometheus是一个根据应用的metrics来进行监控的开源工具.相信很多工程都在 ...

  9. 【SpringBoot专题】监控健康状况

    前言 想一想,我们以前是如何监控一个Java应用的监控状况的?一般而言,我们会在Linux服务器上通过一些命令,比如通过jstat来统计堆内存的使用情况/垃圾回收的情况,通过jstack分析Java线 ...

最新文章

  1. vsftpd企业应用快速部署文档
  2. 危害企业IT系统最严重的五个安全威胁
  3. Ubuntu批量修改文件名后缀
  4. activexobject对象不能创建_【设计模式】建造者模式:你创建对象的方式有它丝滑吗?...
  5. ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
  6. [JAVA] String常用方法
  7. WWF系列之----关于Host与WorkflowInstance之间的通讯
  8. nfs上安装oracle,使用NFS安装oracle软件
  9. 宝塔面板网站一打开cpu百分百_BT宝塔面板打开这个功能网站快到起飞,降低宝塔面板内存和CPU使用率,降低运行负载...
  10. java foreach并行_使用foreach在Java中迭代并行数组的漂亮方法
  11. 云起智慧中心连接华为_LifeSmart云起全系列产品接入华为HiLink生态系统
  12. android开机图片格式,Android平台启动图使用.9.png图片
  13. web api解决序列化后返回标准时间带T问题
  14. 【论文解读】如何在只有词典的情况下提升NER落地效果
  15. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇
  16. 使用Excel和Tableau分析淘宝母婴产品上新策略
  17. 企业建设网站的好处和作用
  18. Java实现 LeetCode 275 H指数 II
  19. mysql sql 不能为空_SQL为空和=空
  20. 一秒解决笔记本无法连接网络问题——解决笔记本插网线,显示未识别网络。

热门文章

  1. 天正暖通天圆地方在哪_天正暖通8.5命令集锦
  2. lamda 表达式的一些运用
  3. NC7 买卖股票的最好时机(一)
  4. java setTimestamp 时间不对
  5. Java获取系统时间日期存储到数据库Timestamp时间限制
  6. 宝蓝自组网对讲机在自然灾害中起到什么作用?
  7. DS18B20 for STM32
  8. 新睿云的云服务器怎么绑定域名?
  9. 专家解读:智能手机最终将被平板电脑取代的4大理由
  10. 笔记本电脑同时使用外网和内网