微认证初体验之ManagaOne运维监控数据一站式集成
ManagaOne运维监控数据一站式集成
1.1 介绍
通过调用ManageOne运维面开放的API,实现对华为云Stack的实时监控,一站式获取全量的资源、容量、告警、性能等常用运维监控数据。
1.2 架构
通过互联网访问ManageOne运维面接口,获取云内的资源、容量、性能、告警监控数据,实现大屏数据的获取,从而完成云数据中心监控大屏的开发。
1.3 流程
1.4 资源准备
1.4.1 实验环境获取
准备实验环境,准备ManageOne运维面接口对接账号,通过公网、端口进行接口对接测试。
- 访问协议:https
- IP 地址:255.93.186
- 端口号:26335
- 对接账号:NBIUser/Changeme_123
1.4.2 准备本地开发环境
1)JDK;
2)Java 语言集成开发平台,如 eclipse;
3)项目管理工具 Maven,建议使用 3.6 以上版本,并配置好远程仓库;
4)接口测试工具:Postman。
使用 Postman 测试接口前,请先将 Postman 的 SSL 认证关闭。如下图:
1.5 接口调用测试
1.5.1 获取token
调用业务接口前,需先使用账号、密码获取token,然后将token填充至业务接口的请求头中,才能调用业务接口。
- 调用 URL:【PUT】https://58.255.93.186:26335/rest/plat/smapp/v1/oauth/token
- 请求头(Headers):
Accept:application/json
Content-Type:application/json;charset=UTF-8
如图,
- 请求体(Body):
{
"grantType":"password", //认证方式,填写固定值“password”
"userName":"NBIUser", //用户名
"value":"Changeme_123" //用户密码
}
如图,
响应体如图:
accessSession 的值即为 token 值
1.5.2 Postman请求自动获取Token
新建一个集合,后续接口调用操作都在这个集合内进行。
为集合新建一个环境,这里新建一个全局环境变量。
添加‘accessToken‘变量,暂不设置变量值。
更改原来用来获取token的请求,设置请求的Tests,加入以下代码:
- var response = JSON.parse(responseBody);
- environment.set("accessToken", response.accessSession);
“accessToken”是为了与环境中变量名相同,response.accessSession部分代码应根据响应报文不同的结构来设置。
完成上述步骤后,“Send”发送请求,可以看到“ManageOne“环境中accessToken变量已成功获取到响应报文中返回的accessSession值,即报文。到这里,自动获取token的部分就完成了。
1.5.2 虚拟机总数查询
步骤 1 查询管理虚拟机总数
- 调用URL:【GET】https://58.255.93.186:26335/rest/cmdb/v1/instances/SYS_VM
- 请求头(Headers):
Accept:application/json
Content-Type:application/json;charset=UTF-8
X-Auth-Token:{{accessToken}} //这里引用了先前设置好的环境变量;
如图,
响应体中totalNum表示管理虚拟机总数,使用Postman调用接口的截图如下:
步骤 2 查询租户虚拟机总数
- 接口URI:【GET】https://58.255.93.186:26335/rest/tenantresource/v1/tenant/resources/CLOUD_VM
- 请求头(Headers):
Accept:application/json
Content-Type:application/json;charset=UTF-8
X-Auth-Token:{{accessToken}}
如图,
响应体中totalNum表示弹性云服务器总数,使用Postman调用接口的截图如下:
将步骤 1 和步骤 2 获得的虚拟机总数相加即可得到云平台中虚拟机总数。
1.5.3 告警查询
查询数据集的统计信息的接口URI为(【POST】/rest/analysis/v1/datasets/{dataSet}),这里为了查询当前告警统计,数据集查询关键字{dataSet}应为:stat-alarm-active。
- 接口URI:【POST】https://58.255.93.186:26335/rest/analysis/v1/datasets/stat-alarm-active
- 请求头(Headers):
Content-Type:application/json;charset=UTF-8
x-auth-type:token
Accept:application/json; charset=UTF-8
X-Auth-Token:{{accessToken}}
- 请求体(Body):
{
"dimensions": [{
"field": "logicLoc.regionName",
"index": 10
}],
"metrics": [{
"aggType": "sum",
"field": "critical"
},
{
"aggType": "sum",
"field": "major"
},
{
"aggType": "sum",
"field": "minor"
},
{
"aggType": "sum",
"field": "warning"
}]
}
如图,
由响应体中获得所有区域的当前活动告警,使用Postman调用接口的截图如下:
这里我们将对应级别的告警数量相加即可获得各个级别的活动告警数量。
- 点赞
- 收藏
- 关注作者
评论(0)