更新时间:2024-08-03 GMT+08:00
OpenTSDB HTTP API接口介绍
OpenTSDB提供了基于HTTP或HTTPS的应用程序接口。请求方式是通过向资源对应的路径发送标准的HTTP请求,请求包含GET、POST方法。它的接口与开源OpenTSDB保持一致,请参见https://opentsdb.net/docs/build/html/api_http/index.html。
请求以及响应实体的类型为:application/JSON
请求以及响应实体的编码为:ISO-8859-1
- HTTP协议本身有安全风险,HTTPS是安全协议,建议使用HTTPS连接方式。
- OpenTSDB基于HTTP提供了访问其的RESTful接口,而RESTful接口本身具有语言无关性的特点,凡是支持HTTP请求的语言都可以对接OpenTSDB。
使用Java API操作OpenTSDB
OpenTSDB提供了基于HTTP或HTTPS的应用程序接口,可以使用Java API调用相关接口操作其数据,详情请参考开发程序章节。
使用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": "/192.168.2.187:16020", "inflightBreached": 0, "pendingBatchedRPCs": 0, "pendingBreached": 0, "pendingRPCs": 0, "rpcResponsesTimedout": 0, "rpcResponsesUnknown": 0, "rpcid": 78, "rpcsInFlight": 0, "rpcsSent": 79, "rpcsTimedout": 0, "writesBlocked": 0 } ]
父主题: OpenTSDB应用开发常见问题