1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | edot-python-instrument-elastic-agent-skills |
| 作者/维护者 | Elastic(官方 GitHub 组织) |
| 来源链接 | https://github.com/elastic/agent-skills/tree/main/skills/observability/edot-python-instrument |
| 许可证 | Apache-2.0(数据来自 GitHub API,License 适用于整个仓库) |
| GitHub Stars / Forks | 545 / 44(数据来自 GitHub API;这两个数字属于整个 elastic/agent-skills 合集仓库,不代表本子技能个体热度,详见第 6 章说明) |
| 最新版本 | 0.1.0(SKILL.md 元数据) |
| 安装方式 | Claude Code 原生插件市场 / GitHub Copilot CLI 插件市场 / 本地克隆 + 官方安装脚本 / 第三方 npx skills 安装器,详见第 10 章 |
2. 功能介绍与亮点
edot-python-instrument 教 coding agent 为一个尚未接入可观测性的 Python 服务,正确接入 Elastic Distribution of OpenTelemetry(EDOT)Python agent,拿到自动化的 tracing、metrics、logs 采集。整套指令压缩成一份不到 2KB 的清单:pip 安装 elastic-opentelemetry → 镜像构建阶段运行 edot-bootstrap --action=install 自动探测已装库并装好对应埋点包 → 用 opentelemetry-instrument 包装应用入口 → 只设置三个必需环境变量(服务名、正确的 OTLP 端点、鉴权 Header)。
亮点是把几类 agent 常见踩坑点写成“禁止项”堵死:不要额外设导出器类型变量、不要手写 TracerProvider 等 SDK 初始化代码、不要同时启用经典 elastic-apm 与 EDOT、端点不能填成旧版 APM Server 地址。它是 Elastic 官方 observability 技能组成员之一,姊妹技能覆盖 Java、.NET 的对应埋点与“从经典 APM agent 迁移到 EDOT”两类场景,结构相同。
3. 适用场景
固定分类:DevOps 与基础设施
适合团队第一次给还没有 APM 埋点的 Python 服务接入 OpenTelemetry,尤其是选定 Elastic 作为可观测性后端的团队——agent 可照单执行,避开“端点填错”“新旧 agent 同时启用冲突”这类常见错误。
4. 跨 Agent 兼容性
- Claude Code:原生支持。仓库提供 Claude Code 插件市场安装路径(
claude plugin marketplace add+claude plugin install observability@elastic-agent-skills)。 - Codex:原生支持。仓库自带的本地安装脚本内置
codex目标,会把技能写入 Codex 的.agents/skills目录。 - OpenClaw:官方仓库与安装脚本均未点名。SKILL.md 遵循 agentskills.io 开放格式的纯文本标准,理论上可手动放入对应目录使用;第三方技能目录 remoteopenclaw.com 将其列为兼容 OpenClaw,这是该第三方安装器自身的声明,并非 Elastic 官方点名。
- Hermes Agent:未验证,抓取到的材料均未提及。
5. 推荐理由
它把“给 Python 服务接入 OpenTelemetry”压缩成一份可直接照做的清单,把最容易踩的坑(端点填错、新旧 agent 同装、手写多余 SDK 初始化代码)在指令层面堵死。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | Elastic 官方组织出品;因合集仓库整体星标不代表单个子技能热度,改看该子技能自身证据——第三方技能目录 remoteopenclaw.com 记录其安装量为 1,084 次并标注“持续增长”,同时该目录给出的量化评分处于中等偏下区间 |
| 可用性 | 7 | 安装步骤清晰(pip 安装 + 一条自举命令 + 包装入口 + 三个环境变量),但 SKILL.md 本身不含完整代码示例,具体范例需要点开外部 Elastic 官方文档链接查看 |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
① shell 命令及权限——SKILL.md 不含脚本,只指导安装标准 PyPI 包与设置环境变量
② 联网外发数据——埋点数据经 OTLP 协议发到用户自己指定的 Elastic 端点,端点由使用者自行配置而非硬编码
③ API key/凭据存储——OTEL_EXPORTER_OTLP_HEADERS 携带鉴权 Token,以标准环境变量存储,未见明文硬编码
④ 可疑指令——全文通读未发现 prompt 注入或隐藏指令
⑤ 作者/组织信誉——Elastic 为知名开源可观测性公司官方账号
⑥ License——Apache-2.0,明确
⑦ 最近维护时间——所属仓库整体近日仍有提交;该子技能文件自身内容已数月未变
7. 跟同类 Skills 相比的优势
同样面向“教 coding agent 接入 OpenTelemetry”这个细分方向,dash0hq/agent-skills(Dash0 官方出品,Apache-2.0,80★)是一个值得对照的同类项目:
| 维度 | edot-python-instrument | dash0hq/agent-skills |
|---|---|---|
| 定位 | 绑定 Elastic 后端的多语言埋点/迁移技能对,Python/Java/.NET 各一对 | 面向多语言的通用 OpenTelemetry 最佳实践指南,附带可选的 Dash0 后端集成步骤 |
| 后端假设 | 明确指向 Elastic 的托管 OTLP 端点,配置细节围绕 Elastic 特有的鉴权与端点格式 | 优先讲通用 OTel 规范,是否接入 Dash0 是最后一步的可选项 |
| 内容形态 | 单文件清单式指令(约 2KB),细节通过外链指向 Elastic 官方文档 | 附带自动化评估套件(evals/ 目录)与更完整的参考文档集 |
核心差异是“后端已定”还是“未定”:团队已用或打算用 Elastic 时,edot-python-instrument 直接对齐它的托管端点配置细节;后端厂商未定、想先按通用规范把埋点做对,dash0hq/agent-skills 更少绑定单一厂商。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。第三方技能目录 remoteopenclaw.com 记录其安装量为 1,084 次,并给出一个拆解为 popularity / completeness / trust / freshness 四项子分的量化评分(综合 58/100,C 档)。
9. 其他补充
同一个 observability 技能组内还有面向 Java、.NET 的对应埋点技能,以及各自“从经典 Elastic APM agent 迁移到 EDOT”的配套迁移技能,均采用与本技能相同的清单式结构,供已经用其他语言栈、或已经在用经典 APM agent 的团队参考。
10. 安装使用方式
方式一(Claude Code 用户推荐):
claude plugin marketplace add https://github.com/elastic/agent-skills
claude plugin install observability@elastic-agent-skills
方式二(Codex 及其他,本地克隆):
git clone https://github.com/elastic/agent-skills.git
cd agent-skills
./scripts/install-skills.sh add -a codex
(-a 后可替换为脚本支持的其他 agent 标识,如 cursor、opencode)
方式三(GitHub Copilot CLI):
copilot plugin marketplace add elastic/agent-skills
copilot plugin install observability@elastic-agent-skills
方式四(第三方 npx 安装器):
npx skills add elastic/agent-skills --skill observability-edot-python-instrument
该安装器(vercel-labs/skills)目前有两个尚未修复的公开 issue,涉及未经同意上传使用数据、审计上报不受禁用开关约束,选用前建议先了解最新状态。
安装后注意:Claude Code 插件如未立即生效,需重启会话(README 记录的已知问题);技能本身是指导性文本,实际埋点仍需在项目里真实执行 pip install elastic-opentelemetry 与 edot-bootstrap --action=install。
11. 注意事项
- 该子技能内容非常精简(不到 2KB),不含完整代码示例,遇到复杂场景时 agent 需要自行查阅 SKILL.md 中链接的外部 Elastic 官方文档。
- 强绑定 Elastic 作为可观测性后端——明确要求填入 Elastic 的 OTLP 端点,不适合还未确定后端厂商、希望保持中立的团队。
- 若通过
npx skills安装器安装,需留意该第三方工具尚未修复的遥测/隐私投诉(见第 10 章)。 - 是否兼容 OpenClaw、Hermes Agent 未获得官方渠道验证。