首批通过分布式安全可靠测评,为关键业务系统打造
查询告警通知历史
更新时间:2023-08-10 11:45:58
功能说明
获取通知历史, 支持搜索条件、接收人、发送时间。
调用说明
接口约束
调用者需要告警功能的读权限。
请求路径
GET /api/v2/alarm/notifications
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| page | Integer | 否 | 1 | 请求数据的分页页码。值从 1 开始。 默认值:1 |
| size | Integer | 否 | 10 | 请求数据的分页大小。 默认值:10 最大值:200 |
| category | String | 否 | OB | 告警大类,取值范围: * OB * APP |
| appType | String | 否 | OB | 应用类别(告警来源),取值范围: * OB * OCP * OMS * OBProxy * Backup |
| recipientUid | String | 否 | 216 | 接收人用户ID |
| alarmType | String | 否 | obagent_dead | 告警类型 |
| scope | String | 否 | ObCluster | 告警范围,取值范围: * ObCluster * ObTenant * AppCluster * Service * Host |
| level | Integer | 否 | 1 | 告警等级 [1~5] ,分别对应:Down、Critical、Alert、Caution、Info |
| status | String | 否 | Success | 通知发送状态,包括:Pending、Sending、Success、Failed、Limited |
| sentAtStart | Datetime | 否 | 2020-11-11T11:12:13.127+08:00 | 通知发送起始时间 |
| sentAtEnd | Datetime | 否 | 2020-11-11T17:11:13.127+08:00 | 通知发送截止时间 |
| keyword | String | 否 | foo | 关键字匹配 |
| alarmId | Integer | 否 | 123 | 告警 ID。如果设置了该参数,则会忽略其它参数。 |
返回结果
基础数据结构
参数 类型 说明 data Object 请求的数据。 ├─ contents Array 告警通知的列表,告警通知的数据结构见下表。 ├─ page Object 分页信息。 ├─ totalElements Integer 总记录数。 ├─ totalPage Integer 总页数。 ├─ number Integer 当前页码。 ├─ size Integer 当前页大小。 successful Boolean 请求是否成功。 timestamp Datetime 服务端完成请求的时间戳。 duration Integer 服务端处理请求的时间(毫秒)。 status Integer 符合 HTTP Status 规范的编码。 traceId String 请求的 Trace Id,用于排查问题。 server String 响应请求的服务端的地址。 告警通知的数据结构
名称 类型 描述 id Integer 通知 ID recipientUid String 接收人用户 ID recipientAddr String 接收人地址(含义取决于 通道的接收人字段,可能是 邮箱、电话号码、员工号等) channelId Integer 通道id appType String 应用类别(告警来源),主要包括:OB、OCP、OMS、OBProxy、Backup scope String 告警范围,包括:ObCluster、ObTenant、AppCluster、Service、Host alarmType String 告警类型 level Integer 告警等级 [1~5] message String 消息内容 status String 发送状态,包括:Pending、Sending、Success、Failed、Limited channelResponse String 上一次发送时通道返回的 response generatedAt String 生成时间 sentAt String 发送时间 ob_cluster_group String OBserver 集群组 ob_cluster String OBserver 集群 ob_tenant String OBserver 租户 obregion_group String OBserver 集群组 别名,兼容现有OCP obregion String OBserver 集群 别名,兼容现有 OCP tenant_name String OBserver 租户 别名,兼容现有 OCP host_name String 主机名 host_ip String 主机名 svr_ip String 主机IP 别名,兼容现有 OCP app_cluster String 应用集群 service String 服务名 alarmIds Array 关联的告警 ID 列表 isAggregated Boolean 是否聚合通知
示例
请求示例
查询历史通知。
GET /api/v2/alarm/notifications?page=1&size=2
返回示例
{
"data": {
"contents": [
{
"alarmIds": [
1000160
],
"alarmType": "no_enough_exporter",
"appType": "OCP",
"channelId": 100001,
"channelResponse": "stdout=,stderr=",
"generatedAt": "2020-12-03T01:50:12Z",
"id": 1001134,
"isAggregated": false,
"labels": {
"alarm_name": "exporter進程數量不夠",
"app_type": "OCP",
"alarm_level_color": "#722ED1",
"alarm_last_interval": "PT6M8.301194S",
"svr_ip": "xxx.xxx.xxx.xxx",
"alarm_description_3": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter進程數量不夠",
"host_services": "OB_CLUSTER,OB_PROXY",
"alarm_level": "停服",
"alarm_description_1": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5",
"alarm_name_3": "exporter進程數量不夠",
"alarm_description_2": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter number not enough, deployed services OB_CLUSTER,OB_PROXY, expected exporter count 6, actual exporter count 5",
"alarm_name_2": "exporter number not enough",
"expected_exporter_count": "6",
"alarm_name_1": "exporter进程数量不够",
"alarm_type": "no_enough_exporter",
"alarm_summary": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够",
"alarm_status": "已消除",
"alarm_scope": "主机",
"alarm_active_at": "2020-12-03T09:44:04+08:00",
"alarm_target": "service=OCP:svr_ip=xxx.xxx.xxx.xxx",
"alarm_resolved_at": "2020-12-03T09:50:12+08:00",
"alarm_url": "http://xxx.xxx.xxx.xxx:8080/alarm/event/1000160",
"app": "OCP",
"actual_exporter_count": "5",
"alarm_is_build_in_rule": "true",
"host_ip": "xxx.xxx.xxx.xxx",
"alarm_duration": "0",
"recipients_uids": "",
"service": "OCP",
"alarm_description": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5",
"alarm_updated_at": "2020-12-03T09:45:04+08:00",
"alarm_summary_2": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter number not enough",
"alarm_summary_1": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够",
"alarm_id": "1000160",
"alarm_summary_3": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter進程數量不夠",
"alarm_evaluation_interval": "60"
},
"level": 1,
"message": "【告警恢复通知】\n- 告警对象 service=OCP:svr_ip=xxx.xxx.xxx.xxx\n- 告警详情 service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5\n- 恢复时间 2020-12-03T09:50:12+08:00",
"scope": "Host",
"sentAt": "2020-12-03T01:50:13Z",
"status": "Failed"
},
{
"alarmIds": [
1000160
],
"alarmType": "no_enough_exporter",
"appType": "OCP",
"channelId": 100000,
"channelResponse": "\r\n{\"status\":1111,\"wait\":5,\"source\":\"x5\",\"punish\":\"deny\",\"uuid\":\"d6937ed81b2e15d7fbf103aae000631e\",\"errcode\": 130101,\"errmsg\": \"send too fast, exceed 20 times per minute\"}",
"generatedAt": "2020-12-03T01:50:12Z",
"id": 1001133,
"isAggregated": false,
"labels": {
"alarm_name": "exporter進程數量不夠",
"app_type": "OCP",
"alarm_level_color": "#722ED1",
"alarm_last_interval": "PT6M8.301194S",
"svr_ip": "xxx.xxx.xxx.xxx",
"alarm_description_3": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter進程數量不夠",
"host_services": "OB_CLUSTER,OB_PROXY",
"alarm_level": "停服",
"alarm_description_1": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5",
"alarm_name_3": "exporter進程數量不夠",
"alarm_description_2": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter number not enough, deployed services OB_CLUSTER,OB_PROXY, expected exporter count 6, actual exporter count 5",
"alarm_name_2": "exporter number not enough",
"expected_exporter_count": "6",
"alarm_name_1": "exporter进程数量不够",
"alarm_type": "no_enough_exporter",
"alarm_summary": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够",
"alarm_status": "已消除",
"alarm_scope": "主机",
"alarm_active_at": "2020-12-03T09:44:04+08:00",
"alarm_target": "service=OCP:svr_ip=xxx.xxx.xxx.xxx",
"alarm_resolved_at": "2020-12-03T09:50:12+08:00",
"alarm_url": "http://xxx.xxx.xxx.xxx:8080/alarm/event/1000160",
"app": "OCP",
"actual_exporter_count": "5",
"alarm_is_build_in_rule": "true",
"host_ip": "xxx.xxx.xxx.xxx",
"alarm_duration": "0",
"recipients_uids": "",
"service": "OCP",
"alarm_description": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5",
"alarm_updated_at": "2020-12-03T09:45:04+08:00",
"alarm_summary_2": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter number not enough",
"alarm_summary_1": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够",
"alarm_id": "1000160",
"alarm_summary_3": "service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter進程數量不夠",
"alarm_evaluation_interval": "60"
},
"level": 1,
"message": "【告警恢复通知】\n- 告警对象 service=OCP:svr_ip=xxx.xxx.xxx.xxx\n- 告警详情 service=OCP:svr_ip=xxx.xxx.xxx.xxx exporter进程数量不够, 部署服务 OB_CLUSTER,OB_PROXY,预期exporter数量 6,实际exporter数量 5\n- 恢复时间 2020-12-03T09:50:12+08:00",
"scope": "Host",
"sentAt": "2020-12-03T01:50:13Z",
"status": "Success"
}
],
"page": {
"number": 1,
"size": 2,
"totalElements": 1817,
"totalPages": 909
}
},
"duration": 4,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2020-12-03T09:50:34.281+08:00",
"traceId": "e61c62a983ae4a05"
}