当前位置: 首页 > news >正文

Elastic APM 2025 新特性:Tail-based Sampling 和 GenAI 优化

引言

随着 2025 年的到来,Elastic APM 继续演进,以应对云原生和 AI 驱动应用的复杂需求。Elastic Stack 的最新版本(9.x 系列)引入了多项创新特性,包括 Tail-based Sampling 用于更智能的数据采样、GenAI 应用的 LLM 追踪支持,以及 Java Agent 对 MongoDB 5.x 的增强。 这些更新不仅提升了性能监控的效率,还帮助开发者在混合云环境中实现更精确的异常检测和根因分析。本文基于 Elastic 官方发布笔记,探讨这些新特性,并提供实际集成指南,帮助您升级 APM 栈以适应现代开发挑战。

Tail-based Sampling:智能采样策略的革命

Tail-based Sampling 是 Elastic APM 8.19+ 和 9.x 版本的核心新特性,它重写了存储层,使用 Pebble 数据库取代 BadgerDB,大幅提升了吞吐量并降低了内存消耗。 传统采样(如头采样)在高负载下可能丢失关键慢事务,而 Tail-based Sampling 允许在数据到达 APM Server 后,根据事务持续时间或错误率动态决定是否保留,从而优先捕获有价值的追踪数据。

  • 优势:
    • 性能提升:基准测试显示,吞吐量增加 2-3 倍,磁盘使用量更稳定,内存占用减少 50% 以上。
    • 适用场景:微服务和 serverless 架构中,减少数据洪水,同时保留 99% 的异常事件。
    • 与机器学习的集成:结合 Elasticsearch ML,自动调整采样阈值,实现预测性采样。
  • 配置示例: 在 APM Server 的 apm-server.yml 中启用:
sampling:tail:enabled: truebackend: "pebble"  # 使用新存储引擎sample_rate: 0.1   # 初始采样率 10%keep_error_transactions: true  # 始终保留错误事务

对于 Agent 端,在 Java Agent 中设置 elastic.apm.sampling_rate=0.05 以配合服务器端采样。 重启 APM Server 后,在 Kibana 的 “APM > Settings” 中监控采样指标。

GenAI 应用优化:追踪大型语言模型 (LLM)

2025 年,Elastic APM 扩展了对生成式 AI (GenAI) 应用的监控,支持端到端追踪大型语言模型 (LLM) 的性能。 这包括捕获 LLM 调用延迟、令牌生成时间和上下文处理开销,帮助优化如 ChatGPT 或自定义 AI 服务的响应时间。

  • 关键功能:
    • 自动插桩:集成 OpenTelemetry (OTLP) 以追踪 LLM API 调用(如 OpenAI 或 Hugging Face)。
    • 异常检测:使用 ML 识别幻觉 (hallucination) 或高延迟模式,并关联到上游服务。
    • 移动端扩展:iOS 和 Android Agent 支持 GenAI 移动 App 的性能监控,捕获用户交互指标。
  • 集成步骤:
    1. 更新到 Elastic Stack 9.1.3(2025 年 8 月发布)。
    2. 在 Node.js Agent 中添加 LLM 追踪:
const apm = require('elastic-apm-node').start({serviceName: 'my-genai-app',serverUrl: 'https://your-apm-server:8200',captureBody: 'all'  // 捕获提示和响应体(注意隐私)
});
// 示例:追踪 OpenAI 调用
apm.startTransaction('llm-call', 'external.http');
// ... 调用 LLM ...
apm.endTransaction();
3. <font style="color:black;">在 Kibana “Observability > APM > Services” 中查看 GenAI 专用仪表板,分析令牌使用率和错误率。</font>

Java Agent 更新:MongoDB 5.x 支持与内存优化

Elastic APM Java Agent 在 2025 年 7 月 15 日的更新中添加了对 MongoDB 5.x 的完整插桩支持, 以及 OpenTelemetry 指标桥的属性缓存限制,防止内存压力。

  • 新特性:
    • MongoDB 集成:自动捕获 MongoDB 查询 Span,包括聚合管道和变更流,适用于现代 NoSQL 工作负载。
    • 内存管理:限制 OT 桥缓存大小,避免在高并发场景下 OOM(Out of Memory)。
    • HTTPS 修复:解决 Agent 与 APM Server HTTPS 通信的连接失败问题。
  • 最佳实践:
    • 下载最新 JAR:elastic-apm-agent-1.50.0.jar(假设 2025 版本)。
    • 配置:
