关于 observability-edot-python-instrument
指导为应用遥测配置 EDOT Python 自动插桩的技能,面向为 Python 服务添加插桩的开发者。它侧重环境变量配置,而非代码中的 SDK 初始化。
主要功能
- 01安装 `elastic-opentelemetry`
- 02为检测到的库引导插桩
- 03包装应用入口命令
- 04配置必需的 OTLP 环境变量
- 05避免冲突的导出器及 classic `elastic-apm`
适用场景
- 01在部署时为 Python 应用添加插桩
- 02将遥测配置为发送到托管 OTLP 端点或 EDOT Collector
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ elastic/ agent-skills --skill observability-edot-python-instrument安装后在 Claude Code 中输入/observability-edot-python-instrument确认已加载。
详细介绍
EDOT Python 插桩
进行更改前,请阅读设置指南:
指南
- 通过 pip 安装
elastic-opentelemetry(添加到requirements.txt或同等文件中) - 在构建镜像期间运行
edot-bootstrap --action=install,为检测到的库安装自动插桩包 - 使用
opentelemetry-instrument包装应用程序入口点,例如opentelemetry-instrument gunicorn app:app或opentelemetry-instrument python app.py。否则,不会收集任何遥测数据 - 仅设置以下三个必需的环境变量:
OTEL_SERVICE_NAMEOTEL_EXPORTER_OTLP_ENDPOINT— 必须是托管 OTLP 端点或 EDOT Collector URL。切勿使用 APM Server URL(不能包含apm-server、:8200或/intake/v2/events)OTEL_EXPORTER_OTLP_HEADERS—"Authorization=ApiKey <key>"或"Authorization=Bearer <token>"
- 不要设置
OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER或OTEL_LOGS_EXPORTER— 默认值已正确配置 - 不要添加代码级 SDK 设置(不使用
TracerProvider、configure_azure_monitor等)—opentelemetry-instrument会处理所有事情 - 切勿在同一应用程序上同时运行经典版
elastic-apm和 EDOT
示例
完整示例请参阅 EDOT Python 设置指南。
评论
支持 Markdown