概要说明
REST API使用手册
本文主要是针对API使用手册中常用的API解释:
https://www.warpcloud.cn/#/documents-support/docs?category=TDH&index=0
不同版本的TDH集群提供的API略有不同,本文档介绍的API未必能在所有集群适用,需要去对应的API手册中确定
详细说明
确定serviceID
使用API经常需要用到服务的serviceID,如何确定服务的ID:
打开服务首页查看URL中的数字即可
比如,下图中Search1的serviceID就是 "5"
注: 下面的IP地址都是指manager节点的地址
1、登录集群
使用API第一步需要登录集群,如果默认用户名密码是admin/admin那么可以用
curl -b cookies.txt -c cookies.txt --data '{"userName": "admin", "userPassword": "admin"}' http://172.26.4.22:8180/api/users/login
这个API是用来登录集群的,相当于是用–data中的用户登录了集群。
上面代码中用admin用户登录了集群,此时如果又有人用admin用户去登录了8180页面,就会导致API的登录效果失效;反之亦然。
PS: 这个API是下面所有命令的前提
2、查询服务的健康状态
查询所有服务状态:
curl -v -X GET http://172.16.158.60:8180/api/services
查询特定服务的状态:
curl -v -X GET http://172.16.158.60:8180/api/services/1
最后的数字就是serviceID,想要查询某个服务修改这个值即可
结果类似:
其中包含了服务健康状态等信息,再配合一些简单命令就可以获取服务的健康状态:
curl -v -X GET http://172.16.158.60:8180/api/services/3 -b cookies.txt -c cookies.txt |jq -r '.health'
3、启动、停止服务
一般来说serviceID为1的服务是TOS,下面用TOS服务来演示
停止TOS服务:
curl -v -X POST http://172.16.158.60:8180/api/services/1/operations/stop -b cookies.txt -c cookies.txt
初始化TOS:
curl -v -X POST http://$MANAGERIP:8180/api/services/$tosServiceId/operations/init -b cookies.txt -c cookies.txt
PS: 初始化就是安装
4、查看服务的参数配置
可以直接在浏览器中输入:
http://172.16.158.60:8180/api/services/3/configs?showPredefined=true&showCustom=false
这个API可以看到serviceID为3的服务的所有参数
5、集群指标查询
可以通过API来查询集群的负载信息
http://172.26.4.13:8180/api/services/24/metric?metricnames=cpu_used&start=1572362433021&end=1572364233021
http://172.18.9.45:8180/api/services/13/metric?metricnames=PartitionCount&start=1572362433021&end=1572364233021
metricnames参数可以查询API手册
6、服务指标查询
http://172.26.4.13:8180/api/services/24/metric?metricnames=HYPERBASE&start=1572362433021&end=1572364233021
http://172.18.9.45:8180/api/services/13/metric?metricnames=PartitionCount&start=1572362433021&end=1572364233021
例子:查看zookeeper的服务指标:
先登录:
curl -b cookies.txt -c cookies.txt -v -X POST –data ‘{"userName":"admin","userPassword":"admin"}’ http://172.26.4.7:8180/api/users/login
再查看:
curl -v -X GET "http://172.26.4.7:8180/api/services/3/metric?metricnames=ZookeeperPacketsSent&start=1585911020893&end=1585911020900" -b cookies.txt -c cookies.txt
metricnames可以查询API手册