java -javaagent:elastic-apm-agent.jar \
-Delastic.apm.service_name=my-java-genai \
-Delastic.apm.mongodb_max_spans=100 \
-Delastic.apm.otel_metrics_bridge_cache_size=1000 \
-jar app.jar
- <font style="color:black;">测试:在 Kibana 中查询 MongoDB Span,验证延迟分布。</font>

其他 2025 更新亮点

  • RUM JavaScript Agent:支持 INP (Interaction to Next Paint) 指标,取代 FID,提供更准确的用户体验监控。 还添加了错误标签支持和 gzip 压缩,提升浏览器端性能。
  • Node.js Agent:新增 kafkajs 插桩和 ARM64 Docker 支持,适用于 Kubernetes ARM 节点。
  • Fleet 管理修复:解决 APM Server 在热重载时的挂起问题,确保高可用性。

结论

2025 年的 Elastic APM 更新聚焦于采样效率、AI 集成和代理优化,使其成为 GenAI 和云原生应用的首选工具。通过 Tail-based Sampling 和 LLM 追踪,您可以显著降低运维成本并提升调试速度。 建议立即升级到 9.1.3 版本,从小规模测试开始,并监控 Kibana 中的新仪表板。未来,Elastic APM 将继续与 OpenTelemetry 深度融合,推动全栈可观测性创新。


文章转载自:

http://2jDhfJRe.wwgpy.cn
http://WWs40APp.wwgpy.cn
http://jzVVzKKB.wwgpy.cn
http://4pvTD7g1.wwgpy.cn
http://jtwhG7oL.wwgpy.cn
http://muD61Pkl.wwgpy.cn
http://0VdjAgI6.wwgpy.cn
http://AHMZP5TU.wwgpy.cn
http://y5SJtwSF.wwgpy.cn
http://G5blJcF4.wwgpy.cn
http://HQiwFOXN.wwgpy.cn
http://QTfAu0rW.wwgpy.cn
http://IFK1pIz1.wwgpy.cn
http://6gk9A9FQ.wwgpy.cn
http://Tr942VPI.wwgpy.cn
http://dInz2yEI.wwgpy.cn
http://VZt68AGl.wwgpy.cn
http://dEO7KDff.wwgpy.cn
http://2rLo5u3c.wwgpy.cn
http://qXAG3xkS.wwgpy.cn
http://fKe0Xi8t.wwgpy.cn
http://PbTqv0bE.wwgpy.cn
http://dC4HNvEH.wwgpy.cn
http://BY2px2up.wwgpy.cn
http://ZApcKFse.wwgpy.cn
http://F5pC2qHl.wwgpy.cn
http://8ds2wUp5.wwgpy.cn
http://NFY3mQhs.wwgpy.cn
http://2LgbjU1v.wwgpy.cn
http://f7k5Maes.wwgpy.cn
http://www.dtcms.com/a/384892.html

相关文章:

  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘sklearn’ 问题
  • 《二战系统分析师》第五章总结
  • 机器学习中的距离总结
  • MongoDB集群开发完全指南:从原理到实践
  • apache phoenix sql 命令大全详解
  • python 读取大文件优化示例
  • 布草洗涤厂设备租赁押金原路退回系统—东方仙盟
  • JAVASCRIPT 前端数据库-V9--仙盟数据库架构-—仙盟创梦IDE
  • 开源AI大模型、AI智能名片与S2B2C商城小程序:从“不出现=不存在”到“精准存在”的数字化转型路径
  • LNMP环境搭建:高效Web服务器指南
  • ACP(三):让大模型能够回答私域知识问题
  • Angle-Based SLAM on 5G mmWave Systems: Design, Implementation, and Measurement
  • 京瓷1025打印机打印有底灰简单处理
  • UE5 播放关卡时,将渲染画面的相机转变为关卡序列中的相机
  • JavaSE 异常
  • Unity Excel数据导入工具
  • 镭神C16在Ubuntu下的连接和驱动安装教程
  • 如何在qt中配置libssh
  • 使用 Spring Boot 3.x 集成 Kafka 并在 Kubernetes 上部署的全流程指南
  • 记录本地安装anaconda pytorch python
  • 关于机器学习中的各种“学习”
  • Parlant框架深度技术解析:革命性AI代理行为建模引擎
  • 疯狂星期四文案网第68天运营日记
  • RabbitMQ 消息路由与交换机机制
  • 月视图,周视图,日视图
  • RabbitMQ 数据结构源码剖析
  • Redis 内存优化与管理机制(内存碎片、LRU、惰性删除、内存回收策略)
  • 嵌入式学习day49-硬件-UART
  • 通信模组性能调优
  • Redis 实战指南:数据库选型 + 高可用(主从 / 哨兵)+ 集群搭建