OpenTelemetry 兼容性注意事项
Application Signals 目前为预览版。如果您对此功能有任何反馈,可以通过 app-signals-feedback@amazon.com
要使用 CloudWatch Application Signals 载入您的应用程序,我们建议您事先从应用程序中完全移除所有现有的应用程序性能监控解决方案。这包括移除所有检测代码和配置。
尽管 Application Signals 使用 OpenTelemetry 检测,但不能保证与您现有的 OpenTelemetry 检测或配置兼容。在最理想的情况下,您可以保留一些 OpenTelemetry 功能,例如自定义指标。但是,请务必阅读以下部分以了解详细信息。
您已经在使用 OpenTelemetry 时的注意事项
如果您已经在应用程序中使用 OpenTelemetry,则本节的其余内容将包含实现与 Application Signals 兼容的重要信息。
在为应用程序启用 Application Signals 之前,必须从应用程序中移除基于 OpenTelemetry 的任何其他自动检测代理的注入。这有助于避免配置冲突。您可以继续使用兼容的 OpenTelemetry API 及 Application Signals 手动检测。
如果您使用手动检测从应用程序生成自定义跨度或指标,则根据检测的复杂性,启用 Application Signals 可能会导致应用程序停止生成数据或出现其他不良行为。您可以使用 OpenTelemetry 中的一些可用配置(本节后面的表格中提到的配置除外)来保留现有指标或跨度的预期行为。有关这些配置的更多信息,请参阅 OpenTelemetry 文档中的 SDK 配置
。 例如,通过使用
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
配置和自行管理的 OpenTelemetry Collector 实例,您可以继续将自定义指标发送到所需的目标。某些环境变量或系统属性不得与 Application Signals 一起使用,但可以使用其他变量或系统属性,前提是遵循表中的指导。有关详细信息,请参阅下表。
环境变量 | 与 Application Signals 一起使用的建议 |
---|---|
通用环境变量 |
|
|
不得设置为 |
|
必须设置为 |
|
不得使用。 |
|
不得使用。 |
|
如果已设置,则必须设置得足够高,以包含由 CloudWatch Application Signals 添加的约 10 个额外跨度属性。 |
|
如果已设置,则必须包含用于端跟踪的 |
|
如果已设置,则必须为 要使用本地采样,请将其设置为 |
|
如果您使用默认的 X-Ray 集中跟踪样本,则不得使用此变量。 如果您改用本地采样,请在此变量中设置采样率。例如,对于 5% 的采样率设置为 |
Java 特定的环境变量 |
|
|
如果已设置,则必须包含 Amazon 资源检测器。 |
Python 特定的环境变量 |
|
|
如已使用,则必须设置为 |
|
如已使用,则必须设置为 |