1 文档编写目的
CDSW的管理账号提供了对服务运行状态的一些指标监控(CPU、Memory、GPU、Runs、Lag)等其他监控信息,企业用户为了方便需要将CDSW服务的监控指标对接到自己的监控平台。本篇文章Fayson主要介绍关于CDSW监控指标的API接口。
- 测试环境
1.RedHat7.4
2.CDSW版本为1.4.2
3.CM和CDH版本为5.16.1
2 涉及API接口
本篇文章涉及到的CDSW监控API接口如下:
- 获取CDSW服务资源使用概况
请求地址:http://{cdsw_domain}/api/v1/site/stats
请求类型:GET
返回值:JSON格式数据
- 获取所有用户打开的Session(支持条件过滤)
请求地址:http://{cdsw_domain}/api/v1/site/dashboards?limit=30&offset=0&order_by=created_at&order_sort=desc&start_max=2019-03-11T16:10:13%2B00:00&start_min=2019-03-04T16:10:13%2B00:00
请求类型:GET
返回值:JSON格式数据,近期的所有Session、所属用户及运行状态等。
- 获取CDSW服务历史资源使用情况(CPU、Memory、GPU、Runs、Lag),支持按日期过滤
请求地址:http://{cdsw_domain}/api/v1/site/dashboards/aggregates
?start_max=2019-03-12T09:26:57%2B00:00&start_min=2019-03-05T09:26:57%2B00:00
请求类型:GET
返回值:JSON格式数据
- Kill当前正在运行的Session(通过指定SessionID,Kill掉指定的会话,SessionID在获取用户打开的Session信息中获取)
请求地址:http://{cdsw_domain}/api/v1/projects/admin/testpython/dashboards/{SessionID}/stop?user_killed=true
请求类型:PUT
3 API接口调用测试
本章节测试主要使用curl命令方式调用API接口,如下测试均使用CDSW管理员账号,CDSW的监控指标只有管理员用户才可以查看。
1.使用如下命令,获取CDSW服务资源使用概况
[root@cdsw ~]# curl -u 'admin:123456' -X GET http://cdsw.fayson.com/api/v1/site/stats
该API接口对应CDSW管理界面上的如下界面
2.执行如下命令,获取所有用户打开的Session(支持条件过滤)
[root@cdsw ~]# curl -u 'admin:123456' -X GET http://cdsw.fayson.com/api/v1/site/dashboards?limit=1&offset=0&order_by=created_at&order_sort=desc&start_max=2019-03-11T16:10:13%2B00:00&start_min=2019-03-04T16:10:13%2B00:00
该API接口对应CDSW管理界面上的如下界面
3.获取CDSW服务历史资源使用情况(CPU、Memory、GPU、Runs、Lag),支持按日期过滤
[root@cdsw ~]# curl -u 'admin:123456' -X GET http://cdsw.fayson.com/api/v1/site/dashboards/aggregates?start_max=2019-03-12T09:26:57%2B00:00&start_min=2019-03-05T09:26:57%2B00:00
该API接口对应CDSW管理界面上的如下界面
4.Kill当前正在运行的Session
[root@cdsw ~]# curl -u 'admin:123456' -X PUT http://cdsw.fayson.com/api/v1/projects/admin/testpython/dashboards/v85phyd4uy2mdcku/stop?user_killed=true
该API接口对应CDSW管理界面上的如下界面
4 总结
1.基于CDSW监控指标信息的API接口需要使用管理账号才能正常获取到数据。
2.Kill用户的Session时需要通过获取所有用户打开的Session接口找到相应运行状态的Session ID。