On this page
/api/search/lookup
Note
2.1 版本
查找查询使用元数据表或主数据表来确定哪些时间序列与给定的 Metrics,标签名称,标签值,标签对或其组合相关联。例如,如果您想知道标签对host=web01
可用的度量标准,则可以执行查找来查找。查找不需要安装搜索插件。
Note
针对tsdb-meta
表执行查找。您必须启用实时元数据创建或使用uid
命令执行metasync
才能从查询中检索数据。只能使用 CLI 命令对原始数据表执行查找:search
Verbs
GET
POST
Requests
查找端点使用的参数包括:
Name | Data Type | Required | Description | Default | QS | RW | Example |
---|---|---|---|---|---|---|---|
query | String | Required | 如下定义的查询查询。 | m | tsd.hbase.rpcs{type=*} | ||
useMeta | Boolean | Optional | 是否使用元数据表或原始数据表。原始表会慢很多。 | true | use_meta | false | |
limit | Integer | Optional | 结果集中返回的最大项目数。 | 25 | 100 | ||
startIndex | Integer | Optional | 忽略查找查询,始终是默认查询。 | 0 | 10 |
Lookup Queries
查找查询至少包含一个 Metrics,标签名称(tagk)或标签值(tagv)。每个值都必须是 UID 表中的 Literals 名称。如果给定名称不能解析为 UID,则将返回异常。每个查询只能提供一个 Metrics,但可以提供多个 tagk,tagv 或标签对。
通常,以<tagk>=<tagv>
格式提供标签 a,并且在等号的两边都需要一个值。但是,对于查找,一个值可能是星号*
,即<tagk>=*
或*=<tagv>
。在这些情况下,星号充当通配符,这意味着将返回具有给定 tagk 或 tagv 的任何时间序列。例如,如果发出对host=*
的查询,则将获得带有host
标签的所有时间序列,例如host=web01
和host=web02
。
对于具有多个值的复杂查询,每种类型与其他类型分别为AND
'd 和其自身的类型为OR
'd。
<metric> AND (<tagk1>=[<tagv1>] OR <tagk1>=[<tagv2>]) AND ([<tagk2>]=<tagv3> OR [<tagk2>]=<tagv4>)
例如,查询tsd.hbase.rpcs{type=*,host=tsd1,host=tsd2,host=tsd3}
将仅返回带有度量tsd.hbase.rpcs
的时间序列和具有任何值的type
标签以及具有tsd1
或tsd2
或tsd3
的host
标签。与数据查询不同,您可以提供多个具有相同名称的标签,如上例所示。通配符始终具有优先级,因此,如果您的查询看起来像tsd.hbase.rpcs{type=*,host=tsd1,host=tsd2,host=*}
,则该查询将被有效地视为tsd.hbase.rpcs{type=*,host=*}
。
检索具有特定标签值的所有时间序列的列表,例如对于特定的主机,您可以发出诸如{*=web01}
之类的查询,该查询将返回所有时间序列,其标记值为web01
。这对于调试标签名称问题(例如某些系列具有host=web01
或server=web01
)很有用。
Example Request
Query String:
http://localhost:4242/api/search/lookup?m=tsd.hbase.rpcs{type=*}
POST:
JSON 请求遵循/api/search页上的搜索查询格式。限制和开始注意,标记作为对象列表提供。 key
的值应为tagk
,value
的值应为tagv
或通配符。
{
"metric": "tsd.hbase.rpcs",
"tags":[
{
"key": "type",
"value": "*"
}
]
}
Response
根据调用的端点,输出将略有变化。但是,常见的字段包括:
Name | Data Type | Description | Example |
---|---|---|---|
type | String | 提交的查询类型,即调用的端点。 | LOOKUP |
query | String | 忽略查询查询。 | |
limit | Integer | 结果集中返回的最大项目数。 | 25 |
startIndex | Integer | 忽略查找查询,始终是默认查询。 | 0 |
metric | String | 用于查找的 Metrics | * |
tags | Array | 用于查找的标记对列表。可能是一个空列表。 | [ ] |
time | Integer | 完成查询所花费的时间(以毫秒为单位) | 120 |
totalResults | Integer | 查询匹配的结果总数 | 1024 |
results | Array | 每个系列的结果集包含 TSUID,Metrics 和标签。 | See Below |
该端点几乎总是返回带有内容主体的200
。如果查询不匹配任何结果,则results
字段将为空数组,而totalResults
将为 0.如果发生错误(例如无法将度量标准或标记名称解析为 UID),则将返回异常。
Example Response
{
"type": "LOOKUP",
"metric": "tsd.hbase.rpcs",
"tags":[
{
"key": "type",
"value": "*"
}
]
"limit": 3,
"time": 565,
"results": [
{
"tags": {
"fqdn": "web01.mysite.com"
},
"metric": "app.apache.connections",
"tsuid": "0000150000070010D0"
},
{
"tags": {
"fqdn": "web02.mysite.com"
},
"metric": "app.apache.connections",
"tsuid": "0000150000070010D5"
},
{
"tags": {
"fqdn": "web03.mysite.com"
},
"metric": "app.apache.connections",
"tsuid": "0000150000070010D6"
}
],
"startIndex": 0,
"totalResults": 9688066
}