更新报警策略UpdateAlarmPolicy
更新时间:2025-09-04
描述
更新报警策略
请求
- 请求语法
Text
1PUT /v1/alarm/policy HTTP/1.1
2Host: <Endpoint>
3Authorization: <Authorization String>
4Content-Type: application/json; charset=utf-8
5{
6 "name": <name>,
7 "id": <id>,
8}
- 请求头域
除公共请求头域外,无其它特殊头域。
- 请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
id | String | Yes | RequestBody | 报警策略ID,唯一 |
name | String | Yes | RequestBody | 报警策略名称,不能重复 |
objects | List<LogStore> | No | RequestBody | 监控对象列表,当所有日志集共享目标日志集时,填写该字段 |
targets | List<Target> | Yes | RequestBody | 执行语句列表 |
triggerConditions | List<TriggerCondition> | Yes | RequestBody | 触发条件列表 |
groups | List<String> | No | RequestBody | 分组触发 |
schedule | Schedule | Yes | RequestBody | 执行周期 |
pendingCount | Int | Yes | RequestBody | 连续触发阈值,连续多少次触发阈值则报警 |
repeatIntervalMinute | Int | No | RequestBody | 重复报警间隔,单位:分钟,默认值:0,表示关闭重复报警 |
recoverWithoutNotice | Bool | No | RequestBody | 恢复后是否通知 true:不通知, false:通知, 默认值为false |
state | String | No | RequestBody | 策略启用状态,ENABLED: 已启用, DISABLED: 已禁用 |
noticeState | String | No | RequestBody | 下通知启用状态,ENABLED: 已启用, DISABLED: 已禁用 |
notices | List<Notice> | Yes | RequestBody | 报警通知模板,参考:BCM通知模板接口 |
noticeRawLogs | List<NoticeRawLog> | No | RequestBody | 是否在报警通知中添加原始日志 |
其中,objects数组中的每个LogStore元素结果如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
project | String | No | 日志集项目,默认default |
logStoreName | String | Yes | 日志集名称 |
targets数组中的每个Target元素结构如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
query | String | Yes | 执行语句 |
startTimeOffsetMinute | Int | Yes | 查询开始时间偏移量,取值范围: [-1440, 0) |
endTimeOffsetMinute | Int | Yes | 取值范围: (startTimeOffsetMinute, 0] |
object | LogStore | No | 当每个执行语句单独指定日志集时,填写该字段 |
triggerConditions数组中的每个TriggerCondition元素结构如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
level | String | Yes | 报警等级,必填,可选项:INFO, WARN, CRITICAL |
condition | String | Yes | 触发条件表达式 |
Schedule元素结构如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
intervalMinute | Int | No | 固定间隔,单位:分钟,取值范围[1, 1440] |
fixTimeMinute | Int | No | 指定时刻,一天中的第几分钟,取值范围[0, 1440) |
dayOfWeek | Int | No | 固定时间频率; 0: 每天,1~7 一周的某天 |
Notice元素结构如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | String | Yes | bcm报警模板id |
NoticeRawLog元素结构如下:
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
type | String | Yes | 配置类型, REF: 关联执行语句, CUSTOM: 自定义检索语句 |
refTarget | String | No | 若type=REF,表示引用的执行语句序号,从0开始计数 |
customTarget | Target | No | 若type=CUSTOM,填写自定义执行语句 |
columns | List<String> | No | 在原始日志中展示的字段名列表,若未填写,表示展示所有字段 |
limit | Int | Yes | 展示的日志条数,最大值为5 |
响应
- 响应头域
除公共响应头域外,无其它特殊头域。
- 响应参数
字段 | 类型 | 描述 |
---|---|---|
success | Boolean | 请求是否成功 |
code | String | 请求码,成功为OK,错误为具体的错误码 |
message | String | 请求成功为空,失败为具体的错误信息 |
错误码
除了通用的错误码,还可能出现如下错误码:
错误码 | 错误消息 | 描述 | HTTP状态码 |
---|---|---|---|
InvalidParameter | Request param invalid: [msg] | 无效的参数异常 | 400 |
示例
- 请求示例
Text
1PUT /v1/alarm/policy HTTP/1.1
2Host: bls-log.bj.baidubce.com
3Authorization:bce-auth-v1/18717522d39411e9b721df098b0b908c/2019-09-10T07:00:20Z/1800/content-type;host;x-bce-date;x-bce-request-id/6a7cb6c9ac7ec156c805e55e7d0bcfc443b47feee97cf099c1c0d93a0b4c8304
4Content-Type: application/json; charset=utf-8
5{
6 // 策略ID
7 "id": "p-nRyKJOpr",
8
9 // 报警策略名称,同user下唯一,必填
10 "name": "policy-name",
11
12 // 监控对象列表,选填,当所有日志集共享目标日志集时,填写该字段
13 "objects": [
14 {
15 "project": "default", // 日志集项目,默认
16 "logStoreName": "test-logstore-52" // 日志集名称
17 },
18 ],
19
20 // 执行语句列表,必填
21 "targets": [
22 {
23 // 执行语句,必填
24 "query": "select sum(age) as age",
25 // 查询开始时间偏移量,必填,取值范围: [-1440, 0)
26 "startTimeOffsetMinute": -1440,
27 // 查询结束时间偏移量,必填,取值范围: (startTimeOffsetMinute, 0]
28 "endTimeOffsetMinute": 0,
29
30 // 目标日志集,选填,当每个执行语句单独指定日志集时,填写该字段
31 "object": {
32 "logStoreName": "test-logstore-52" // 日志集名称
33 }
34 }
35 ],
36
37 // 触发条件列表,必填
38 "triggerConditions": [
39 {
40 // 报警等级,必填,可选项:
41 // INFO - 通知,
42 // WARN - 警告
43 // CRITICAL - 严重
44 "level": "WARN",
45
46 // 触发条件表达式,必填
47 "condition": "$1.age > 1"
48 }
49 ],
50
51 // 分组触发,选填
52 "groups": ["$1.age", "$1.salary"],
53
54 // 执行周期,必填,固定间隔和指定时刻有且仅有一个被设置
55 "schedule": {
56 // 固定间隔,单位:分钟,取值范围[1, 1440]
57 "intervalMinute": 1,
58
59 // 指定时刻,一天中的第几分钟,取值范围[0, 1440)
60 "fixTimeMinute": 120, // 示例中,120表示一天中的第120分钟,即凌晨2点整
61 // 固定时间频率; 0: 每天 1~7 一周的某天
62 "dayOfWeek": 0
63 },
64
65 // 连续触发阈值,连续多少次触发阈值则报警,必填
66 "pendingCount": 1,
67
68 // 重复报警间隔,单位:分钟,选填,默认值:0,表示关闭重复报警
69 "repeatIntervalMinute": 5,
70
71 // 恢复后是否通知 true:不通知, false:通知, 默认
72 "recoverWithoutNotice": true,
73
74 // 策略启用状态,可选项:
75 // ENABLED - 已启用
76 // DISABLED - 已禁用
77 "state": "ENABLED",
78
79 // 通知启用状态,可选项:
80 // ENABLED - 已启用
81 // DISABLED - 已禁用
82 "noticeState": "ENABLED",
83
84 // 报警通知模板列表,必填
85 "notices": [
86 {
87 // bcm报警模板id,必填
88 "id": "testNotice"
89 }
90 ],
91
92 // 是否在报警通知中添加原始日志,选填
93 "noticeRawLogs" : [
94 {
95 // 配置类型,必填
96 // REF - 关联执行语句
97 // CUSTOM - 自定义检索语句
98 "type" : "CUSTOM",
99
100 // 若type=REF,必填,表示引用的执行语句序号,从0开始计数
101 "refTarget" : 1,
102
103 // 若type=CUSTOM,填写自定义执行语句
104 "customTarget": {
105 // 执行语句,必填
106 "query": "select sum(age) as age",
107 // 查询开始时间偏移量,必填,取值范围: [-1440, 0)
108 "startTimeOffsetMinute": -1440,
109 // 查询结束时间偏移量,必填,取值范围: (startTimeOffsetMinute, 0]
110 "endTimeOffsetMinute": 0,
111
112 // 目标日志集,选填,当每个执行语句单独指定日志集时,填写该字段
113 "object": {
114 "logStoreName": "test-logstore-52" // 日志集名称
115 }
116 }
117
118 // 在原始日志中展示的字段名列表,选填,若未填写,表示展示所有字段
119 "columns": ["requestid", "status"],
120
121 // 展示的日志条数,最大值为5,必填
122 "limit" : 4,
123 }
124 ]
125}
- 响应示例
Text
1HTTP/1.1 201
2Content-Type: application/json; charset=utf-8
3X-Bce-Request-Id: 2eeba101-4cc7-4cfe-b5ac-a3be8d060e33
4Date: Fri, 10 Apr 2020 04:42:37 GMT
5{
6 "success": true,
7 "code": "OK",
8 "message": ""
9}