Aquila 中如何调用告警查询 API 接口

  API对接
内容纲要

概要描述


第三方软件可以调用API来对 Transwarp Manager管理的服务进行监控和告警,高版本使用aquila之后,原来的manager的告警查询接口已经不存在。如果想要类似功能,需要找到aquila-server所在节点以及端口(默认 8666),然后调用下文中的api实现类似功能。

file

如果是未使用aquila的版本,参考该文档:如何通过rest api的方式获取manager警报信息

如果是高版本的aquila如Manager 8.X、9.X集群可能api格式会有变化该文档不可用

详细说明


API URL

POST /api/alert/query

Body Example:
{
  "filters": [
    {
      "keyName": "clusterId",
      "values": [
        1
      ]
    }
  ], /*过滤条件*/
  "from": "2019-03-12T06:30:05.998+08:00", /*起始时间*/
  "severity": [
    "WARNING"
  ], /*告警级别*/
  "status": [
    "ACTIVE" /*告警状态*/
  ],
  "to": "2019-03-12T07:30:05.998+08:00" /*截止时间*/
}

使用说明

在使用上述api之前,需要先获取 Manager 的登录信息 token.txt。

  1. 通过命令登录 Manager 拿到 token.txt

    curl -c token.txt --data '{"userName": "<用户名>", "userPassword": "<密码>"}' http://:8180/api/users/login

    下面命令是用 admin 账号,密码为 admin,登录地址为 172.22.38.23 的manager;

    curl -c token.txt --data '{"userName": "admin", "userPassword": "admin"}' http://172.22.38.23:8180/api/users/login

    file

  2. 用这个 token.txt访问 Aquila url
    本案例中aquila url为: http://172.22.38.21:8666

    curl -b token.txt -c token.txt -v "http://172.22.38.21:8666"

    返回信息如下图所示,我们只需要关注 Location 部分;
    file

    Location: http://172.22.38.23:8180/#/ssologin?service=10%40ze1&loginapi=http%3A%2F%2F172.22.38.21%3A8666%2Fapi%2Flogin%2Fticket&callback=http%3A%2F%2F172.22.38.21%3A8666%2F
  3. 将上面 Location 信息中的 service 拷贝出来

    service=10%40ze1
  4. 带上这个 service,调用 Manager的 /api/users/getTicket 接口

    curl -b token.txt  http://172.22.38.23:8180/api/users/getTicket?service=10%40ze1

    上述命令会返回一个ticket, 如截图所示:
    file

    {
        "ticket": "ST-261135217089-UwKP2Uq7HeP2WKGVPt8p-"
    }
  5. 再次调用 Aquila 的 /api/login/ticket 接口, 带上这个 ticket

    curl -L -b token.txt -c token.txt "http://172.22.38.21:8666/api/login/ticket?callback=http://172.22.38.21:8666&ticket=ST-261135217089-UwKP2Uq7HeP2WKGVPt8p-"

    此时界面上会返回一堆 HTML 信息,表示已经成功登录 Aquila,如下图所示:
    file

  6. 调用真正的 alert 查询接口

    curl -H 'Content-Type:application/json' -v http://172.22.38.21:8666/api/alert/query -b token.txt  --data '{"filters":[{"keyName":"clusterId","values":[]},{"keyName":"nodeId","values":[]},{"keyName":"serviceId","values":[]}],"severity":[],"from":"2021-09-11T14:16:07.641+08:00","to":"2021-09-13T15:16:07.646+08:00"}'

    如下图所示,已经获取到告警信息:
    file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。