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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介:

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
本文作者:王东
本文来自云栖社区合作伙伴“ 中生代技术”,了解相关信息可以关注“ 中生代技术”微信公众号
相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
1月前
|
移动开发 监控 Android开发
Android & iOS 使用 ARMS 用户体验监控(RUM)的最佳实践
本文主要介绍了 ARMS 用户体验监控的基本功能特性,并介绍了在几种常见场景下的最佳实践。
211 12
|
3月前
|
运维 监控 数据可视化
ARMS的微服务监控
【8月更文挑战第23天】
74 6
|
3月前
|
监控 前端开发 JavaScript
ARMS的Web应用监控
【8月更文挑战第23天】
64 8
|
3月前
|
监控 JavaScript 前端开发
ARMS的移动应用监控
【8月更文挑战第23天】
70 6
|
1月前
|
监控 Java 对象存储
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
43 1
|
3月前
|
Prometheus 监控 前端开发
ARMS设置监控规则
【8月更文挑战第24天】
106 9
|
3月前
|
监控 前端开发 JavaScript
ARMS集成监控代码
【8月更文挑战第24天】
75 6
|
3月前
|
数据采集 运维 监控
ARMS自定义监控
【8月更文挑战第25天】
87 3
|
3月前
|
Prometheus 监控 Cloud Native
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
|
3月前
|
Prometheus 监控 Cloud Native
微服务的监控与可观测性
【8月更文第29天】在微服务架构中,确保每个服务的健康状态和性能表现是非常重要的。为了达到这一目标,我们需要实施一套完整的监控和可观测性方案。本篇文章将介绍如何通过日志、指标和追踪来监测微服务的状态和性能,并提供相应的代码示例。
380 0