王东:微服务下的APM全链路监控

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

f274c01f4064b50e3dc4cbae594dc87bbe4e4d59

什么是APM?

APM (Application Performance Management) 即应用性能管理,属于IT运维管理(ITOM)范畴。主要是针对企业 关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量,保证用户得到良好的服务,降 低IT总拥有成本(TCO)。

8acdd29bd449e459548b1e22d11679f9fa4d95f5

APM的发展历程

f4280acf1766d1fcac3d933309869cddcc213c0e

Gartner对APM的定义(2014)

2014年Gartner对APM的5个定义:

c83b6b927e36c1de7292bc8681984bd7ed059895

Gartner对APM的定义(2016)

2016年重新定义,将原来的五部分合成三部分。

2ba5424afbf5d6fdb8eb5e8fc6931e81fd0a2c79

服务开发架构的发展历程

一开始的应用开发是从Main-frame一直到2010年以前比较热的SOA架构,到14年比较热的Microsorvices架构,从14年开始基于容器化的Microsorvices。服务开发框架复杂度越来越高。

fba8fb290289d4f9fce438ad87fba34fdc9ab9c5

微服务带来的挑战

  • 依赖关系复杂 
  • 持续交付 
  • 容器化环境 
  • 服务注册、发现和可靠性 
  • 一切皆服务(Everything-as-a-Service) 
  • DevOps

微服务对APM的大影响

205dd95d5fb3e474748ef68524e910f2995edc6f

APM的核心能力

19dcc8bc4081857958fe975c0f71617bb0921222

基于微服务的应用程序端到端监控

e63341c81161640bdad6dfed6dec3b928edd49dc

APM探针的基本原理 (Java Instrument)

b61edb5aca52b6e8c1eabea109f37a46ced61337

APM探针的基本原理 (Java探针结构)

81033f06fd0373c0421dc82f8d5ac203c03e06f4

APM探针的基本原理 (Java Instrument)

14b6e5c579b88a5135b5bbe7da1a81850fbac9ac

分布式追踪 – Google Dapper

e7cdb5777111d376bea524c728b49f9f827c0605

分布式追踪 – OpenTracing

0b8dcb0a04b9ff8a4c82275e0345a21ef09c71f4

追踪一切

无论是业务服务还是微服务,要做到收取流失的数据,还有所有组件健康检查,还要做到数据的分析。

032a1451f1d8d194c7be112e4e416c1a4d7c3b18

服务关联元数据

监控是分层的,只知道一个服务有问题,并不能定位这个服务的根本原因是什么,就需要使用元数据。

b606edc20cda0c3c8dea40b40b426a0f50664912

服务动态拓扑

随时间的推移去变化

4f7e92fb87eb97d837919cec254482c824ff3bd3

服务调用链分析

bf69cf2c647d450644216ebcf1bea62c75f342c5

APM总体架构

890cef7b4e122e1f867cbd4010433a934083d400

探针配置

df22ef1a6c298433ce2f54c35bf145d105c3e4d8

APM核心能力

da0c6b798cd4f5f274f67ee4558c1bbc542c1697

性能测试 

3248032dfb07888578f00092601ae9ada7f41555

构建“部署 + 监控 + 告警 + 报障”闭环

1eed2219bfe1fb778c86b6c8953f9f11bde99fbf

告警平台

e0bf6cdb64f88dede2495664b099633fc6adf610

通过故障分类系统、支持组,快速将接入的各监控系统报障通知给相应维护人员, 并通过配置的SLA及组织架构,对未及时响应的报障进行上告处理,以达到卓越运维的目的。

3fdc8f8bb209f4bd5abe9cbbca02e5facd316ec4

大数据能力的充分释放-自动异常点检测

d693c0503699434baa49e4f35175a36321226c39

AIOps

  • 告警归并 
  • 根因分析 
  • 故障自动恢复 
  • 容量预测
db26e43e82a089373d2775176e4b42299e8d5907

原文发布时间为:2017-11-24
本文作者:王东
本文来自云栖社区合作伙伴“ 中生代技术”,了解相关信息可以关注“ 中生代技术”微信公众号
相关文章
|
1月前
|
监控 网络协议 Go
应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控
应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控
109641 118
|
2月前
|
监控 Java 索引
|
2月前
|
Kubernetes 监控 安全
Kustomize 生产实战 - 注入监控 APM Agent
Kustomize 生产实战 - 注入监控 APM Agent
|
14天前
|
数据采集 运维 监控
微服务监控:守护系统稳定的终极防线
微服务监控在数字化时代日益重要,它帮助运维和开发人员实时监测服务性能、状态和安全,确保微服务架构的稳定性和可用性。构建微服务监控体系需关注合理监控策略、数据采集处理、可视化及告警。数据采集的三大支柱是指标、日志和链路追踪。监控涵盖基础设施、系统、应用和业务层面。通过优化监控体系、融合业务场景和建立跨团队协作,可提升监控效果。未来,AI和云计算将推动微服务监控向更精准、高效和安全的方向发展。
19 0
|
2月前
|
数据采集 存储 监控
如何监控微服务调用
【2月更文挑战第2天】搭建一个服务监控系统,涉及数据采集、数据传输、数据处理、数据展示等多个环节。
|
3月前
|
Prometheus 监控 Cloud Native
微服务框架(二十二)Prometheus + Grafana 可视化监控
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文为Prometheus + Grafana 可视化监控的介绍,下篇为Prometheus + Grafana...
|
3月前
|
Prometheus 监控 Cloud Native
微服务框架(十九)Spring Boot 可视化监控 Prometheus + Grafana
  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为Spring Boot 通过 micrometer 的监控门面,实现Prometheus + G...
|
3月前
|
Prometheus 监控 Cloud Native
SpringCloud微服务实战——搭建企业级开发框架(四十五):【微服务监控告警实现方式二】使用Actuator(Micrometer)+Prometheus+Grafana实现完整的微服务监控
无论是使用SpringBootAdmin还是使用Prometheus+Grafana都离不开SpringBoot提供的核心组件Actuator。提到Actuator,又不得不提Micrometer,从SpringBoot2.x开始,Actuator的功能实现都是基于Micrometer的。
243 0
|
4月前
|
监控 Kubernetes Cloud Native
多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布
多语言应用监控最优选,ARMS 应用监控 eBPF 版正式发布
131276 41
|
5月前
|
Prometheus 监控 Cloud Native
微服务轮子项目(23) -Metrics监控
微服务轮子项目(23) -Metrics监控
105 0