createLogAlarm
更新时间:2024-09-11
描述
为指定日志集创建告警任务,需要遵循以下准则:
- 每个日志集可以创建多个告警任务
- 查询语句不支持纯检索语句
match ..., 可以支持查询语句select ...以及带有检索条件的查询语句match ...| select ... - 在告警任务中使用检索条件的查询语句时,无需开启索引
- 推送指标需要选择查询语句结果中的某一个字段,可以在查询语句中通过别名调整推送的字段名称
- 不同的告警任务需要绑定不同名称的指标
请求
- 请求语法
Http
1POST /v1/alarm HTTP/1.1
2Host: bls-log.{region}.baidubce.com
3Authorization: authorization string
- 请求头域
除公共请求头域外,无其它特殊头域。
- 请求参数
| 参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
|---|---|---|---|---|
| alarmName | String | yes | body | 告警任务名称,最长80个字符,包含字母、数字、- 和 _ |
| project | String | no | body | 日志组名称,默认default |
| logStoreName | String | yes | body | 日志集名称 |
| alarmConfig | AlarmConfig | yes | body | 告警任务配置 |
AlarmConfig结构:
| 参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
|---|---|---|---|---|
| alarmQuery | String | yes | body | 查询语句 |
| alarmTimeRange | Int | yes | body | 查询语句的时间范围,单位为分钟,范围是1-1440 |
| frequency | Int | yes | body | 推送指标周期,单位为分钟,范围是1-1440,推荐与查询语句时间范围相同 |
| metric | Metric | yes | body | 推送指标信息 |
Metric结构:
| 参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
|---|---|---|---|---|
| metricName | String | yes | body | 推送指标名称,3-50 个字符,包含字母、数字、- 和 _ |
| dimensions | LIST[Dimension] | no | body | 维度信息 |
Dimension结构:
| 参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
|---|---|---|---|---|
| name | String | yes | body | 维度名称,最多50个字符,包含字母、数字、- 和 _ |
响应
- 响应头域
除公共响应头域外,无其它特殊头域。
- 响应参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| alarmID | String | 告警任务ID |
错误码
除了通用的错误码,还可能出现如下错误码:
| 错误码 | 错误消息 | 描述 | HTTP状态码 |
|---|---|---|---|
| LogStoreNotFound | LogStore [logStoreName] not exists | LogStore 不存在 | 404 |
| Invalid request parameter | 指标[metric]要由英文字符,数字,连接符,下划线组成,长度为3-50 | 指标名称不符合规范 | 400 |
注:错误消息中 [logStoreName] 部分会用具体的名称来替换
示例
- 请求示例
Http
1POST /v1/alarm 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 "alarmName": "alarm1",
7 "project": "default",
8 "logStoreName": "storeAlarm",
9 "alarmConfig": {
10 "alarmQuery": "select count(error) as errCount, error group by error",
11 "alarmTimeRange": 10,
12 "frequency": 10,
13 "metric": {
14 "metricName": "errCount",
15 "dimensions": [
16 {
17 "name": "error"
18 }
19 ]
20 }
21 }
22}
- 响应示例
Http
1HTTP/1.1 201
2Content-Type: application/json; charset=utf-8
3{
4 "alarmID":"alarm-xxxxxxx"
5}
