内容提要
本文介绍了如何在Elastic Observability中免费使用Elastic APM进行应用性能监控。APM帮助用户了解应用程序的性能、错误和依赖关系。文章详细说明了安装Elastic Agent、配置APM代理以及使用Python示例代码进行代码仪器化的步骤。通过这些步骤,用户可以收集应用程序的追踪数据,并在Kibana中查看服务概览和性能指标。
延伸解读
Elastic APM 与 Elastic Agent 的区别
文章特别强调 Elastic APM Agent 和 Elastic Agent 是两个不同的组件。Elastic Agent 负责运行 APM 集成,接收来自 APM Agent 的追踪数据并转发到 Elastic Observability 集群;而 APM Agent 是嵌入在应用程序中的库,用于采集和发送数据。混淆两者可能导致配置错误,因此理解这一架构是成功部署的关键。
配置 APM Agent 时的关键参数
在配置 APM Agent 时,需要设置服务名称、Secret Token 和 APM Server URL。文章示例中,由于未使用 HTTPS,Secret Token 被注释掉;而 Server URL 必须指向运行 Elastic Agent 的主机。这些参数通常通过环境变量传入,如 docker-compose.yml 所示。正确设置这些参数才能确保数据成功发送到 APM 集成。
在 Kibana 中分析 APM 数据
数据收集后,可以在 Kibana 的 APM 应用中查看服务概览。该页面提供延迟、吞吐量和错误率等关键指标,并显示具体事务的详细信息,包括外部服务调用和数据库查询。这有助于开发者或 SRE 评估新部署对性能的影响,并快速定位问题,从而缩短平均解决时间(MTTR)。
利用公共 API 增强 APM 数据
文章建议探索各语言 APM Agent 的公共 API,以添加自定义元数据、定义业务事务和创建自定义跨度。这些 API 允许用户根据业务需求丰富追踪数据,从而获得更深入的洞察。例如,可以标记特定事务为业务关键操作,或添加用户上下文信息,使监控更贴合实际应用场景。
Q&A
Elastic APM是什么,它的主要功能是什么?
Elastic APM是一个应用性能监控工具,帮助用户了解应用程序的性能、错误和依赖关系。
如何安装Elastic Agent以使用Elastic APM?
安装Elastic Agent的第一步是选择独立安装或通过Fleet安装,按照指南进行安装即可。
使用Python进行代码仪器化的基本步骤是什么?
使用Python进行代码仪器化的步骤包括添加依赖、配置代理和启动应用程序。
在Kibana中如何查看服务概览和性能指标?
在Kibana中,用户可以通过导航到APM应用查看服务概览和性能指标,分析应用的健康状况。
Elastic APM支持哪些编程语言的代理?
Elastic APM支持多种编程语言的代理,包括Java、.NET、Go、Ruby、Python、Node.js、PHP和客户端JavaScript。
Elastic APM如何帮助进行根本原因分析?
Elastic APM通过提供关键性能指标的历史和趋势,帮助用户进行根本原因分析,从而改善用户体验。