使用curl命令操作OpenTSDB
写入数据
例如,录入一个指标名称为testdata,时间戳为1524900185,值为true,标签为key,value的指标数据。
curl -ki -X POST -d '{"metric":"testdata", "timestamp":1524900185, "value":"true", "tags":{"key":"value"}}' https://<tsd_ip>:4242/api/put?sync
<tsd_ip>表示所需写入数据的Opentsdb服务的TSD实例的IP地址。
HTTP/1.1 204 No Content Content-Type: application/json; charset=UTF-8 Content-Length:0
查询数据
例如,可查询指标testdata在过去三年的汇总信息。
curl -ks https://<tsd_ip>:4242/api/query?start=3y-ago\&m=sum:testdata | python -m json.tool
- <tsd_ip>:所需访问Opentsdb服务的TSD实例IP或主机名。
- <start=3y-ago\&m=sum:testdata>:在请求中可能无法识别“&”符号,需对其进行转义。
- <python -m json.tool>(可选): 把响应的请求转换为json格式。
[
{
"aggregateTags": [],
"dps": {
"1524900185": 1
},
"metric": "testdata",
"tags": {
"key": "value"
}
}
]
查询tsd状态信息
例如,可查询连接HBase的客户端信息。
curl -ks https://<tsd_ip>:4242/api/stats/region_clients | python -m json.tool
<tsd_ip>:所需访问Opentsdb服务的TSD实例IP地址。
[
{
"dead": false,
"endpoint":"/xx.xx.xx.xx:16020",
"inflightBreached": 0,
"pendingBatchedRPCs": 0,
"pendingBreached": 0,
"pendingRPCs": 0,
"rpcResponsesTimedout": 0,
"rpcResponsesUnknown": 0,
"rpcid": 78,
"rpcsInFlight": 0,
"rpcsSent": 79,
"rpcsTimedout": 0,
"writesBlocked": 0
}
]