实操讲解:微服务全链路调用监控(一)|学习笔记

简介: 快速学习实操讲解:微服务全链路调用监控(一)

开发者学堂课程【Elasticsearch 实战进阶营实操讲解:微服务全链路调用监控(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/899/detail/14318


实操讲解:微服务全链路调用监控(一)


目录

一、微服务全链路概念

二、微服务全链路背景

三、微服务全链路性能优化

四、微服务全链路优势和覆盖范围

五、APM 架构体系介绍

六、Serve 实战配置和启动

七、Agent 实战配置和启动

 

一、微服务全链路监控概要介绍

image.png

1. 概念

在微服务架构下,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络,这样一个场景下,对于用户的每一次请求调用,后端执行了多少组件间的调用无法知晓,由于分布式的调用,增加了程序调用异常的错误率,在这样的应用场景下,新的架构技术带来了新的问题。

APM 主要通过从客户端和服务端进行数据采集。其中客户端数据采集方式主要分为主动式探测(俗称“拨测”)和被动式监测。相比主动式的模拟监测,真实用户体验监测可以提供全样本监测数据,避免样本偏差。服务端的数据采集都是被动方式,主要两大技术路径分别是 NPM (网络性能管理)和探针部署。NPM 属于非侵入式的技术,不会对应用性能造成影响,然而不能提供代码及的问题定位;探针部署则反之。 

2. 背景

随着软件开发技术架构的不断演进,采用诸如 TSF 微服务框架开发微服务已经成为一种趋势,然而随着客户业务流量的不断提升,微服务也会遇到性能上的瓶颈,对于系统如果做到高效、稳定保障系统平稳支撑业务增长,是我们需要面对的技术难题。

3.性能优化

(1)降低业务成本。

(2)提升系统的稳定性。

(3)提升用户的体验。

4.优势

(1)背后是 elasticsearch 集群,可承载 PB 级数据,并且大部分的企业都会部署 es 集群,技术和资源共享

(2)elasticsearch 作为最常用的开源日志分析工具,APM 可与日志分析相结合

(3)目前是免费的。属于 elastic basic license 中的基本功能

支持多种语言,监控客户端包括

java/go/python/ruby/nodejs/rail 等

(4)社区还算活跃,版本升级比较快 

5.覆盖范围

(1)终端用户体验

(2)应用架构映射

(3)应用事务的分析

(4)深度应用诊断

(5)数据分析

 

二、APM:微服务全链路实时监控

1.Elastic APM 架构体系

 image.png

APM agent 是一系列开源库,使用与服务器端相同的语言编写,目前支持 node、python、ruby、js,java 和 golang。可以像安装任何其他库一样将它们安装到服务器端中。apm agent 会检测代码并在运行时收集性能数据和错误。此数据可 缓冲一小段时间并发送到 APM 服务器。基于 Java 采集数据,把数据经过组装合并,传到 APM Server 中

APM Server 是一个用 Go 编写的开源应用程序,通常在专用服务器上运行。

它默认侦听端口8200,并通过 JSON HTTP API 从代理接收数据。然后,它根据该数据创建文档并将其存储在 Elasticsearch 中。

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许你快速,近实时地存储,搜索和分析大量数据。Elasticsearch 用于存储APM性能指标并利用其聚合。

Kibana 是一个开源分析和可视化平台,旨在与 Elasticsearch 协同工作。

可使用 Kibana 搜索,查看 Elasticsearch 中存储的数据并与之进行交互。

还可以使用 Kibana 中的专用 APM UI 或可以通过 APM Kibana UI 直接加载的预构建的开源 Kibana dashboard 来可视化 APM 数据。(basic license 就授权了 APM 功能)

 

三、Serve 实战

APM 分为两部分,Agent 和 Server

1.下载及配置

 image.png

(1) 官方下载并且解压 apm serve

#下载

curlhttps://artifacts.elastic.co/downloads/apm-server/apm-server-7.12.0-darwin-x86_64.tar.gz 

#解压

tar xzvf apm-server-7.12.0-darwin-x86_64.tar.gz

#进入

cd apm-server-7.12.0-darwin-x86_64/

(2) Apm-server host:”ip+端口”

(3) 搜索 output.elasticsearch

vim apm-server.yml

output.elasticsearch: hosts: [""]

(4) 配置好用户名和密码

username: "elastic" password: "xxx"

(5) 配置 montioring 监控

#默认式 flase

Montioring.enable:true

2.启动

(1)CMD 进入 bos 窗口 Windows+r 输入 cmd

(2)进入 apm 安装目录下,执行 Apm-server.exe

(3)管理后台监控页面


相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
|
8月前
|
人工智能 前端开发 安全
告别重复劳动:用 AI 代码助手重构你的组件库
告别重复劳动:用 AI 代码助手重构你的组件库
639 114
|
NoSQL Java Redis
redis 哨兵模式配置 和 spring data redis 哨兵配置 总结
redis 哨兵模式配置 和 spring data redis 哨兵配置 总结
1102 0
|
人工智能 IDE 定位技术
AI IDE正式上线!通义灵码开箱即用
通义灵码AI IDE现已正式上线,用户可免费下载使用。作为AI原生开发环境工具,它深度适配千问3大模型,集成通义灵码插件能力,支持编程智能体、行间建议预测和行间会话等功能。其核心亮点包括:支持最强开源模型千问3,具备MCP工具调用能力;开箱即用的智能编码助手;自带编程智能体模式,端到端完成编码任务;长期记忆、NES行间预测及Inline Chat功能,大幅提升编程效率。目前,通义灵码插件下载量超1500万,生成代码超30亿行,广泛应用于企业开发场景。
AI IDE正式上线!通义灵码开箱即用
|
11月前
|
缓存 应用服务中间件 测试技术
Nginx全面指南:从概述到高级特性
Nginx的框架模型流程可概括为以下步骤:首先,解析请求,然后进行路由决策。接下来,查找缓存,若存在则直接返回,否则进行文件查找和加载。这一系列操作确保了请求的快速响应。
|
存储 关系型数据库 分布式数据库
[PolarDB实操课] 01.PolarDB分布式版架构介绍
《PolarDB实操课》之“PolarDB分布式版架构介绍”由阿里云架构师王江颖主讲。课程涵盖PolarDB-X的分布式架构、典型业务场景(如实时交易、海量数据存储等)、分布式焦点问题(如业务连续性、一致性保障等)及技术架构详解。PolarDB-X基于Share-Nothing架构,支持HTAP能力,具备高可用性和容错性,适用于多种分布式改造和迁移场景。课程链接:[https://developer.aliyun.com/live/253957](https://developer.aliyun.com/live/253957)。更多内容可访问阿里云培训中心。
410 0
[PolarDB实操课] 01.PolarDB分布式版架构介绍
|
人工智能 自然语言处理 IDE
💡通义灵码:让每个人都能成为软件开发的「超级个体」
通义灵码是阿里巴巴达摩院推出的大模型技术,支持多种编程语言和框架,具备强大的自然语言理解和生成能力。它能够自动生成代码、自动化测试、文档编写等,显著提升开发效率,降低技术门槛,让每个人都能轻松参与软件开发。通义灵码不仅支持多语言、多编辑器,还具备智能问答、代码优化等功能,为企业和开发者提供全方位的支持。通过通义灵码,开发者可以从繁琐的任务中解放出来,专注于创新和创意,推动软件开发进入新时代。
1802 4
💡通义灵码:让每个人都能成为软件开发的「超级个体」
|
存储 监控 负载均衡
解读 CIA 三元组:信息安全的基石
【8月更文挑战第31天】
2239 1
|
存储 前端开发 数据可视化
skywalking安装教程
skywalking安装教程
skywalking安装教程