带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (上)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (上)

3.5.10.APM



创作人:胡征南

审稿人:杨振涛

 

Elastic APM

 

应用程序性能管理(Application Performance Management)简称 APM。主要功能为监控和管理软件应用程序性能和可用性。

 

Elastic APM 是一款基于Elastic 技术栈的免费及开放的性能监控系统。用于实时监控软件服务和应用程序的各项性能指标,如:请求访问的各项指标、访问耗时、数据库查询、缓存调用、外部 HTTP 请求等。便于开发人员快速排查和修复各种性能问题。

 

Elastic APM 也会自动采集各种系统异常。开发人员可以通过追踪异常的程序栈,识别系统异常发生的时间和次数。

 

自动采集的系统指标也是 Elastic APM 一个非常重要的数据源。采集维度主要包括,宿主机级别和服务代理(Agent)级别,如:使用 Java 语言系统编写的应用程序的 JVM 指标,Go 语言运行环境的运行指标等。

 

Elastic APM 由4个组件组成:APM 代理、APM 服务端、Elasticsearch 和 Kibana。

 

image.png


APM Agent


APM Agent 为通过与应用服务相同的语言编写的开源类库。通过按照其他应用程序服务一样安装代理。安装完成之后,即可通过代理收集各项应用程序指标和运行时异常。收集的数据将在

缓存较短时间后发送至 APM Server。

 

支持的语言主要包括:Go、Java、.NET、Node.js、Python、Ruby、JavaScript。

 

APM Server

 

APM Server 是一款收集 APM Agent 数据、可独立部署的开源应用程序。APM Server 使得代理变得轻量级、防范安全风险、并提高了 Elastic 技术栈的跨语言能力。APM Server 将通过

APM Agent 收集的数据进行验证、处理后存入对应的 Elasticsearch 索引。经过几秒种后,就可以通过 Kibana APM 应用观测到可视化后的应用程序性能数据了。

 

Elasticsearch

 

Elasticsearch 是一款高度可伸缩的全文检索和分析引擎。用于近实时存储、搜索和分析大量数据。在 Elastic APM 中,Elasticsearch 用于存储和聚合性能监控指标。

 

Kibana

 

Kibana 是一款将 Elasticsearch 数据进行分析和可视化的免费及开放的数据分析平台。用于对检索、展示、操作 Elasticsearch 中存储的数据。

 

APM术语


Service

 

在 APM agent 配置中进行设置,以将特定的 APM agent 组标识为单个服务,这是一种逻辑上标识一组事务的方法。

 Transaction

 

组成一个服务的请求和响应,例如登录 API 调用,每个调用由单独的 span 组成。

 

Span

 

事务中的单个事件,例如方法调用,数据库查询或缓存插入或检索,即需要花费时间才能完成的任何事件。

 

Erorrs

 

具有匹配的异常或日志消息的异常组。

 

Trace

 

代表请求的整个过程 。

 

它们之间的关系可以用如下的图来表示:


image.png

分布式 Tracing

 

当请求从一个微服务流向另一个微服务时,追踪器添加逻辑以创建唯一的追踪识别代码, 跨度id

image.png

image.png

image.png



 

 

image.png


《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.10.APM (中) https://developer.aliyun.com/article/1228391

相关文章
|
机器学习/深度学习 运维 Kubernetes
带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (下)
带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (下)
144 0
|
数据可视化 Java Maven
带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (中)
带你读《Elastic Stack 实战手册》之51:——3.5.10.APM (中)
130 0
|
数据采集 API Docker
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(上)
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(上)
160 0
|
数据采集 JSON API
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)
112 0
|
存储 SQL 数据挖掘
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(1)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(1)
|
存储
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(2)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(2)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(10)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(10)
|
存储
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(8)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(8)
|
存储 索引
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(9)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(9)
|
存储
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(5)
带你读《Elastic Stack 实战手册》之40:——3.4.2.21.Aggregations(5)

热门文章

最新文章