API

写入数据

可以在一次请求中将多个数据写入OpenTSDB,每个数据都会被单独处理,且单数据出错不会影响其他数据的写入。建议每个请求中最大数据点数不超过50.

URI 
URI格式 
写入数据

POST {OpenTSDB URL}/api/put

写入数据并返回概要信息

POST {OpenTSDB URL}/api/put?summary

写入数据并返回详细信息

POST {OpenTSDB URL}/api/put?details

说明: 
如果summary和details标志同时存在于查询字符串,该API将响应detailed信息。

写入数据并等待数据刷入磁盘

POST {OpenTSDB URL}/api/put?sync

写入数据等待数据刷入磁盘,并设置超时时间(毫秒)。当发生超时时,使用details标志将会返回成功和失败的数据点数量。

POST {OpenTSDB URL}/api/put?sync&sync_timeout=60000

请求

请求样例:单数据点写入
{
    "metric": "sys.cpu.nice",
    "timestamp": 1346846400,
    "value": 18,
    "tags": {
       "host": "web01",
       "dc": "lga"
    }
}
请求样例:多数据点写入-传入Json数组
[
    {
        "metric": "sys.cpu.nice",
        "timestamp": 1346846400,
        "value": 18,
        "tags": {
           "host": "web01",
           "dc": "lga"
        }
    },
    {
        "metric": "sys.cpu.nice",
        "timestamp": 1346846400,
        "value": 9,
        "tags": {
           "host": "web02",
           "dc": "lga"
        }
    }
]

参数说明

表1

请求参数说明属性名型是否必须描述限制
metricString指标项名可以包含大小写英文字母,数字,“-”,“_”,“.”,“/”以及Unicode字符。不允许包含空格及其它字符。区分大小写。
timestampInteger时间戳,单位:秒以秒为单位的Unix/POSIX Epoch时间戳,从1970年1月1日00:00:00 UTC时间起经过的秒数。说明:时间戳建议使用4334400秒到4291718400秒之间的时间,即从1970/02/20 12:00:00到2106/01/01 00:00:00。必须是整数。不能超过13位数。仅支持秒级别的数据,毫秒级别的数据会转换成秒。
valueInteger,Long,Double数据值整数或者单精度浮点数(Float)。如果使用双精度(Double)的浮点数,可能能导致查询结果不正确。
tagsMapTagk和Tagv的键值对可以包含大小写英文字母,数字,“-”,“_”,“.”,“/”以及Unicode字符。不允许包含空格及其它字符。区分大小写。最少1个,最多8个Tagk和TagV的键值对。

响应

响应样例: summary

{
    "failed": 1,
    "success": 0
}
响应样例:details

{
    "errors": [
        {
            "datapoint": {
                "metric": "sys.cpu.nice",
                "timestamp": 1365465600,
                "value": "NaN",
                "tags": {
                    "host": "web01"
                }
            },
            "error": "Unable to parse value to a number"
        }
    ],
    "failed": 1,
    "success": 0
}

转自:https://www.codetd.com/article/1599276 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