SuperAPI AI 工具集

firetiger-instrument

部署与运维

查看项目

更新于 10-15 21:42

技能介绍

用途:给应用做 OpenTelemetry 埋点,把 traces(以及 logs/metrics)导出到 Firetiger。仅负责埋点,完整接入(连接集成、创建监控代理)需用 firetiger-setup。

主要能力与流程:先通过 Firetiger MCP 工具 get_ingest_credentials 获取 OTLP 端点、用户名和密码;若 MCP 工具不可用,提示用户连接 Firetiger MCP 服务器(https://api.cloud.firetiger.com/mcp/v1)并登录后重试。随后检测框架并打开对应参考:next.config.js / next.config.ts(Next.js,使用 @vercel/otel)、package.json(Node.js / TypeScript)、requirements.txt / pyproject.toml / setup.py(Python)、go.mod(Go)、Cargo.toml(Rust)。同时检查是否已有埋点(搜索 @opentelemetry、opentelemetry、go.opentelemetry.io 导入);若有则只把 exporter 指向 Firetiger,而不再添加第二套 SDK。之后添加 SDK 初始化与环境变量、运行并验证数据到达。业务关键 span、日志/链路关联与属性实践见 references/custom-spans.md。

环境变量示例:OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.cloud.firetiger.com"(以 get_ingest_credentials 返回值为准)、OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic <base64(username:password)>"、OTEL_SERVICE_NAME="your-service-name"。Firetiger 摄取使用 HTTP Basic 认证,不是 Bearer。凭证文件需加入 .gitignore。

关键限制:OpenTelemetry 必须在其他导入之前初始化,否则自动埋点不会生效(如 node --import ./instrumentation.js …、opentelemetry-instrument python …,或在 main 顶部初始化)。常见错误:初始化晚于应用代码、误用 Authorization=Bearer、硬编码端点、叠加第二套 SDK、生产使用 SimpleSpanProcessor(应改用 BatchSpanProcessor 加 gzip)、提交 .env.local、服务名不一致、缺少优雅关闭(SIGTERM 时调用 sdk.shutdown() 刷新缓冲 span)。验证时先 SHOW TABLES;,再用查询 SELECT name, start_time FROM "opentelemetry/traces/your-service-name" WHERE start_time >= NOW() - INTERVAL '15 minutes' LIMIT 10。若不写应用代码,只有平台日志/追踪或 Datadog Agent,应改用 firetiger-setup 配置 drain。