前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elastic APM 和 OpenTelemetry 集成

Elastic APM 和 OpenTelemetry 集成

原创
作者头像
点火三周
发布2022-05-30 15:58:58
3.5K0
发布2022-05-30 15:58:58
举报

什么是 OpenTelemetry?

OpenTelemetry是一个云原生计算基金会 (CNCF) 沙盒项目,它提供了供应商中立的、特定于语言的代理、SDK 和 API,您可以使用它们从所有受监控的应用程序中收集分布式跟踪、指标和日志数据。OpenTelemetry 代理能够自动检测应用程序代码以显示性能数据,这些数据对于帮助您了解服务的健康状况非常重要——为应用程序开发人员提供了选择和选择哪些代理监控其应用程序的灵活性。 

致力于开放标准支持

从开源到开源代码,开放性是我们 Elastic 的 DNA。我们不仅从我们编写和发布的代码的角度,而且从我们摄取的数据的角度来拥抱这种开放性。我们一直站在采用开放标准的最前沿,以此为我们的用户提供灵活性,让他们可以选择他们希望如何将数据传送到 Elasticsearch 并利用 Elastic Stack 的功能。这种支持开放标准的承诺体现在我们对其他开放标准和其他流行的开源项目的支持上,例如 PrometheusOpenTracingW3C Trace-ContextJaeger

2019 年初,OpenTracing 和 OpenCensus 开始了标准化 API 并构建完整解决方案的旅程,使用户能够更轻松地跨所有检测服务捕获跟踪和遥测数据。在Elastic APM中构建了对 OpenTracing 的支持后,我们作为 OpenTelemetry 项目的成员积极参与。

腾讯和Elastic积极贡献Opentelemetry标准
腾讯和Elastic积极贡献Opentelemetry标准

如何开始使用 Elastic APM 和 OpenTelemetry

Elastic的OpenTelemetry Collector Exporter在 7.13 中被弃用 (参看前文:Elastic APM 和 OpenTelemetry 集成 (使用otel collector),取而代之的是 Elastic Observability (OTLP) 中对 OpenTelemetry Line Protocol 的原生支持。要了解更多信息,请参阅迁移

Elastic APM Server 原生支持 OpenTelemetry 协议。这意味着从您的应用程序和基础设施收集的跟踪数据和指标可以使用 OpenTelemetry 协议直接发送到 Elastic APM 服务器。

OpenTelemetry Elastic 架构图
OpenTelemetry Elastic 架构图

概念验证

我们只需要通过以下命令进行简单的应用埋点:

代码语言:javascript
复制
export OTEL_RESOURCE_ATTRIBUTES=service.name=otelDemoService,service.version=1.1,deployment.environment=production
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:8200
export OTEL_METRICS_EXPORTER="otlp" 
export OTEL_LOGS_EXPORTER="otlp" 
java -javaagent:./opentelemetry-javaagent.jar -jar test-0.0.1-SNAPSHOT.jar

既可以将Open telemetry收集的数据在Elastic APM上进行分析:

这里不只是分布式追踪的数据,包括Open Telemetry采集的日志、指标等数据,也可以同步在Kibana上查看(注意,这里并没有安装filebeat):

解决方案的灵活性

通过将 OpenTelemetry 与Elastic Observability解决方案和 Elastic Stack 相结合,您可以灵活地选择要使用哪些代理(Elastic 或 OpenTelemetry)来检测您的应用程序。无论您选择什么,您都可以在 APM 应用程序中可视化端到端的分布式跟踪。您还可以获得一个统一的解决方案来可视化跟踪以及指标和日志、强大的分析以及机器学习和具有灵活性和规模的警报等功能的好处。

随着 OpenTelemetry 发展为包含指标和日志,我们将努力增强我们的支持,以便您可以将我们的代理和 Beats 与 OpenTelemetry 代理无缝结合使用。同时,如果您正在寻找捕获指标或日志,您可以使用MetricbeatFilebeat模块为您提供监控堆栈的完整可见性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 OpenTelemetry?
  • 致力于开放标准支持
  • 如何开始使用 Elastic APM 和 OpenTelemetry
  • 概念验证
  • 解决方案的灵活性
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档