New Relic 与 Elastic Observability:从未知错误查到一次请求

以支付错误调查比较 New Relic 与 Elastic Observability 的日志解析、请求关联、OpenTelemetry 接入和不同部署成本。

应用与观测数据工作台示意

支付网关返回了一个以前没有见过的错误码。应用延迟曲线能告诉你异常从什么时候开始,却回答不了哪些商户受影响、错误是否集中在某个路由,以及超时前那次重试发生了什么。这时,日志中的字段能不能被提取、组合并追到请求,往往决定调查能否继续。

New Relic 与 Elastic Observability 都能做应用与日志分析。差别不宜概括成“一个全栈,一个搜索”:Elastic 也有 APM 和基础设施能力,New Relic 也能解析日志和做临时查询。更有用的比较,是把这次未知错误放进各自的数据组织、查询和部署方式里,看看团队需要维护什么。

错误出现之后,还能提取新字段吗

New Relic 日志解析 区分入库时创建永久属性,以及查询时创建临时属性。前者适合持续告警和常用报表;后者可以帮助调查已经入库、当时没专门提取字段的日志。只要原始消息仍保留,就不必为了回答一个新问题等待下一批日志。

但查询中出现了一个字段,不等于存储中的记录已经改变。查询时解析文档 明确说明,临时属性不进入导出日志,也不会自动出现在 Live tail 中。若商户错误码后来成为长期监控条件,就应重新设计稳定的解析和查询,而不是依赖某位工程师当前会话中的临时视图。

Elastic 也有不同查询入口。KQL 主要负责筛选,不承担聚合、转换或排序;ES|QL 则用管道组合过滤、计算和分析。把两者都称为“Kibana 查询语言”,容易让试用者拿错工具。

例如先筛出新错误码,再按商户与服务版本聚合,需要的是可分析的字段与相应分析语句。如果错误码还埋在文本里,ES|QL 的 DISSECT 或 GROK 可以用于查询时提取;是否值得长期保留为索引字段,则是另一个数据设计问题。入门文档 展示了这类处理。这里没有证据证明某一方对所有日志都搜索得更快,应该用自己的格式、时间范围和并发调查验证。

搜到错误之后,要能回到请求

排障不会停在一张“错误码最多的商户”表格上。工程师还要知道是连接支付接口变慢,还是应用在重试前已经等待数据库。New Relic 的 APM logs in context 可以通过受支持 Agent 为日志补充 trace、span 和实体元数据,并支持日志转发。具体行为仍取决于语言 Agent、版本及配置。

Elastic 的 日志关联文档 则区分服务级和链路级关联:服务名称、版本、环境用于连接服务,trace 与 transaction 标识用于连接请求。把日志与链路放在同一个平台,并不会替缺失的标识建立事实上的关联。

试用可以从一笔已知失败的支付开始。先按错误码找到日志,再进入对应链路,确认重试顺序和耗时,最后回到同版本的其他请求。保留链路采样不足、日志字段被重命名或两种数据保留期不同,都可能让这个过程断开。漂亮的服务地图不能代替这一条具体路径。

Elastic 的接入路径随部署方式变化

New Relic 提供原生 OTLP 接入,不要求所有应用都换成自家 Agent。Elastic 同样推进 OpenTelemetry,但不能将所有 EDOT 配置视为通用的“填一个地址”。

当前 Elastic 接入指南 明确区分云端 Managed OTLP Endpoint 与自管环境的 gateway 路径。EDOT SDK 不应直接指向 APM Server 的 OpenTelemetry intake;自管、ECE、ECK 需要按受支持方案使用 Elastic Agent gateway。Stack 与 Agent 的版本兼容也需要核对,而 Serverless 不要求客户选择 Stack 版本。

Managed OTLP 路径还有自己的功能边界,当前文档列出不支持 tail-based sampling 和 Universal Profiling。不能把这句话扩大为“Elastic 没有这些能力”,也不能把其他部署方式的能力套到这个入口。对于既要尾部采样又要统一采集的团队,接入架构本身就是选型的一部分。

如果已有 Elastic APM 或 Beats,迁移时还要检查重复上报。新旧采集同时开启有助于对照,却可能产生两份数据、不同字段命名和重复告警。应先定义验收窗口和回退方式,再决定何时关闭旧路径。

自管、Hosted 与 Serverless 不是同一份运维任务

Elastic 允许自管,也提供 Cloud Hosted 和 Serverless。官方对照 区分了资源控制、版本管理和功能范围。Serverless 管理底层基础设施与升级,不需要团队选择节点规模;Hosted 和自管给出不同程度的控制,也留下不同运维责任。

因此,“Elastic 运维很重”只对某些选择有意义。自管团队确实要安排容量、备份、恢复和升级,但不能把这些工作原封不动算在 Serverless 客户身上。同样,托管消除了部分集群维护,却不会替团队决定字段、权限、数据保留和告警负责人。

许可也不宜用“完全开源免费”带过。Elastic 许可 FAQ 区分默认发行版的 ELv2,以及适用免费源代码部分的 AGPLv3、SSPL、ELv2 选择;产品订阅能力另有边界。源码可用、发行版许可与某项观测功能是否包含,是三个不同问题。

日志留得久,费用由什么增加

Elastic Observability Serverless 区分 Logs Essentials 和 Complete。基础费用看摄取与保留;数据量按摄取管道结束后、压缩前的完整标准化数据计算,不能拿磁盘上的压缩索引大小直接估算账单。以 time series index mode 保存的指标还有相应计价规则,不能把日志费率统一套给所有信号。Synthetics、Agent Builder 等能力存在额外计量。

New Relic 的 Data + User 与 Data + Core Compute 也不是同一个模型;Core Compute 当前仍标为 Preview,Advanced Compute 另有范围。长期保留则应按数据命名空间核对,不能用一个“平台保留天数”替代日志、span 和其他数据的实际设置。

对支付场景,成本估算可以分成日常告警所需的近期日志、偶发调查需要的历史、以及必须保留的审计数据。再统计实际查询频率、参与调查的人数和采集处理资源。若把所有数据都按最长周期保存,比较出来的往往是过度保留方案,而不是产品的合理成本。

从已有工作方式判断更实际

如果调查主要从应用服务开始,团队已有 New Relic 的采集、关联和告警,先把缺失字段与保留策略补齐,可能就能解决眼前问题。如果团队需要更深地控制日志结构、查询处理和部署方式,Elastic 值得围绕同一组支付记录验证,并明确选择 Hosted、Serverless 还是自管。

两者都不应因为“统一平台”就被假定自动解决上下文。选定一条能走通的调查路径,记录所需权限、查询、字段与留存,再让另一位工程师复做一次,比功能数量或未经实测的排名更接近真实使用成本。

在观测云中检查关联是否完整

也可以用观测云的链路详情查看请求,并核对关联日志与服务上下文。对同一笔失败支付,先确认必要标识已被采集和保留,再评价调查体验;不会因为换了平台就自动获得缺失的数据。

资料核对日期:2026 年 10 月 21 日。本文依据官方文档,不包含查询性能或总成本实测。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台