功能介绍:
向LEAP TSDB数据库中写入数据,支持在一个请求中将多个数据写入LEAP TSDB,多个数据之间可以不相关,每个数据都会被单独处理,其中一条数据出现错误不会影响其他数据的写入。但如果一个请求中有大量数据点,则API可能需要很长时间才能响应,建议每个请求中最大数据点数不超过50。
一:Integer Long Double类型:
1、URL
1.写入数据:
POST {OPEN TSDB URL}/api/put
2.写入数据并返回概要信息:
POST {OPEN TSDB URL}/api/put?summary
3.写入数据并返回详细信息:
POST {OPEN TSDB URL}/api/put?details
4.写入数据并等待数据刷入磁盘:
POST {OPEN TSDB URL}/api/put?sync
5.写入数据等待数据刷入磁盘,并设置超时时间(毫秒)。当发生超时时,使用details标志将返回成功和失败的数据点数量。
POST {OPEN TSDB URL}/api/put?sync&sync_timeout=60000
2、请求:
请求样例:单数据点写入
{
"metric": "sys.cpu.nice",
"timestamp": 1346846400,
"value": 18,
"tags": {
"host": "web01",
"dc": "lga"
}
}
请求样例:多数据点写入
[
{
"metric": "test",
"timestamp": 1346846400,
"value": 18,
"tags": {
"host": "web01",
"dc": "lga"
}
},
{
"metric": "test",
"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的键值对。 |
3、响应:
响应样例: 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
}
参数说明
名称 | 类型 | 描述 |
success | Integer | 写入成功的数据点数量 |
failed | Integer | 写入失败的数据点数量 |
errors | Array | 写入失败的具体数据点的值及原因,仅在details参数下生效 |
二、String类型:
1、URL:
{OPEN TSDB URL}/put/string http://172.17.199.109:4242/put
2、.ACTION:
PUT:数据以JSON格式POST方式提交。
3、请求:
请求样例:单数据点写入
{
"metric": "test",
"datatype":"string",
"timestamp": 1528788001003,
"value": "good",
"tags": {
"host":"web01"
}
}
请求样例:多数据点写入
[{
"metric": "test",
"timestamp": 1528788001003,
"value": "good",
"tags": {
"host":"web01"
}
},{
"metric": "test",
"timestamp": 1528788001004,
"value": "bad",
"tags": {
"host":"web01"
}
}]
4、响应:
返回成功和失败条数
{
"success":1,
“failed”:0
}、
三、Boolean类型:
1、URL接口:
{OPEN TSDB URL}/put/boolean
2、ACTION:
POST:数据以JSON格式POST方式提交。
3、请求:
请求样例:单数据点写入
{
"metric": "test",
"timestamp": 1528788001003,
"value": true,
"tags": {
"host":"web01"
}
}
请求样例:多数据点写入
[{
"metric": "test",
"timestamp": 1528788001003,
"value": true,
"tags": {
"host":"web01"
}
},{
"metric": "test",
"timestamp": 1528788001004,
"value": false,
"tags": {
"host":"web01"
}
}]
4、响应:
返回成功和失败条数
{
"success":1,
“failed”:0
}
四、Object类型:
1、URL接口:
{OPEN TSDB URL}/put/object
2、ACTON:
POST:数据以JSON格式POST方式提交。
3、请求:
请求样例:单数据点写入
{
"metric": "test",
"timestamp": 1528788001003,
"value": {"user":20,"name":"zhangsan"},
"tags": {
"host":"web01"
}
}
请求样例:多数据点写入
[{
"metric": "test",
"timestamp": 1528788001003,
"value": {"user":20,"name":"zhangsan"},
"tags": {
"host":"web01"
}
},{
"metric": "test",
"timestamp": 1528788001004,
"value": {"user":21,"name":"lisi"},
"tags": {
"host":"web01"
}
}]
4、响应:
返回成功和失败条数
{
"success":1,
“failed”:0
}
五、Array类型:
1、URL接口:
{OPEN TSDB URL}/put/array
2、ACTION:
POST:数据以JSON格式POST方式提交。
3、请求:
请求样例:单数据点写入
{
"metric": "test",
"timestamp": 1528788001003,
"value": [{"user":31,"name":"zhangsan"},{"user":32,"name":"zhangsan"}],
"tags": {
"type":"array"
}
}
请求样例:多数据点写入
[{
"metric": "test",
"timestamp": 1528788001003,
"value": [{"user":31,"name":"zhangsan"},{"user":32,"name":"zhangsan"}],
"tags": {
"type":"array"
}
},{
"metric": "test",
"timestamp": 1528788001004,
"value": [4,"name"],
"tags": {
"type":"array"
}
}]
4、响应:
返回成功和失败条数
{
"success":1,
“failed”:0
}