openlit 不提供 go sdk,而是通过 dev proxy + openaitelemetryplugin 截获 http 流量,再由 opentelemetry collector 以 otlp 协议转发至 openlit 接收端;golang 应用无需修改代码,只需将 llm 请求经 dev proxy(如 http://localhost:5050)转发,并正确配置 urlstowatch、collector 的 otlphttp/openlit exporter 及 authorization header。

OpenLIT 不是直接集成到 Golang 代码里的 SDK,而是通过 Dev Proxy + OpenAITelemetryPlugin 截获 HTTP 流量、再由 OpenTelemetry Collector 转发给 OpenLIT 的可观测性链路。硬编码 openlit 包或调用其 API 是无效的。
为什么不能直接 go get openlit?
OpenLIT 官方未提供 Go 语言的原生 instrumentation SDK(截至 2026 年 7 月)。它定位为后端可观测性接收端(类似 Jaeger 或 Grafana Tempo),只接收 OTLP 协议上报的 trace/metric 数据,不参与应用层请求发起。常见误区是把它当成 prometheus/client_golang 那类埋点库——实际不是。
- OpenLIT 的 role 是「接收并可视化」遥测数据,不是「采集」
- 真正负责采集的是
OpenAITelemetryPlugin(运行在 Dev Proxy 进程中) - Golang 应用本身只需正常发 HTTP 请求,无需修改任何业务代码
必须配置的三个组件及其作用
要让 Golang 调用 LLM 的行为出现在 OpenLIT 里,需串联以下三者:
-
Dev Proxy:本地代理服务,监听
http://localhost:5050,所有 LLM 请求必须经它转发 -
OpenAITelemetryPlugin:插件,自动识别
/chat/completions等路径,提取model、input_tokens、output_tokens、cost等字段,生成 OpenTelemetry span -
OpenTelemetry Collector:接收 Dev Proxy 发来的 OTLP 数据(默认走
localhost:4317),再转推至 OpenLIT 实例(需配置exporters.openlit或通用otlphttp)
devproxyrc.json 中 urlsToWatch 必须精确匹配
如果 Golang 代码请求的是 Azure OpenAI,但 urlsToWatch 只写了 https://api.openai.com/*,插件不会触发。常见漏配场景:
使用 uber-go/dig 在 Golang 中实现依赖注入——基于反射容器,提供 Provide/Invoke、dig.In/dig.Out 参数与结果对象,支持命名依赖等
- Azure 部署地址形如
https://<name>.openai.azure.com/openai/deployments/<id>/chat/completions</id></name>→ 必须写成"https://*.openai.azure.com/openai/deployments/*/chat/completions*" - 国内代理地址如
https://api.openai-proxy.com/v1/chat/completions→ 必须显式加入,通配符*不会自动覆盖子路径 - 若用自建网关(如 Kong / Envoy),需把网关出口域名而非上游模型地址填入
urlsToWatch
OpenTelemetry Collector 到 OpenLIT 的导出配置
Collector 的 config.yaml 中,不能只配 exporters.jaeger 或 exporters.logging。OpenLIT 需要明确 endpoint 和 API key:
exporters:
otlphttp/openlit:
endpoint: "https://openlit.example.com:443/v1/otlp"
headers:
Authorization: "Bearer <your-openlit-api-key>"
service:
pipelines:
traces:
exporters: [otlphttp/openlit]</your-openlit-api-key>
注意:endpoint 地址以 OpenLIT 控制台提供的为准(可能是 SaaS 地址或私有部署 IP),且必须启用 HTTPS;Authorization header 的值是 OpenLIT 分配的唯一密钥,不是 OpenAI 的 sk-xxx。
漏掉 headers.Authorization 或填错 endpoint,Collector 日志会报 HTTP 401 或 connection refused,但 Dev Proxy 和 Golang 应用完全无感知——指标就静默丢失了。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










