报警管理接口
更新时间:2023-12-20
创建报警策略
接口描述
创建报警策略
请求结构
- method:POST
- URL:/csm/api/v1/services/alarm/config/create
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
alarmConfig | AlarmConfig | 报警配置 | 是 | RequestBody参数 |
请求示例
JSON
1POST /csm/api/v1/services/alarm/config/create
2body
3{
4 "alarmActions": [
5 "0262f103-****-****-****-078d0f2d80c5"
6 ],
7 "aliasName": "test_all_instance",
8 "level": "MAJOR",
9 "monitorObject": {
10 "names": [],
11 "type": "APP"
12 },
13 "okActions": [],
14 "region": "bj",
15 "rules": [
16 [
17 {
18 "comparisonOperator": ">",
19 "evaluationPeriodCount": 10,
20 "index": 1,
21 "metric": "OutBytes",
22 "metricDimensions": [],
23 "periodInSecond": 900,
24 "statistics": "average",
25 "threshold": "1111"
26 }
27 ]
28 ],
29 "scope": "BCE_CDN",
30 "srcType": "ALL_INSTANCE",
31 "type": "NORMAL",
32 "userId": "453bf9********************9090dc"
33}
删除报警策略
接口描述
删除报警策略
请求结构
- method:POST
- URL:/csm/api/v1/services/alarm/config/delete?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 否 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 否 | Query参数 |
alarmName | String | 报警名 | 否 | Query参数 |
请求示例
为了展示的更清晰,对请求示例做了换行处理,在实际构造请求时URL路径及Query参数都在一行里。
JSON
1POST /csm/api/v1/services/alarm/config/delete?
2userId=453bf9********************9090dc
3&scope=BCE_CDN
4&alarmName=b9444b********************f04dac
更新报警策略
接口描述
编辑报警策略
请求结构
- method:POST
- URL:/csm/api/v1/services/alarm/config/update
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
alarmConfig | AlarmConfig | 报警配置 | 是 | RequestBody参数 |
请求示例
JSON
1POST /csm/api/v1/services/alarm/config/update
2body
3{
4 "alarmActions": [
5 "0262f103-****-****-****-078d0f2d80c5"
6 ],
7 "alarmName": "b9444b********************f04dac",
8 "aliasName": "fgh678",
9 "level": "MAJOR",
10 "monitorObject": {
11 "names": [],
12 "type": "APP"
13 },
14 "okActions": [],
15 "region": "bj",
16 "rules": [
17 [
18 {
19 "comparisonOperator": ">=",
20 "evaluationPeriodCount": 1,
21 "index": 1,
22 "metric": "OutBytes",
23 "metricDimensions": [],
24 "periodInSecond": 60,
25 "statistics": "average",
26 "threshold": "11"
27 }
28 ]
29 ],
30 "scope": "BCE_CDN",
31 "srcType": "ALL_INSTANCE",
32 "type": "NORMAL",
33 "userId": "453bf9********************9090dc"
34}
屏蔽报警策略
接口描述
屏蔽报警策略
请求结构
- method:POST
- URL:/csm/api/v1/services/alarm/config/block?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 否 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 否 | Query参数 |
alarmName | String | 报警名 | 否 | Query参数 |
请求示例
为了展示的更清晰,对请求示例做了换行处理,在实际构造请求时URL路径及Query参数都在一行里。
JSON
1POST /csm/api/v1/services/alarm/config/block?
2userId=453bf9********************9090dc
3&scope=BCE_CDN
4&alarmName=b9444b********************f04dac
开启报警配置
接口描述
开启报警通知
请求结构
- method:POST
- URL:/csm/api/v1/services/alarm/config/unblock?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 否 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 否 | Query参数 |
alarmName | String | 报警名 | 否 | Query参数 |
请求示例
为了展示的更清晰,对请求示例做了换行处理,在实际构造请求时URL路径及Query参数都在一行里。
JSON
1POST /csm/api/v1/services/alarm/config/unblock?
2userId=453bf9********************9090dc
3&scope=BCE_CDN
4&alarmName=b9444b********************f04dac
查看报警策略
接口描述
查看报警策略详情
请求结构
- Method:GET
- URL:/csm/api/v1/services/alarm/config?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 是 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 是 | Query参数 |
alarmName | String | 报警名 | 是 | Query参数 |
返回字段说明
类型 | 描述 |
---|---|
AlarmConfig | 报警配置 |
请求示例
为了展示的更清晰,对请求示例做了换行处理,在实际构造请求时URL路径及Query参数都在一行里。
JSON
1GET /csm/api/v1/services/alarm/config?
2alarmName=AllDomain-102
3&scope=BCE_CDN
4&userId=453bf9********************9090dc
响应示例
成功响应示例
JSON
1{
2 "alarmDescription": "",
3 "alarmName": "AllDomain-102",
4 "aliasName": "AllDomain-102",
5 "userId": "453bf9********************9090dc",
6 "scope": "BCE_CDN",
7 "region": "bj",
8 "monitorObject": {
9 "type": "INSTANCE",
10 "names": [
11 "DomainId:www.****.com"
12 ],
13 "typeName": "Instance"
14 },
15 "type": "NORMAL",
16 "level": "MAJOR",
17 "actionEnabled": true,
18 "rules": [
19 [
20 {
21 "id": null,
22 "index": 0,
23 "metric": "HttpRetCodeCount4xx",
24 "periodInSecond": 60,
25 "statistics": "maximum",
26 "threshold": "1 ",
27 "comparisonOperator": ">=",
28 "evaluationPeriodCount": 1,
29 "metricDimensions": []
30 },
31 {
32 "id": null,
33 "index": 0,
34 "metric": "HttpRetCodeCount4xx",
35 "periodInSecond": 60,
36 "statistics": "maximum",
37 "threshold": "3",
38 "comparisonOperator": ">=",
39 "evaluationPeriodCount": 1,
40 "metricDimensions": []
41 }
42 ]
43 ],
44 "alarmActions": [
45 "edd825df-****-****-****-181ef0953523"
46 ],
47 "okActions": [],
48 "insufficientActions": [],
49 "insufficientCycle": 60,
50 "srcName": "",
51 "srcType": "",
52 "repeatAlarmCycle": 300,
53 "maxRepeatCount": 2,
54 "callbackUrl": "",
55 "callbackToken": ""
56}
失败响应示例
情况一:参数不正确。下列为缺少scope的值
JSON
1{
2 "requestId": "4d619a********************9ff6db",
3 "code": "ServletRequestBinding",
4 "message": "Servlet Request Binding Exception: Required String parameter 'scope' is not present"
5}
情况二:参数格式不正确。下列为scope错误为例
JSON
1{
2 "requestId": "4d619a********************9ff6db",
3 "code": "ResourceNotExistException",
4 "message": "The resource does not exist."
5}
查看单一实例报列表接口
接口描述
查看单一实例报警策略列表
请求结构
- Method:GET
- URL: /csm/api/v1/services/alarm/config/list?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 是 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 是 | Query参数 |
region | String | 地域,默认为bj | 否 | Query参数 |
dimensions | String | 维度,由dimensionName:dimensionValue组成。当监控项具备多个维度时使用分号连接,例如dimensionName:dimensionValue;dimensionName:dimensionValue,相同维度只能指定一个维度值 | 否 | Query参数 |
order | String | 排序方式 | 是 | Query参数 |
pageSize | int | 每页数量 | 是 | Query参数 |
pageNo | int | 第几页 | 是 | Query参数 |
actionEnabled | boolean | 是否已启用 | 否 | Query参数 |
alarmNamePrefix | String | 报警名称前缀 | 否 | Query参数 |
参数解释
- 名字空间scope、指标metric、统计方法Statistic、维度Dimension等的概念请参考核心概念。
返回字段说明
类型 | 描述 |
---|---|
PageResultResponse<AlarmConfig> | 报警策略列表 |
请求示例
为了展示的更清晰,对请求示例做了换行处理,在实际构造请求时URL路径及Query参数都在一行里。
JSON
1GET /csm/api/v1/services/alarm/config/list?
2userId=453bf9********************9090dc
3&pageSize=10
4&pageNo=1
5&scope=BCE_CDN
6&order=desc
7&dimensions=DomainId%3Abcm5-********.sys-qa.com
8&actionEnabled=
9&alarmNamePrefix=
10®ion=bj
响应示例
成功响应示例
JSON
1{
2 "orderBy": "",
3 "order": "",
4 "pageNo": 1,
5 "pageSize": 10,
6 "totalCount": 599,
7 "result": [
8 {
9 "alarmDescription": "",
10 "alarmName": "025bc1********************5093c0",
11 "aliasName": "test_cdn_ymd_0831_01",
12 "userId": "453bf9********************9090dc",
13 "scope": "BCE_CDN",
14 "region": "bj",
15 "monitorObject": {
16 "type": "INSTANCE",
17 "names": [
18 "DomainId:bcm5-********.sys-qa.com"
19 ],
20 "typeName": "Instance"
21 },
22 "type": "NORMAL",
23 "level": "MAJOR",
24 "actionEnabled": true,
25 "rules": [
26 [
27 {
28 "id": null,
29 "index": 0,
30 "metric": "ProvIspReqCount",
31 "periodInSecond": 60,
32 "statistics": "average",
33 "threshold": "10",
34 "comparisonOperator": ">",
35 "evaluationPeriodCount": 1,
36 "metricDimensions": [
37 {
38 "name": "Isp",
39 "value": "pbs"
40 },
41 {
42 "name": "Prov",
43 "value": "hubei"
44 }
45 ]
46 },
47 {
48 "id": null,
49 "index": 0,
50 "metric": "ProvIspReqCount",
51 "periodInSecond": 60,
52 "statistics": "average",
53 "threshold": "5",
54 "comparisonOperator": ">",
55 "evaluationPeriodCount": 1,
56 "metricDimensions": [
57 {
58 "name": "Isp",
59 "value": "pbs"
60 },
61 {
62 "name": "Prov",
63 "value": "beijing"
64 }
65 ]
66 }
67 ]
68 ],
69 "alarmActions": [
70 "yangmoda_test"
71 ],
72 "okActions": [],
73 "insufficientActions": [],
74 "insufficientCycle": 0,
75 "srcName": "",
76 "srcType": "INSTANCE",
77 "repeatAlarmCycle": 0,
78 "maxRepeatCount": 0,
79 "callbackUrl": "",
80 "callbackToken": ""
81 },
82 ...
83 {
84 "alarmDescription": "",
85 "alarmName": "ba39ee********************ad28aa",
86 "aliasName": "TestCDNRepeat0824_3",
87 "userId": "453bf9********************9090dc",
88 "scope": "BCE_CDN",
89 "region": "bj",
90 "monitorObject": {
91 "type": "INSTANCE",
92 "names": [
93 "DomainId:bcm5-********.sys-qa.com"
94 ],
95 "typeName": "Instance"
96 },
97 "type": "NORMAL",
98 "level": "MAJOR",
99 "actionEnabled": true,
100 "rules": [
101 [
102 {
103 "id": null,
104 "index": 0,
105 "metric": "OutBytes",
106 "periodInSecond": 60,
107 "statistics": "average",
108 "threshold": "3",
109 "comparisonOperator": ">",
110 "evaluationPeriodCount": 1,
111 "metricDimensions": []
112 }
113 ]
114 ],
115 "alarmActions": [
116 "test_wenqing"
117 ],
118 "okActions": [],
119 "insufficientActions": [],
120 "insufficientCycle": 0,
121 "srcName": "",
122 "srcType": "INSTANCE",
123 "repeatAlarmCycle": 300,
124 "maxRepeatCount": 5,
125 "callbackUrl": "",
126 "callbackToken": ""
127 }
128 ]
129}
失败响应示例
情况一:参数不正确。pageSize为空
JSON
1{
2 "requestId": "4a7643********************7ae904",
3 "code": "ServletRequestBinding",
4 "message": "Servlet Request Binding Exception: Required Integer parameter 'pageSize' is not present"
5}
获取指标列表
接口描述
获取指标项列表
请求结构
- method:GET
- URL:/csm/api/v1/services/alarm/config/metrics?{Query参数}
请求参数
名称 | 类型 | 描述 | 是否必须 | 参数位置 |
---|---|---|---|---|
userId | String | 用户id | 是 | Query参数 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" | 是 | Query参数 |
region | String | 地域 | 是 | Query参数 |
dimensions | String | 维度,由dimensionName:dimensionValue组成。当监控项具备多个维度时使用分号连接,例如dimensionName:dimensionValue;dimensionName:dimensionValue,相同维度只能指定一个维度值 | 否 | Query参数 |
type | String | 获取指标列表的类型,默认为INSTANCE | 否 | Query参数 |
locale | String | 国家地区,默认为zh-cn | 否 | Query参数 |
返回字段说明
类型 | 描述 |
---|---|
List<AlarmMetric> | 报警指标列表 |
请求示例
JSON
1GET /csm/api/v1/services/alarm/config/metrics?
2userId=453bf9********************9090dc
3scope=BCE_CDN
4region=bj
响应示例
JSON
1[
2 {
3 "alias": "流量",
4 "name": "OutBytes",
5 "unitCategory": "Percent",
6 "unitName": "Bytes",
7 "cycle": 60,
8 "metricDimensions": [
9 []
10 ],
11 "scope": "BCE_CDN",
12 "typeName": "Instance"
13 },
14 ...
15 {
16 "alias": "分省份运营商有效请求数",
17 "name": "ProvIspReqCount",
18 "unitCategory": "Percent",
19 "unitName": "次",
20 "cycle": 60,
21 "metricDimensions": [
22 [
23 "Prov",
24 "Isp"
25 ]
26 ],
27 "scope": "BCE_CDN",
28 "typeName": "Instance"
29 }
30]
附录
AlarmConfig
名称 | 类型 | 描述 |
---|---|---|
alarmDescription | String | 自动生成,报警规则说明 |
alarmName | String | userId下唯一报警名 |
aliasName | String | 前端展示使用,允许重复 |
userId | String | 用户id |
scope | String | 所属云产品名字空间 |
region | String | 地域 |
monitorObject | MonitorObject | 监控对象 |
type | AlarmType(enum) | 报警类型,可选值为: NORMAL(指标报警) EVENT(事件报警) |
eventTypeList | List< String > | 事件类型列表 |
level | AlarmLevel(enum) | 报警等级,可选值为: NOTICE(通知) WARNING(警告) MAJOR(重要) CRITICAL(严重) |
actionEnabled | Boolean | 报警的通知状态 |
rules | List< List<AlarmRule> > | 报警规则列表 |
alarmActions | Set< String > | 报警状态下所要采取的动作 |
okActions | Set< String > | 正常状态下所要采取的动作 |
insufficientActions | Set< String > | 采集数据不足状态下的动作 |
insufficientCycle | int | 无数据报警判断周期 |
srcName | String | 实例组id |
srcType | String | 实例组类型 |
repeatAlarmCycle | int | 重复报警周期 |
maxRepeatCount | int | 最大的报警重复次数 |
callbackUrl | String | 报警回调地址 |
callbackToken | String | 报警回调token |
MonitorObject
名称 | 类型 | 描述 |
---|---|---|
type | MonitorObjectType(enum) | 监控对象云服务类型,可选值为: APP(应用监控类型) SERVICE(实例组类型) CUSTOM(自定义监控类型) INSTANCE(实例类型) DOMAIN(站点监控类型) |
names | List< String > | 监控对象名称列表 |
resources | List<PolicyResource> | 监控对象资源列表 |
typeName | String | 监控对象的类型名 |
AlarmRule
名称 | 类型 | 描述 |
---|---|---|
id | long | 报警规则的id |
index | long | 报警规则的索引,当多个规则共同组成同一报警规则,它们的索引相同 |
metric | String | 监控指标名称 |
periodInSecond | long | 多长时间计算一次是否满足各个报警规则,即单个评估周期时长,单位s |
statistics | String | 统计方式,可选值为:maximum(最大值)、minimum(最小值)、sum(和值)、average(平均值) |
threshold | String | 报警规则的阈值 |
comparisonOperator | String | 和阈值比较的算符,取值为>=、>、=、<、<= |
evaluationPeriodCount | int | 触发报警所需连续发生次数 |
metricDimensions | List<Dimension> | 指标的维度 |
PolicyResource
名称 | 类型 | 描述 |
---|---|---|
identifiers | List<Dimension> | 实例维度列表 |
metricDimensions | List<Dimension> | 指标维度列表 |
Dimension
名称 | 类型 | 描述 |
---|---|---|
name | String | 指标名 |
value | String | 指标维度 |
AlarmMetric
名称 | 类型 | 描述 |
---|---|---|
alias | String | 指标前端显示命名 |
name | String | 监控指标名 |
unitCategory | String | 单位类别 |
unitName | String | 单位名 |
cycle | int | 多长时间计算一次是否满足各个报警规则,即单个评估周期时长,单位s |
metricDimensions | Set< MetricDimensions > | 指标的维度 |
scope | String | 云产品名字空间,仅限于使用如下字符集合:"0~9、A~Z、a~z"、 "_" |
typeName | String | 警报指标类型名 |
pageInfo
名称 | 类型 | 描述 |
---|---|---|
perPage | int | 每页数量 |
totalCount | int | 总页数 |
currentPage | int | 当前页码 |
PageResultResponse
名称 | 类型 | 描述 |
---|---|---|
orderBy | String | 排序规则 |
order | String | 排序项 |
pageNo | int | 当前页 |
pageSize | int | 每页数量 |
totalCount | int | 总页数 |
result | List< T > | 结果集 |