/api/uid/assign
通过此端点,可以将 UID 分配给新的 Metrics,标签名称和标签值。可以在一个调用中提供多种类型和名称,API 会分别处理每个名称,报告哪些名称已成功分配了 UID,以及分配的 UID,以及哪些由于无效字符或已经分配而失败。可以通过查询字符串或内容数据执行分配。
Verbs
-
GET
-
POST
Requests
每个请求必须具有以下一个或多个字段:
Name | Data Type | Required | Description | Default | QS | RW | Example |
---|---|---|---|---|---|---|---|
metric | String | Optional | 分配的度量标准名称列表 | metric | RW | sys.cpu.0 | |
tagk | String | Optional | 分配的标签名称列表 | tagk | RW | host | |
tagv | String | Optional | 分配的标签值列表 | tagv | RW | web01 |
发出查询字符串请求时,可以以逗号分隔的方式提供给定类型的多个名称。例如。 metric=sys.cpu.0,sys.cpu.1,sys.cpu.2,sys.cpu.3
。命名约定适用:请参见。
Example Request
Query String
http://localhost:4242/api/uid/assign?metric=sys.cpu.0,sys.cpu.1&tagk=host&tagv=web01,web02,web03
JSON Content
{
"metric": [
"sys.cpu.0",
"sys.cpu.1",
"illegal!character"
],
"tagk": [
"host"
],
"tagv": [
"web01",
"web02",
"web03"
]
}
Response
该响应将包含成功分配的 Map 以及十六进制编码的 UID 值。如果未分配一个或多个值,则单独的 Map 将包含这些值的列表以及未分配它们的原因。只有提供一个或多个该类型的值时,才会生成类型名称为<type>_errors
的 Map。
分配所有值后,端点将返回 200 状态代码,但是如果任何值分配失败,它将返回 400.
Example Response
{
"metric": {},
"metric_errors": {
"sys.cpu.0": "Name already exists with UID: 000042",
"sys.cpu.1": "Name already exists with UID: 000043",
"illegal!character": "Invalid metric (illegal!character): illegal character: !",
},
"tagv": {},
"tagk_errors": {
"host": "Name already exists with UID: 0007E5"
},
"tagk": {
"web01": "000012",
"web02": "000013",
"web03": "000014"
}
}