/api/uid/tsmeta
该端点启用了搜索,编辑或删除时间序列元数据信息的功能,该时间序列元数据信息是与与* metric 和一个或多个 tag 名称/值*对相关的特定时间序列相关的元数据。一些字段由 TSD 设置,而其他字段可以由用户设置。使用POST
方法时,将仅存储请求提供的字段。不包括在内的现有字段将被保留。如果未提供给定字段,则使用PUT
方法将使用给定值或默认值覆盖所有用户可变字段。
请注意,删除元数据条目不会删除为时间序列存储的数据点。它也不会删除 UID 分配或关联的 UID 元对象。
Verbs
-
GET-查找一个或多个 TS 元数据
-
POST-仅更新提供的字段
-
PUT-覆盖所有用户可配置的元数据字段
-
删除-删除 TS 元数据
GET Requests
GET 请求可以在一个或多个时间序列中查找 TS 元对象(如果它们存在于存储系统中)。支持两种类型的查询:
-
tsuid -可以提供一个十六进制的 TSUID,并且如果找到,将返回一个元数据对象。结果将包括一个对象。
-
metric -*(2.1 版)*与数据点查询类似,您可以提供一个 Metrics 和一个或多个标记对。将返回与查询匹配的所有 TS 元数据。结果将是一个或多个对象的数组。每个呼叫只能提供一个度量查询,并且不支持通配符或分组运算符。
TSUID GET 请求示例
http://localhost:4242/api/uid/tsmeta?tsuid=00002A000001000001
MetricsGET 请求示例
http://localhost:4242/api/uid/tsmeta?m=sys.cpu.nice&dc=lga
POST/PUT Requests
默认情况下,您只能将数据写入 TS 元对象(如果已存在)。通过元同步 CLI 命令或在写入数据点时实时创建 TS 元数据。如果您尝试为不存在的 TSUID 将数据写入 tsmeta 端点,则将返回错误并且不保存任何数据。
可以随请求提供的字段包括:
Name | Data Type | Required | Description | Default | QS | RW | Example |
---|---|---|---|---|---|---|---|
tsuid | String | Required | 时间序列 UID 的十六进制表示 | tsuid | RO | 00002A000001000001 | |
description | String | Optional | UID 代表的简要说明 | description | RW | 系统处理器时间 | |
displayName | String | Optional | 可以在 GUI 中显示的短名称,而不是默认名称 | display_name | RW | 系统 CPU 时间 | |
notes | String | Optional | 有关 UID 代表的详细说明 | notes | RW | Details | |
custom | Map | Optional | 键/值 Map 表,用于存储自定义字段和值 | null | RW | See Below | |
units | String | Optional | 反映时间序列中存储的数据的单位可以在 GUI 或计算中使用 | units | RW | Mbps | |
dataType | String | Optional | 时间序列中存储的数据类型,例如counter ,gauge ,absolute 等。可以稍后定义它们,但它们应类似于RRD中的数据源类型。 |
data_type | RW | counter | |
retention | Integer | Optional | 给定时间序列要保留的数据点的天数。 未实现 。设置为 0(默认值)时,数据将无限期保留。 | 0 | retention | RW | 365 |
max | Float | Optional | 此时间序列的可选最大值,可以在计算中使用,例如最大值百分比。如果存在默认值NaN ,则忽略该值。 |
NaN | max | RW | 1024 |
min | Float | Optional | 此时间序列的可选最小值,可用于计算,例如最小值百分比。如果存在默认值NaN ,则忽略该值。 |
NaN | min | RW | 0 |
Note
自定义字段不能通过查询字符串传递。您必须使用POST
或PUT
动词。
Warning
如果您的请求使用PUT
,那么您未随请求提供的任何字段都将被其默认值覆盖。例如,description
字段将设置为空字符串,而custom
字段将重置为null
。
使用 OpenTSDB 2.1,您可以提供度量标准样式查询,如果给定的度量标准和标签存在 UID,则将存储新的 TS 元对象。可以按照常规请求通过 POST 为上述字段提供数据,但是tsuid
字段必须保留为空。此外,必须提供两个查询字符串参数:
-
m -类似于 GET 请求或数据点查询的 Metrics 和标签
-
create -值为
true
的标志
For example:
http://localhost:4242/api/uid/tsmeta?display_name=Testing&m=sys.cpu.nice{host=web01,dc=lga}&create=true&method_override=post
如果给定的度量和标签的存储中已经存在 TS 元对象,则这些字段将被更新或覆盖。
POST 或 PUT 请求示例
Query String:
http://localhost:4242/api/uid/tsmeta?tsuid=00002A000001000001&method_override=post&display_name=System%20CPU%20Time
JSON Content:
{
"tsuid":"00002A000001000001",
"displayName":"System CPU Time for Webserver 01",
"custom": {
"owner": "Jane Doe",
"department": "Operations",
"assetTag": "12345"
}
}
删除请求示例
Query String:
http://localhost:4242/api/uid/tsmeta?tsuid=00002A000001000001&method_override=delete
JSON Content:
{
"tsuid":"00002A000001000001"
}
Response
对GET
,POST
或PUT
请求的成功响应将返回完整的 TS 元数据对象以及任何给定的更改。成功的DELETE
呼叫将返回204
状态代码且没有正文。修改数据时,如果不存在任何更改,即调用未提供要存储的任何数据,则响应将为304
而没有任何正文内容。如果系统中不存在所请求的 TSUID,则将返回404
并显示错误消息。如果提供了无效数据,将返回错误。
除其他字段外,响应中还将显示所有 Request 字段:
Name | Data Type | Description | Example |
---|---|---|---|
metric | UIDMeta | 表示有关 UID 信息的 UID 元数据对象 | See Below |
tags | UIDMeta 数组 | 与时间序列关联的标签名称/标签值 UID 元数据对象的列表。 tagk UID 之后是其对应的tagv 对象。 |
See Below |
created | Integer | Unix 时代的时间戳,以秒为单位,该时间序列首次记录在系统中。请注意,如果已升级 TSD 或最近启用了元数据,则此值可能不正确。运行uidUtil 以同步元数据。 | 1350425579 |
lastReceived | Integer | 上次接收到数据点时的 Unix 时间戳记(以秒为单位)。这仅在启用了元数据的 TSD 上更新,并且不会针对每个数据点更新,因此可能会有一些滞后。 | 1350425579 |
totalDatapoints | Integer | 时间序列记录的数据点总数。注意:这可能是不正确的,除非自创建 TSDB 表以来启用了元数据跟踪。 | 3242322 |
Example Response
{
"tsuid": "00002A000001000001",
"metric": {
"uid": "00002A",
"type": "METRIC",
"name": "sys.cpu.0",
"description": "System CPU Time",
"notes": "",
"created": 1350425579,
"custom": null,
"displayName": ""
},
"tags": [
{
"uid": "000001",
"type": "TAGK",
"name": "host",
"description": "Server Hostname",
"notes": "",
"created": 1350425579,
"custom": null,
"displayName": "Hostname"
},
{
"uid": "000001",
"type": "TAGV",
"name": "web01.mysite.com",
"description": "Website hosting server",
"notes": "",
"created": 1350425579,
"custom": null,
"displayName": "Web Server 01"
}
],
"description": "Measures CPU activity",
"notes": "",
"created": 1350425579,
"units": "",
"retention": 0,
"max": "NaN",
"min": "NaN",
"custom": {
"owner": "Jane Doe",
"department": "Operations",
"assetTag": "12345"
},
"displayName": "",
"dataType": "absolute",
"lastReceived": 1350425590,
"totalDatapoints", 12532
}