/api/uid/assign

通过此端点,可以将 UID 分配给新的 Metrics,标签名称和标签值。可以在一个调用中提供多种类型和名称,API 会分别处理每个名称,报告哪些名称已成功分配了 UID,以及分配的 UID,以及哪些由于无效字符或已经分配而失败。可以通过查询字符串或内容数据执行分配。

Verbs

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"
    }
}
首页