Skip to Content
API 参考上报端点参考

上报端点参考

本页集中列出 Argus 上报网关(Ingestion) 的写入端点。所有上报都需 DSN + HMAC-SHA256 签名 认证,机制见 DSN 与 HMAC 签名

绝大多数场景用对应平台的 SDK 即可,它们已封装签名、批量、重试与降级。本页面向 需要自定义客户端或理解底层协议的场景。

认证:HMAC 签名

每个请求按 canonical 串 METHOD\nPATH\nTS\nsha256hex(BODY) 计算 HMAC-SHA256,用 DSN 的 secret_key 签名。各语言 SDK(go / node / python / java / rust)与服务端逐字节一致(已交叉验证)。签名头与时间戳 的具体字段名以 DSN 与 HMAC 签名sdks/common-protocol 为准。

核心写入端点

上报网关注册以下 HMAC 认证的写入端点(源码见 services/ingestion/main.go):

POST /v1/events — 统一事件端点

端上 SDK 的主上报通道。日志 / 崩溃 / APM / 埋点 / trace 都走这一个端点,用请求体内的 channellog / crash / apm / track / trace)区分类型(ADR-0038 统一协议 · 方案 B)。

  • 认证:DSN + HMAC
  • 请求体EventBatch(批量事件,JSON),字段跨端逐字节一致
  • 典型响应200(接收);配额耗尽 402;速率过快 429 + Retry-After

POST /v1/backend/logs — 后端 SDK 日志

后端 SDK(go / node / python / java / rust)的应用日志上报通道。

  • 认证:DSN + HMAC
  • 请求体:批量日志条目(JSON)

POST /v1/experiment — 实验事件

A/B 实验的曝光(exposure)与转化(conversion)上报。

  • 认证:DSN + HMAC
  • 请求体:实验事件(JSON)
  • 对应能力A/B 实验

trace span 也经统一 EventBatch 上报到 /v1/eventschannel="trace"),而非独立 trace 端点—— 这样端 + 后端的 span 用同一条摄取管线,见 分布式追踪

相关端点

以下端点由其他服务提供,认证方式因场景而异:

端点用途说明
POST /v1/logs/upload日志回捞文件上传设备被远程触发后上传本地加密日志,见 日志回捞
/v1/feedback/v1/feedback/attachments用户反馈与富媒体附件用户反馈

行为约定(SDK 侧)

方面行为
批量事件入缓冲,按间隔 / 满批 / 手动 flush 批量上报
重试5xx / 网络错误指数退避重试;4xx(鉴权 / payload)立即丢弃不重试
背压缓冲超上限 drop-oldest(保留最新窗口)
配额收到 402 停止重试该类事件并走本地降级队列;429Retry-After 退避

常见问题

Q:我一定要手写 HMAC 签名吗? 不需要。用 SDK 即可,签名由 SDK 内部处理。只有自定义客户端才需手工实现。

Q:为什么崩溃和日志用同一个端点? 统一 /v1/events 让所有端上数据走同一条摄取 + 存储管线,用 channel 区分。这是 Argus”多能力统一 接入框架”的一部分,见 平台架构

Q:查询数据用哪个 API? 上报(写)用本页端点 + HMAC;查询(读)用 PAT Bearer,见 API 总览与认证OpenAPI