/api/rollup

该端点允许通过 HTTP 在 OpenTSDB 中存储汇总和/或预聚合的数据。有关汇总和预汇总的详细信息,请参见用户指南:汇总和预聚合

另请参阅/api/put文档,以获取与/api/rollup端点共享的 Comments 和常用参数。该页面列出了两者之间的区别。

Verbs

  • POST

Requests

汇总值和预聚合值是put对象的 extensions,其中包含三个附加字段。为了完整起见,下面列出了所有字段:

NameData TypeRequiredDescriptionDefaultQSRWExample
metricStringRequired您要存储的 Metrics 的名称 Wsys.cpu.nice
timestampIntegerRequiredUnix 时代风格的时间戳,以秒或毫秒为单位。时间戳不得包含非数字字符。 W1365465600
value整数,浮点数,字符串Required要为此数据点记录的值。它可以带引号或不带引号,并且必须符合 OpenTSDB 值规则:../../user_guide/writing W42.5
tagsMapRequired标签名称/标签值对的 Map。必须至少提供一对。 W{"host":"web01"}
intervalStringOptional*反映 rollup 值表示的时间 Span 的时间间隔。该间隔由<amount><unit>组成,类似于下采样器或相对查询时间戳。例如。 6h表示 5 个小时的数据,30m表示 30 分钟的数据。 W1h
aggregatorStringOptional*用于生成 汇总 值的聚合函数。必须与提供的 TSDB 聚合器匹配。 WSUM
groupByAggregatorStringOptional*用于生成 pre-aggregate 值的聚合函数。必须与提供的 TSDB 聚合器匹配。 WCOUNT

尽管上面将聚合器和间隔标记为可选,但要记录数据,必须满足以下记录的至少一种组合。

intervalaggregatorgroupByAggregatorDescription
SetSetEmpty数据表示整个时间间隔内的原始或*非预汇总 *汇总
EmptyEmptySet数据表示尚未汇总的原始值(预汇总)值。
SetSetSet数据表示汇总 预汇总值。

示例单个数据点放置

您可以在请求中提供一个数据点:

{
    "metric": "sys.cpu.nice",
    "timestamp": 1346846400,
    "value": 18,
    "tags": {
       "host": "web01",
       "dc": "lga"
    },
    "interval": "1h",
    "aggregator": "SUM",
    "groupByAggregator": "SUM"
}

示例多个数据点放置

多个数据点必须包含在数组中:

[
    {
        "metric": "sys.cpu.nice",
        "timestamp": 1346846400,
        "value": 18,
        "tags": {
           "host": "web01",
           "dc": "lga"
        },
        "interval": "1h",
        "aggregator": "SUM",
        "groupByAggregator": "SUM"
    },
    {
        "metric": "sys.cpu.nice",
        "timestamp": 1346846400,
        "value": 9,
        "tags": {
           "host": "web02",
           "dc": "lga"
        },
        "interval": "1h",
        "aggregator": "SUM",
        "groupByAggregator": "SUM"
    }
]

Response

响应的处理方式与/api/put终结点相同。