mcpField
O
observability-edot-python-migrate

observability-edot-python-migrate

github.com/elastic云与 DevOps6022.7k 次安装今天更新
代码仓库

关于 observability-edot-python-migrate

此技能指导将 Python 应用从经典 Elastic APM 迁移到 EDOT。它面向负责应用遥测配置的开发者,提供移除旧配置、安装自动埋点并设置 OTLP 导出的迁移要点。

主要功能

  1. 01移除经典 APM 依赖和配置
  2. 02安装 elastic-opentelemetry
  3. 03通过 edot-bootstrap 安装自动埋点
  4. 04使用 opentelemetry-instrument 启动应用
  5. 05配置 OTLP 端点和授权头

适用场景

  1. 01将 Python 服务从经典 APM 迁移至 EDOT
  2. 02调整应用入口以启用自动埋点
  3. 03配置遥测服务名、端点和认证

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/elastic/agent-skills --skill observability-edot-python-migrate

安装后在 Claude Code 中输入/observability-edot-python-migrate确认已加载。

详细介绍

EDOT Python 迁移

进行更改前,请阅读迁移指南:

指南

  1. 移除所有经典 APM 相关引用:从 requirements 中移除 elastic-apm,从应用代码中移除 ElasticAPM(app) / elasticapm.contrib.*,移除 app.config['ELASTIC_APM'] 配置块以及所有 ELASTIC_APM_* 环境变量
  2. 使用 pip 安装 elastic-opentelemetry(添加到 requirements.txt 或等效文件中)
  3. 在映像构建期间运行 edot-bootstrap --action=install,为检测到的库安装自动插桩包
  4. 使用 opentelemetry-instrument 包装应用入口点,例如 opentelemetry-instrument gunicorn app:app。否则,不会收集任何遥测数据
  5. 设置恰好 3 个必需的环境变量:
    • OTEL_SERVICE_NAME(取代 ELASTIC_APM_SERVICE_NAME)
    • OTEL_EXPORTER_OTLP_ENDPOINT——必须是托管 OTLP 端点或 EDOT Collector URL。请勿重复使用旧的 ELASTIC_APM_SERVER_URL 值。切勿使用 APM Server URL(不得包含 apm-server、:8200 或 /intake/v2/events)
    • OTEL_EXPORTER_OTLP_HEADERS——"Authorization=ApiKey <key>" 或 "Authorization=Bearer <token>"(取代 ELASTIC_APM_SECRET_TOKEN)
  6. 请勿设置 OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER 或 OTEL_LOGS_EXPORTER——默认值已经正确
  7. 切勿在同一个应用中同时运行经典 elastic-apm 和 EDOT

示例

完整示例请参阅 EDOT Python 迁移指南。

评论

支持 Markdown