内容纲要
概要描述
第三方软件可以调用API来对 Transwarp Manager管理的服务进行监控和告警,高版本使用aquila之后,原来的manager的告警查询接口已经不存在。如果想要类似功能,需要找到aquila-server所在节点以及端口(默认 8666),然后调用下文中的api实现类似功能。
-
如果是未使用aquila的版本,参考该文档:如何通过rest api的方式获取manager警报信息
-
如果Aquila 版本 >= 9.3.4
所有接口在Query增加一个guardian_access_token参数即可,获取方式参考:Guardian 获取用户 Access Token使用api时带上token,如 /api/xxxx?guardian_access_token=7qsS8wVOxxxnGMZxxxSU-TDH
-
如果Aquila 版本 < 9.3.4
参考下面的方式获取basic auth详细说明
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 的用户和密码。
-
通过配置文件查找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
如图:
-
通过查询到的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"}'
如下图所示,已经获取到告警信息: