更新时间:2023-09-14 GMT+08:00

使用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
    }
]