OpenTSDB使用总结-(3)

举报
ChillRay 发表于 2020/12/29 23:15:02 2020/12/29
【摘要】 查询数据 功能介绍 从OpenTSDB数据库中查询数据。 URI URI格式 POST {OpenTSDB URL}/api/query 123 请求 请求样例 { "start": 1504527820, "end": 1504557820, "queries": [ { "aggregator": "sum", "metric": "cpu.syst...

查询数据

功能介绍

从OpenTSDB数据库中查询数据。
URI

URI格式

POST {OpenTSDB URL}/api/query

  
 
  • 1
  • 2
  • 3

请求

请求样例

{ "start": 1504527820, "end": 1504557820, "queries": [ { "aggregator": "sum", "metric": "cpu.system", "rate": "true", "filters": [ { "type":"regexp", "tagk":"host", "filter":"web[0-9]+.lax.mysite.com", "groupBy":true }, { "type":"literal_or", "tagk":"dc", "filter":"lax|dal", "groupBy":false }, ] } ]
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

参数说明

表1 请求参数说明

名称 类型 是否必须 描述
start Integer 起始时间,单位秒。查询结果包含该时间的值。 说明: 建议使用4334400秒到4291718400秒之间的时间,即从1970/02/20 12:00:00到2106/01/01 00:00:00,也可以为0。否则可能导致查询结果不正确。
end Integer 结束时间,单位秒,默认值为OpenTSDB的当前系统时间。查询结果包含该时间的值。 说明: 建议使用4334400秒到4291718400秒之间的时间,即从1970/02/20 12:00:00到2106/01/01 00:00:00。否则可能导致查询结果不正确。
queries Array 可以有多个查询,请参见[表2]。
delete Boolean 如果为true,符合条件的查询结果数据都会被删除。 说明: 删除数据是以一小时的数据为单位的。即查询结果关联的所有小时的数据都会被删除。
noAnnotations Boolean 是否返回注释信息。 true:不返回。false:返回。 默认为false。
globalAnnotations Boolean 是否返回时间跨度内的全局注释。 true:返回。false:不返回。 默认为false。
showTSUIDs Boolean 是否在结果中返回与时间序列关联的TSUID。 true:如果多个时间序列被聚合成一个集合,则多个TSUID将以排序方式返回。false:不返回。 默认为false。
showSummary Boolean 是否在结果中返回时间摘要,详细信息请参见http://opentsdb.net/docs/build/html/user_guide/query/stats.html true:返回。false:不返回。 默认为false。
showStats Boolean 是否在结果中返回详细时间,详细信息请参见http://opentsdb.net/docs/build/html/user_guide/query/stats.html true:返回。false:不返回。 默认为false。
showQuery Boolean 是否返回带查询结果的原始子查询。 true:返回。false:不返回。 默认为false。
msResolution Boolean 默认情况下,查询结果中的时间戳是以秒为单位的。如果设置为true,则查询结果中的时间戳以毫秒为单位。

表2 子查询参数说明

名称 类型 是否必须 描述
aggregator String 聚合函数,请参见aggregator说明
metric String 指标项。
rate Boolean 是否返回倾斜率。 true:返回。false:不返回。 默认为false。
downsample String 降时间精度采样,请参见downsample说明
filters List 过滤器,可以设置多个过滤器,请参见表5
explicitTags Boolean 是否只返回filter指定的tag。 true:返回。false:不返回。 默认为false。
useMultiGets Boolean 是否使用MultiGet方式查询数据,默认为false。只有当“filters”的“type”为“literal_or”,同时“explicitTags”为“true”时才会起作用。
downsample说明-重采样

当查询的时间跨度很大,例如每秒都将温度作为数据写入OpenTSDB,每个小时会产生3600条数据点,当查询一周的数据时,会返回604800个数据点。展示如此多数据会显得很乱,通常也不需要这样精确的数据。使用降精度的方式将一段时间的数据点聚合后当作一个数据点,比如将每个小时的数据聚合为1个数据点,这样就会只显示168个数据点。

格式:

<Interval><units>-<aggregator>[c][-<fill policy>]

  • “Interval” :时间数值,unit:时间单位,s秒,m分,h小时,d天。示例:1h , 30m, 24h

  • “aggregator” :聚合策略,将一段时间点聚合为一个数据点的策略。参见[aggregator说明]。

  • “fill policy” : 补值策略,当使用aggreator计算一段时间内的汇聚值时,遇到中间缺少的数据点时,会使用一定的策略补充数据。补值策略请参见表4

aggregator说明

aggregator在降精度downsample和多条时间线聚合时使用。通过算子将多个数据点汇聚成一个数据点。汇聚的算子请参见表3

表3-算子
算子 描述 补值方式
avg 平均值 线性插值
count 数据点数 补0
dev 计算标准偏差 线性插值
ep50r3 用R-3方法计算的50%都大于 线性插值
ep50r7 用R-7方法计算的50%都大于 线性插值
ep75r3 用R-3方法计算的75%都大于 线性插值
ep75r7 用R-7方法计算的75%都大于 线性插值
ep90r3 用R-3方法计算的90%都大于 线性插值
ep90r7 用R-7方法计算的90%都大于 线性插值
ep95r3 用R-3方法计算的95%都大于 线性插值
ep95r7 用R-7方法计算的95%都大于 线性插值
ep99r3 用R-3方法计算的99%都大于 线性插值
ep99r7 用R-7方法计算的99%都大于 线性插值
ep999r3 用R-3方法计算的99.9%都大于 线性插值
ep999r7 用R-7方法计算的99.9%都大于 线性插值
first 取第一个值 -
last 取最后一个值 -
mimmin 最小值 补最大值
mimmax 最大值 补最小值
min 最小值 线性插值
max 最大值 线性插值
none 不做计算 补0
p50 50%的值都大于 线性插值
p75 75%的值都大于 线性插值
p90 90%的值都大于 线性插值
p95 95%的值都大于 线性插值
p99 99%的值都大于 线性插值
p999 99.9%的值都大于 线性插值
sum 求和 线性插值
zimsum 求和 补0
表4-补值策略参数
名称 描述
none 默认,不补值
nan 补NaN
null 补null
zero 补0
表5-filter参数
名称 类型 是否必须 描述 示例
type String filter类型,参见表6 regexp
tagk String 要做filter的tag名 host
filter String filter的表达式值 web[0-9]+.lax.mysite.com
groupBy Boolean 是否对tagv做groupBy,默认false false
表6-filter-type参数
名称 说明 示例
literal_or tagv等于或者等于 host=literal_or(web01|web02|web03)
not_literal_or tagv不等于或者不等于 host= not_literal_or(web01|web02|web03)
wildcard tagv需满足的通配符 host=wildcard(*mysite.com)
iwildcard 与wildcard作用相反 host= iwildcard (*mysite.com)
regexp tagv需满足正则表达式 regexp(web[0-9].mysite.com)

相应

  • 响应样例
[ { "metric": "tsd.hbase.puts", "tags": { "host": "tsdb-1.mysite.com" }, "aggregatedTags": [], "dps": { "1365966001": 3758788892, "1365966061": 3758804070,
... "1365974281": 3778141673 } }, { "metric": "tsd.hbase.puts", "tags": { "host": "tsdb-2.mysite.com" }, "aggregatedTags": [], "dps": { "1365966001": 3902179270, "1365966062": 3902197769,
... "1365974281": 3922266478 } }
]
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 参数说明

表7 响应参数说明

名称 描述
metric 指标名
tags 未做聚合的tagv,如果存在聚合,这个值为空。
aggregateTags 如果存在聚合,显示做聚合操作的tagv。
dps 数据点对,数据点由时间戳和值组成并做了序列化。 说明: 如果值是浮点数,那么是以双精度(Double)方式进行显示,可根据需要转换为单精度(Float)或双精度(Double)浮点数。
annotations 注释信息
globalAnnotations 时间跨度内的全局注释

文章来源: zclhit.blog.csdn.net,作者:zclhit_,版权归原作者所有,如需转载,请联系作者。

原文链接:zclhit.blog.csdn.net/article/details/80682639

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。