内容纲要
概要描述
第三方软件可以调用API来对Transwarp Manager管理的服务进行监控和告警,本文介绍通过rest api查询TDH集群各组件的服务指标信息。
详细说明
API URL
http://{Manager主机}:{端口号}/api/services/{serviceId}/metric?metricnames={metricsName}&start={startTimeStamp}&end={endTimeStamp}
参数说明
-
serviceId
- 含义:待查询服务的id;
- 获取方法:可以在manager的URL中查看,也可以在manager数据库中查看,下面以hdfs服务为例获取服务id。
1)manager的URL中查看
manager页面点击hdfs组件;
跳转的URL中的4
即为hdfs的服务id。
2)manager数据库中查看
进入manager数据库;mysql -h localhost -u transwarp -p$(cat /etc/transwarp-manager/master/db.properties | grep io.transwarp.manager.db.password | awk -F = '{print $2}') -S /var/run/mariadb/transwarp-manager-db.sock -D transwarp_manager
查询service表获取服务id,根据下图可知hdfs的服务id是4。
select * from service;
-
metricsName
-
startTimeStamp
- 含义:起始时间戳,必须是整数形式,不能为空,单位是毫秒;
-
endTimeStamp
- 含义:结束时间戳,必须是整数形式,不能为空,单位是毫秒;
使用样例
-
获取登录cookie信息
通过api获取服务指标时,需要先登录Manager才可以,否则会提示认证的错:The resource requires authentication, which was not supplied with the request
以下命令中的 userName 是登录manager的用户名,userPassword 是对应用户的密码:
curl -v -X POST http://172.22.33.33:8180/api/users/login --data '{"userName":"admin","userPassword":"mllmll"}' -b cookies.txt -c cookies.txt
-
获取服务指标信息
示例为获取hdfs的剩余容量指标
curl -XGET "http://172.22.33.33:8180/api/services/4/metric?metricnames=CapacityRemaining&start=1602381840000&end=1602381840000" -b cookies.txt
可以看到跟manger页面上的服务指标是一致的