openTSDB API详解之rollup

本文介绍了openTSDB的Rollup API,该API用于将累积或预聚合的数据写入存储。文章详细解释了Rollup命令的格式,包括如何指定时间间隔、聚合方式以及标签等关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openTSDB API详解之rollup

尝试写一个累积,或者预聚合的值到存储中。注意:UTF-8字符可能不能被通过Telnet Style API正确处理,所以使用/api/rollup方法或者直接使用Java api【译者注:这里的意思我还是不大理解!】。见/user_guide/rollup 文档中参看更多消息。这个端点的行为和put API 相似。

Request

命令格式如下:
rollup <rollup spec> <metric> <timestamp> <value> <tagk_1>=<tagv_1>[ <tagk_n>=<tagv_n>]

在这种情况下,rollup的细则是(原文:In this case the rollup spec is one of:):

  • <interval>:<aggregator>: 用于在间隔期间,对一个原始的,或是一个没有预聚合的rollup
  • <group_by_aggregator>: 对于一个原始的pre-aggregated 值,这个值在过去的一段时间内没有被rollup
  • <interval>:<aggregator>:<group_by_aggregator>: 对于一个已经rollup过的预聚合值。
Note
  • 因为字段之间使用空格分割,metrics以及tag values可能不包含空格。
  • 时间戳必须是一个正Unix epoch timestamp。例如:1479496100代表的就是Fri, 18 Nov 2016 19:08:20 GMT
  • 值必须是一个数字。可以是一个整数(介于Java 中long型的最大值与最小值之间),一个浮点值或者是科学计数法也是允许的[-]<#>.<#>[e|E][-]<#>
  • 至少存在一对tag ,附加的tag pairs能够被添加,它们使用空格分割。
Examples
rollup 1h:SUM sys.if.bytes.out 1479412800 1.3E3 host=web01 interface=eth0
rollup SUM sys.procs.running 1479496100 42 colo=lga
rollup 1h:SUM:SUM sys.procs.running 1479412800 24 colo=lga
Response

一个成功的请求将不会返回任何响应。仅仅在一个错误socket包时才会返回一行数据。下面给出一些例子:

Example Requests and Responses
rollup
rollup: illegal argument: not enough arguments (need least 5, got 1)【译者注:这么来看,rollup命令至少需要5个参数值】
rollup SUM metric.foo notatime 42 host=web01
rollup: invalid value: Invalid character 'n' in notatime

如果tsd.core.auto_create_metric选项被禁用的话,将会返回:

rollup SUM new.metric 1479496160 1.3e3 host=web01
rollup: unknown metric: No such name for 'metrics': 'new.metric'

以下观点均是译者个人理解,还请各位同学指教:

  • 【1】我对rollup的理解同aggregate一样,都是对数据的聚合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值