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
![0877e2e2d373939bb47d9347c4ea02f6.png](https://i-blog.csdnimg.cn/blog_migrate/73b1d7865b495538be0d57404eea98cb.jpeg)
该API接口对应CDSW管理界面上的如下界面
![1cd2b5170ab67cda5d8b8bada7df514c.png](https://i-blog.csdnimg.cn/blog_migrate/7d6bb914d8b60b7d0764c9eb2db68e32.jpeg)
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
![2178330b72fefc28e0bd3acd32c4be99.png](https://i-blog.csdnimg.cn/blog_migrate/ab924a0e422872175f7cde5baebea116.jpeg)
该API接口对应CDSW管理界面上的如下界面
![ba690375edc8ed01154e73a2315c7e12.png](https://i-blog.csdnimg.cn/blog_migrate/906916a6cadd595d7016a53da7fc9ba6.jpeg)
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
![f4a4ffc4963e780e819f73ef54ae1c2d.png](https://i-blog.csdnimg.cn/blog_migrate/aa519d8ded5db8f510e1e411e1a60750.jpeg)
该API接口对应CDSW管理界面上的如下界面
![74a7231ad4f6ab3fcaf962d365946b19.png](https://i-blog.csdnimg.cn/blog_migrate/27e69c55cae473ea9332dd612089ce5e.jpeg)
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
![11c757e9ed7c026ca1ac9eb60abee47a.png](https://i-blog.csdnimg.cn/blog_migrate/d7e1811dde8eb3be8bc27a449b59c350.jpeg)
该API接口对应CDSW管理界面上的如下界面
![20f7dc43a04e035b821a9dd6de9a90b0.png](https://i-blog.csdnimg.cn/blog_migrate/5c5fd667d1962c8edaa2b58e78182799.jpeg)
4.总结
1.基于CDSW监控指标信息的API接口需要使用管理账号才能正常获取到数据。
2.Kill用户的Session时需要通过获取所有用户打开的Session接口找到相应运行状态的Session ID。