Java Spring Boot 2.0性能监控实战与Actuator机制解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Java Spring Boot 2.0 性能监控 实战与 Actuator 机制解析: 内容摘要:应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。
内容摘要:应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。APM是分布式系统运维非常重要的知识点,开源社区许多经典的分布式性能监控方案。
Java Spring Boot2.0不进允许性能监控,还可以进行远程控制。功能十分强大。

1、 APM = Application Performance Management 采集指标
      目的是监控和管理应用软件性能和可用性。通过监控和诊断复杂应用程序的性能问题,来保证分布式系统的良好运行。
   
2、Java Spring Boot 性能监控 指标多维度
34a37ab2d683d7f896855ca3319668d654fcf80e
Spring Boot 2014年4月性能监控和管理组件Actuator 。 
使用HTTP Endpoint或JMX,运行状态指标数据收集
health, metrics, info, dump, env, etc
2.0以后改进监控地址带有/actuator前缀
例如/actuator/health监控健康状态信息
禁用management.endpoint.shutdown.enabled=true
单个禁用
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true


3、Java Spring Boot 2.0性能监控新特性 
   Java Spring Boot 2.0内置性能监控Endpoint,可以直接配置使用

内置EndPoint ID

描述

默认启用

auditevents

暴露审计事件信息

Yes

beans

Beans列表

Yes

caches

缓存信息

Yes

conditions

评估配置的条件信息

Yes

configprops

显示 @ConfigurationProperties列表

Yes

env

环境信息

Yes

flyway

Flyway 数据掐你一信息

Yes

health

健康信息

Yes

httptrace

显示HTTP 跟踪信息(默认最近100 HTTP请求应答).

Yes

info

显示程序信息

Yes

integrationgraph

集成图Spring Integration graph.

Yes

loggers

显示与修改日志信息

Yes

liquibase

Liquibase 数据库迁移信息

Yes

metrics

显示‘metrics指标信息

Yes

mappings

显示@RequestMapping路径列表

Yes

scheduledtasks

显示调度任务

Yes

sessions

查询和删除会话Spring Session-backed session store. 不支持reactive web applications.

Yes

shutdown

优雅地关闭应用

No

threaddump

执行线程Dump thread dump.

Yes

 这些Endpoint 都可以在配置文件里打开或者关闭,
4、实战 Actuator性能监控
 创建一个 java Spring Boot 2.0项目,然后添加Actuator依赖,
<dependency>
  <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
启动项目,访问http://localhost:8080/actuator/可以查看默认的监控Endpoint端点列表。
9e56c91b03e389b34456d0c9c56fb819832901ff
5、安全保护
Spring Boot Actuator集成Spring Security安全框架,可以直接配置使用,也可以代码方式,最简单的Form表单验证、Basic验证例子如下:
management.security.enabled = true
management.security.roles = ADMIN
security.basic.enabled = true
security.user.name = frankxulei
security.user.password = alibaba

6、视频课程
7、高级面试题
  •  APM架构
  • 监控指标
  • 监控框架
  • Actuator底层实现
  • Micrometer优势
  • 配置文件参数
  • 能不能监控TOMCAT
  • 数据库、NoSQL数据库监控实现机制
8、Micrometer性能采集器
Micrometer是多维度指标收集器,语言中立的API。

通过类路径和配置,可以支持多系统导出数据,集成框架!
Spring Boot 2 Actuator中包含的指标收集工具。 
Spring Boot 1.5,1.4和1.3支持,额外依赖项。
Micrometer为Spring Boot 1中counters和gauges增强功能。
例如, Micrometer Timer能够生成吞吐量,总时间,最近样本的最大延迟,预先计算的百分位数,百分位柱状图相关的时间序列。 和SLA边界计数。
支持更多的监控工具如Prometheus, Datadog, Wavefront, SignalFx, Influx, etc
Spring Boot 2强化特性 
阿里巴巴Java群2200多人,
直播地址:Java技术进阶群
进群方式:钉钉扫码入群
C926B5D9_9BC2_4452_B14E_7F2F506EDAF9

目录
相关文章
|
5天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
17 5
Java反射机制:解锁代码的无限可能
|
4天前
|
存储 缓存 安全
🌟Java零基础:深入解析Java序列化机制
【10月更文挑战第20天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 3
|
5天前
|
安全 Java UED
深入理解Java中的异常处理机制
【10月更文挑战第25天】在编程世界中,错误和意外是不可避免的。Java作为一种广泛使用的编程语言,其异常处理机制是确保程序健壮性和可靠性的关键。本文通过浅显易懂的语言和实际示例,引导读者了解Java异常处理的基本概念、分类以及如何有效地使用try-catch-finally语句来处理异常情况。我们将从一个简单的例子开始,逐步深入到异常处理的最佳实践,旨在帮助初学者和有经验的开发者更好地掌握这一重要技能。
13 2
|
7天前
|
Java 数据库连接 开发者
Java中的异常处理机制####
本文深入探讨了Java语言中异常处理的核心概念,通过实例解析了try-catch语句的工作原理,并讨论了finally块和throws关键字的使用场景。我们将了解如何在Java程序中有效地管理错误,提高代码的健壮性和可维护性。 ####
|
9天前
|
安全 Java 程序员
深入浅出Java中的异常处理机制
【10月更文挑战第20天】本文将带你一探Java的异常处理世界,通过浅显易懂的语言和生动的比喻,让你在轻松阅读中掌握Java异常处理的核心概念。我们将一起学习如何优雅地处理代码中不可预见的错误,确保程序的健壮性和稳定性。准备好了吗?让我们一起踏上这段旅程吧!
22 6
|
6天前
|
存储 运维 Java
💻Java零基础:深入了解Java内存机制
【10月更文挑战第18天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
21 1
|
10天前
|
存储 Java 程序员
Java面试加分点!一文读懂HashMap底层实现与扩容机制
本文详细解析了Java中经典的HashMap数据结构,包括其底层实现、扩容机制、put和查找过程、哈希函数以及JDK 1.7与1.8的差异。通过数组、链表和红黑树的组合,HashMap实现了高效的键值对存储与检索。文章还介绍了HashMap在不同版本中的优化,帮助读者更好地理解和应用这一重要工具。
28 5
|
10天前
|
Java
在Java多线程编程中,`wait()` 和 `notify()/notifyAll()` 方法是线程间通信的核心机制。
在Java多线程编程中,`wait()` 和 `notify()/notifyAll()` 方法是线程间通信的核心机制。它们通过基于锁的方式,使线程在条件不满足时进入休眠状态,并在条件成立时被唤醒,从而有效解决数据一致性和同步问题。本文通过对比其他通信机制,展示了 `wait()` 和 `notify()` 的优势,并通过生产者-消费者模型的示例代码,详细说明了其使用方法和重要性。
17 1
|
3天前
|
SQL Java
探索Java中的异常处理机制
【10月更文挑战第26天】 在本文中,我们将深入探讨Java编程语言的异常处理机制。通过分析不同类型的异常、异常的捕获与抛出方式,以及如何自定义异常类,读者将能够更好地理解并应用Java中的异常处理机制来提高代码的健壮性和可读性。
10 0
|
9天前
|
Java 开发者 UED
Java中的异常处理机制及其重要性
【10月更文挑战第20天】 在Java编程中,异常处理是确保程序健壮性的关键。本文将探讨Java中的异常处理机制,包括其定义、类型、抛出和捕获异常的方法,以及如何自定义异常。通过实例说明,我们将展示异常处理在实际编程中的应用,帮助读者理解其在提高代码质量和稳定性方面的重要性。
11 0

推荐镜像

更多