节点在线、应用在线、配置在线使用令牌查询
|
# APM-17 监控接入 API
> 版本:v1.0 | 日期:2026-07-15
> 对应需求:APM-17 éž .NET 平尿ޥ入 API
---
## 概述
本文档é¢å‘éž .NET å¹³å°çš„å¼€å‘者,æè¿°å¦‚何通过 HTTP API 接入星尘监控平å°ï¼Œä¸ŠæŠ¥ APM æ•°æ®ã€‚
**æ ¸å¿ƒæ¦‚å¿µï¼š**
| 概念 | 说明 |
|------|------|
| **Trace(追踪)** | 一次完整的请求链路,由唯一的 `TraceId` æ ‡è¯† |
| **Span(片段)** | 追踪链路ä¸çš„一个æ“作片段,包å«å¼€å§‹/ç»“æŸæ—¶é—´ã€æ ‡ç¾ã€é”™è¯¯ä¿¡æ¯ |
| **Builder(构建器)** | 对åŒåæ“作的èšåˆç»Ÿè®¡ï¼ŒåŒ…嫿€»æ¬¡æ•°ã€é”™è¯¯æ•°ã€è€—æ—¶ç‰ï¼Œå¹¶é™„å¸¦é‡‡æ ·çš„ Span |
| **é‡‡æ ·** | æ¯ä¸ªå‘¨æœŸå†…,æ£å¸¸è¯·æ±‚åªä¿ç•™å°‘釿 ·æœ¬ï¼ˆMaxSamples),异常请求ä¿ç•™æ›´å¤šæ ·æœ¬ï¼ˆMaxErrors) |
---
## è®¤è¯æµç¨‹
```
客户端 星尘æœåŠ¡ç«¯
│ 1. POST /App/Login │
│ (AppId + Secret) │
├─────────────────────────────►│
│ 返回 JWT Token + 过期时间 │
│◄─────────────────────────────┤
│ 2. POST /App/Ping (Token) │
├─────────────────────────────►│
│ 返回新 Token(如å³å°†è¿‡æœŸï¼‰ │
│◄─────────────────────────────┤
│ 3. POST /Trace/Report │
│ (监控数æ®) │
├─────────────────────────────►│
│ è¿”å›žé‡‡æ ·å‚æ•° │
│◄─────────────────────────────┤
```
Token ä¼ é€’æ–¹å¼ï¼ˆæŒ‰ä¼˜å…ˆçº§ï¼‰ï¼šURL 傿•° `?Token=xxx` > `Authorization: Bearer xxx` > `X-Token: xxx`
---
## 接å£åˆ—表
### 1. ç™»å½•è®¤è¯ - POST /App/Login
```json
// Request
{
"AppId": "MyApp",
"Secret": "MySecret",
"ClientId": "192.168.1.100@12345"
}
// Response
{
"Token": "eyJhbG...",
"Expire": 7200
}
```
### 2. å¿ƒè·³ä¿æ´» - POST /App/Ping
```json
// Request
{
"Token": "eyJhbG...",
"ClientId": "192.168.1.100@12345",
"Version": "3.7.2026.0701",
"IP": "192.168.1.100",
"ProcessId": 12345
}
```
### 3. ä¸ŠæŠ¥ç›‘æŽ§æ•°æ® - POST /Trace/Report
```json
// Request Body
{
"AppId": "MyApp",
"ClientId": "192.168.1.100@12345",
"Version": "3.7",
"Period": 60,
"Builders": [
{
"Name": "http://example.com/api/users",
"StartTime": "2026-07-15T10:00:00",
"Total": 100,
"Errors": 2,
"Cost": 5000,
"Samples": [
{
"Id": "span-001",
"StartTime": "2026-07-15T10:00:01",
"EndTime": "2026-07-15T10:00:02",
"Tag": "GET /api/users",
"Error": ""
}
]
}
]
}
// Response
{
"Period": 60,
"MaxSamples": 1,
"MaxErrors": 10,
"Timeout": 5000,
"Excludes": ["/health", "/metrics"]
}
```
### 4. ä¸ŠæŠ¥åŽ‹ç¼©æ•°æ® - POST /Trace/ReportRaw
与 Report 接å£ç›¸åŒï¼Œä½†è¯·æ±‚体为 GZip 压缩的 JSON æ•°æ®ï¼Œ`Content-Type: application/x-gzip`。
---
## 多è¯è¨€ SDK 支æŒ
| SDK | ä½ç½® | 说明 |
|-----|------|------|
| Go | `SDK/Go/` | Go APM 监控 SDK |
| Python | `SDK/Python/` | Python 3.7+ APM 监控 SDK |
| JavaScript | `SDK/JavaScript/` | Node.js å’Œæµè§ˆå™¨çŽ¯å¢ƒ |
| PHP | `SDK/PHP/` | PHP 7.4+ APM 监控和é…ç½®ä¸å¿ƒ |
| Java | `SDK/Java/` | Java APM 监控 SDK |
|