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" } } ]
参数说明
请求参数说明 | 属性名 | 型是否必须 | 描述 | 限制 |
---|---|---|---|---|
metric | String | 是 | 指标项名 | 可以包含大小写英文字母,数字,“-”,“_”,“.”,“/”以及Unicode字符。不允许包含空格及其它字符。区分大小写。 |
timestamp | Integer | 是 | 时间戳,单位:秒 | 以秒为单位的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位数。仅支持秒级别的数据,毫秒级别的数据会转换成秒。 |
value | Integer,Long,Double | 是 | 数据值 | 整数或者单精度浮点数(Float)。如果使用双精度(Double)的浮点数,可能能导致查询结果不正确。 |
tags | Map | 是 | Tagk和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 }
文章来源: OpenTSDB使用总结-(2)