mcpField
O
observability-edot-python-instrument

observability-edot-python-instrument

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

关于 observability-edot-python-instrument

指导为应用遥测配置 EDOT Python 自动插桩的技能,面向为 Python 服务添加插桩的开发者。它侧重环境变量配置,而非代码中的 SDK 初始化。

主要功能

  1. 01安装 `elastic-opentelemetry`
  2. 02为检测到的库引导插桩
  3. 03包装应用入口命令
  4. 04配置必需的 OTLP 环境变量
  5. 05避免冲突的导出器及 classic `elastic-apm`

适用场景

  1. 01在部署时为 Python 应用添加插桩
  2. 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 插桩

进行更改前,请阅读设置指南:

指南

  1. 通过 pip 安装 elastic-opentelemetry(添加到 requirements.txt 或同等文件中)
  2. 在构建镜像期间运行 edot-bootstrap --action=install,为检测到的库安装自动插桩包
  3. 使用 opentelemetry-instrument 包装应用程序入口点,例如 opentelemetry-instrument gunicorn app:app 或 opentelemetry-instrument python app.py。否则,不会收集任何遥测数据
  4. 仅设置以下三个必需的环境变量:
    • OTEL_SERVICE_NAME
    • OTEL_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>"
  5. 不要设置 OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER 或 OTEL_LOGS_EXPORTER — 默认值已正确配置
  6. 不要添加代码级 SDK 设置(不使用 TracerProvider、configure_azure_monitor 等)— opentelemetry-instrument 会处理所有事情
  7. 切勿在同一应用程序上同时运行经典版 elastic-apm 和 EDOT

示例

完整示例请参阅 EDOT Python 设置指南。

评论

支持 Markdown