内容摘要:应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。APM是分布式系统运维非常重要的知识点,开源社区许多经典的分布式性能监控方案。
Java Spring Boot2.0不进允许性能监控,还可以进行远程控制。功能十分强大。
1、APM = Application Performance Management 采集指标
目的是监控和管理应用软件性能和可用性。通过监控和诊断复杂应用程序的性能问题,来保证分布式系统的良好运行。
2、Java Spring Boot 性能监控 指标多维度
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端点列表。
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技术进阶群
进群方式:钉钉扫码入群
进群方式:钉钉扫码入群