收集应用程序数据
Elastic Stack Serverless
注意
对于 Observability Serverless 项目,需要 Admin 角色或更高权限才能将 APM 数据发送到 Elastic。有关更多信息,请参阅 分配用户角色和权限。
注意
想快速入门?请参阅 追踪和 APM 入门。
使用 Elastic APM 代理或 OpenTelemetry 语言 SDK,使用服务编写的语言来仪器化服务
- Elastic APM 代理:Elastic APM 代理是与您的服务使用相同语言编写的仪器化库。
- OpenTelemetry:OpenTelemetry 是一套开源的 API、SDK、工具和集成,能够捕获和管理来自您的服务和应用程序的遥测数据。Elastic 提供了 Elastic Distributions of OpenTelemetry (EDOT),这些是针对与 Elastic 后端配合使用的 OpenTelemetry 语言 SDK 的定制版本。
不确定哪种方法适合您? 下面比较了可用选项。
| Elastic APM 代理 | Elastic Distributions of OpenTelemetry (EDOT) | |
|---|---|---|
| 支持级别 | 完全支持 | 对可用语言完全支持 |
| 数据协议 | Elastic 协议 | OpenTelemetry 协议 (OTLP) |
| 集中配置 | 支持 请参阅 APM 代理集中配置 |
不支持 |
| Language | Elastic APM 代理 | Elastic Distributions of OpenTelemetry (EDOT) |
|---|---|---|
| Android | Elastic OTel Android Agent | |
| Go | Go agent | |
| iOS | Elastic APM iOS Agent | |
| Java | Java 代理 | EDOT Java |
| .NET | .NET agent | EDOT .NET |
| Node.js | Node.js 代理 | EDOT Node.js |
| PHP | PHP agent | EDOT PHP |
| Python | Python agent | EDOT Python |
| Ruby | Ruby agent |
Elastic 还提供了一些工具来帮助您从特定服务收集数据
- Kubernetes:Kubernetes 的 Elastic APM 附加组件简化了应用程序 pod 的仪器化和配置。在 Kubernetes 的 APM 附加组件文档 中了解更多信息。
- AWS Lambda Functions:帮助您监控 AWS Lambda 函数。在 AWS Lambda 的 APM 架构文档 中了解更多信息。
- Jaeger (已弃用):帮助您将现有的 Jaeger 设置从默认的 Jaeger 后端切换到 Elastic Stack。在 与 Jaeger 集成 中了解更多信息。