9.3.4 以下版本 Aquila 中如何调用告警查询 API 接口

  使用配置
内容纲要

概要描述


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

file


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" /*截止时间*/
}

请求参数

字段名称 必填 数据类型 字段详情
from number/string 查询起始时间,millisecond since epoch 或 ISO8601格式即"YYYY-MM-DD’T’hh:mm:ss.sss’Z’", 例如"2018-12-29T06:30:05.998Z"
to number/string 查询结束时间
status enum[] ACTIVE/SILENT/CLEARED ,数组,比如["ACTIVE"]
severity enum[] 当前版本只允许包含CRITICAL
filters Filter[] 变量列表,aquila会处理expr中的形如${}的变量
level enum[] CLUSTER/NODE/SERVICE

Filter

字段名称 数据类型 字段详情
keyName string 标签名称,如 clusterId
values object[] 值列表,如[1]

使用说明

在使用上述api之前,需要先获取 basic auth 的用户和密码。

  1. 通过配置文件查找user和pass

    # cat /etc/aquila/conf/server/shadow.yml | grep pass
    pass: htWh2JADC1
    
    # cat /etc/aquila/conf/server/shadow.yml | grep user
    user: FcsuF4Hz0Y
    
    如果 aquila >= 9.3.0
    # kubectl exec $(kubectl get pods | grep aquila-server | awk '{print $1}') -- env | grep AQUILA_SERVER_INTERNAL_ADMIN_PASSWORD
    AQUILA_SERVER_INTERNAL_ADMIN_PASSWORD=mtXbOpgjFn

    如图:
    file

  2. 通过查询到的user和pass 请求Aquila API

    接口对应的Host和Port为Aquila Server角色的pod的Host和Port,本案例中aquila url为:http://172.22.32.11:8666

    -u "FcsuF4Hz0Y:htWh2JADC1" 为上述步骤查询到的user:pass。

    如:

    curl -H 'Content-Type:application/json' -v http://172.22.32.11:8666/api/alert/query -u "FcsuF4Hz0Y:htWh2JADC1"  --data '{"filters":[{"keyName":"clusterId","values":[]},{"keyName":"nodeId","values":[]},{"keyName":"serviceId","values":[]}],"severity":[],"from":"2024-11-01T14:16:07.641+08:00","to":"2024-11-06T15:16:07.646+08:00"}'

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

这篇文章对您有帮助吗?

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

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

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

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