创建或修改告警规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
arms:CreateAlertRules | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
AlertId | long | 否 | 告警规则 ID。
| 546xxx |
AlertName | string | 是 | 告警规则名称。 | Alert Rule Demo |
RegionId | string | 是 | 地域 ID。 | cn-hangzhou |
AlertType | string | 是 | 告警规则类型:
| APPLICATION_MONITORING_ALERT_RULE |
AlertStatus | string | 否 | 设置告警规则运行状态。
| RUNNING |
NotifyStrategy | string | 否 | 指定通知策略。
| 569xxx |
Pids | string | 否 | 应用监控或前端监控告警规则关联应用的 PID。 | ["b590lhguqs@40d8deedfa9******"] |
AutoAddNewApplication | boolean | 否 | 应用监控或前端监控是否开启新创建应用追加到此告警规则功能。
| false |
MetricsType | string | 否 | 应用监控或前端监控告警规则的告警指标类型。详细信息请参见下方表格。 | jvm |
Filters | string | 否 | 应用监控或前端监控告警规则的筛选条件。 格式如下:
FilterOpt 取值如下:
| {"DimFilters": [ { "FilterOpt": "ALL", "FilterValues": [], "FilterKey": "rootIp" } ] } |
AlertRuleContent | string | 否 | 应用监控或前端监控的告警规则内容。AlertRuleContent 模板如下,模板中各字段含义请参见表格下方的补充说明。
说明
不同的 MetricsType,AlertRuleItems.MetricKey可使用的条件字段不同。应用监控和前端监控支持的指标类型以及各指标对应的告警规则字段,请参见表格下方的补充说明。
| { "Condition": "OR", "AlertRuleItems": [ { "Operator": "CURRENT_LTE", "MetricKey": "appstat.jvm.threadcount", "Value": 1000, "Aggregate": "AVG", "N": 10, "Tolerability": 169 } ] } |
AlertCheckType | string | 否 | Prometheus 监控告警规则的告警检查类型。
| STATIC |
ClusterId | string | 否 | Prometheus 监控告警规则的集群 ID。 | ceba9b9ea5b924dd0b6726d2de6****** |
AlertGroup | long | 否 | Prometheus 告警规则的告警分组 ID。
| -1 |
PromQL | string | 否 | Prometheus 告警规则的 PromQL 语句。 | node_memory_MemAvailable_bytes{} / node_memory_MemTotal_bytes{} * 100 |
Duration | long | 否 | Prometheus 告警规则的持续时间,单位为分钟,取值范围[0,1440]。 | 1 |
Level | string | 否 | Prometheus 告警规则的等级。
| P2 |
Message | string | 否 | Prometheus 告警规则的告警内容。 | 命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} 内存使用率超过80%, 当前值{{ printf \\\"%.2f\\\" $value }}% |
Labels | string | 否 | Prometheus 告警规则的标签。 | [ { "Value": "cms_polardb", "Name": "_aliyun_cloud_product" } ] |
Annotations | string | 否 | Prometheus 告警规则的注释。 | [ { "Value": "PolarDB 慢查询数量", "Name": "_aliyun_display_name" } |
MetricsKey | string | 否 | 告警指标。新建 Prometheus 告警规则时,如果 AlertCheckType 设置为 STATIC,MetricsKey 必填。 说明
不同的 AlertGroup,对应的告警指标不同,AlertGroup 和 MetricsKey 的对应关系请参见表格下方的补充说明。
| pop.status.error |
Tags | array<object> | 否 | 告警规则标签(阿里云统一标签)。 | |
object | 否 | 标签。 | ||
Key | string | 否 | 标签的键(key)。 | owner |
Value | string | 否 | 标签的值(value)。 | John |
MarkTags | array<object> | 否 | 应用标签。用于应用监控告警规则,筛选告警规则关联的应用。 | |
object | 否 | 关联应用标签。 | ||
Key | string | 否 | 标签键。 | service |
Value | string | 否 | 标签值。 | proudct |
DataConfig | string | 否 | 数据配置。dataRevision 字段指定指标无数据时的数据修复方式。
| { "dataRevision": 2 } |
Notice | string | 否 | 生效时间及通知时间。用于兼容旧版规则。 | - |
AlertPiplines | string | 否 | 报警发送通道配置。用于兼容旧版规则。 | - |
NotifyMode | string | 否 | 通知模式。普通模式或极简模式。
| NORMAL_MODE |
Product | string | 否 | 创建 Prometheus 告警规则时传入,后台会校验是否存在此产品,用于区分云产品过滤查询。 | clickhouse |
AutoAddTargetConfig | string | 否 | 应用监控告警规则-告警应用自动追加配置。
| {\"autoAddMatchType\":\"REGULAR\",\"autoAddMatchExp\":\".*cbw.*\"} |
AlertRuleContent 模版字段说明
{
"Condition": "OR",
"AlertRuleItems": [
{ "Operator": "CURRENT_LTE",
"MetricKey": "appstat.jvm.threadcount",
"Value": 1000,
"Aggregate": "AVG",
"N": 10,
"Tolerability": 169
}
]
}
- Condition:多个告警条件之间的触发逻辑。
- OR:满足下述任何一个条件。
- AND:同时满足下述条件。
- Operator:告警条件的判断条件。
- CURRENT_GTE:大于或等于
- CURRENT_LTE:小于或等于
- PREVIOUS_UP:环比上升百分比
- PREVIOUS_DOWN:环比下降百分比
- HOH_UP:与上小时同比上升百分比
- HOH_DOWN:与上小时同比下降百分比
- DOD_UP:与昨日同比上升百分比
- DOD_DOWN:与昨日同比下降百分比
- INTERVAL_EXCEED:区间检测。注意:区间检测不支持多条件触发。
- MetricKey:具体告警条件的指标。不同的 MetricsType,对应的指标不同。对应关系请参见下方说明。
- Value:告警条件阈值。
- Aggregate:告警条件聚合方式。
- AVG:平均
- SUM:求和
- MAX:最大值
- MIN:最小值
- CONTINUOUS:持续
- AVG_WEIGHTED:错误率加权平均值
- N:最近 N 分钟。
- Tolerability:表示区间容忍度,取值在 1~200 之间。
应用监控 MetricsType 和AlertRuleContent.AlertRuleItems.MetricKey对应关系
MetricsType | 指标类型 | AlertRuleContent.AlertRuleItems.MetricKey |
---|---|---|
jvm | JVM 监控 | - appstat.jvm.gc.oldgccountinstant:JVM FullGC 次数(瞬时值) - appstat.jvm.gc.oldgctimeinstant:JVM FullGC 耗时(瞬时值) - appstat.jvm.gc.younggccountinstant:JVM YoungGC 次数(瞬时值) - appstat.jvm.gc.younggctimeinstant:JVM YoungGC 耗时(瞬时值) - appstat.jvm.heap_total:JVM 堆内总内存量 - appstat.jvm.heap_used:JVM 堆内使用内存量 - appstat.jvm.non_heap_committed:JVM 非堆内存提交值 - appstat.jvm.non_heap_init:JVM 非堆内存初始值 - appstat.jvm.non_heap_max:JVM 非堆内存最大值 - appstat.jvm.non_heap_used:JVM 非堆总使用内存量 - appstat.jvm.threadblockedcount:JVM 阻塞线程数 - appstat.jvm.threadcount:JVM 线程总数 - appstat.jvm.threaddeadlockcount:JVM 死锁线程数 - appstat.jvm.threadnewcount:JVM 新建线程数 - appstat.jvm.threadrunnablecount:JVM 可运行线程数 - appstat.jvm.threadterminatedcount:JVM 终结线程数 - appstat.jvm.threadtimedwaitcount:JVM 超时等待线程数 - appstat.jvm.threadwaitcount:JVM 等待线程数 |
saehost | SAE 主机监控 | - appstat.infra.sae.systemcpu:CPU 使用率 - appstat.infra.sae.systemdiskiopsread:磁盘 IOPS 读 - appstat.infra.sae.systemdiskiopswrite:磁盘 IOPS 写 - appstat.infra.sae.systemdiskrate:磁盘使用率 - appstat.infra.sae.systemdiskread:磁盘 IO 吞吐率读 - appstat.infra.sae.systemdisktotal:磁盘总量 - appstat.infra.sae.systemdiskused:磁盘使用量 - appstat.infra.sae.systemdiskwrite:磁盘 IO 吞吐率写 - appstat.infra.sae.systemload:系统负载 - appstat.infra.sae.systemmemrate:内存使用率 - appstat.infra.sae.systemmemtotal:总内存 - appstat.infra.sae.systemmemused:已用内存 - appstat.infra.sae.systemnetrecv:网络接收字节 - appstat.infra.sae.systemnetrecvdrop:网络接收数据丢包 - appstat.infra.sae.systemnetrecverror:网络接收错误数据包 - appstat.infra.sae.systemnetrecvpacket:网络接收数据包 - appstat.infra.sae.systemnettran:网络发送字节 - appstat.infra.sae.systemnettrandrop:网络发送数据丢包 - appstat.infra.sae.systemnettranerror:网络发送错误数据包 - appstat.infra.sae.systemnettranpacket:网络发送数据包 |
txn_db | SQL 指标 | - appstat.sql.count:数据库调用次数 - appstat.sql.error:数据库调用错误次数 - appstat.sql.rt:数据库调用响应时间 |
db | 数据库指标 | - appstat.database.count:数据库调用次数 - appstat.database.errcount:数据库调用错误次数 - appstat.database.rt:数据库调用响应时间 |
threadpool | 线程池监控 | - appstat.threadpool.threadcorepoolsize:核心线程数 - appstat.threadpool.threadmaxpoolsize:最大线程数 - appstat.threadpool.threadpoolactivecount:活跃线程数 - appstat.threadpool.threadpoolqueuesize:队列大小 - appstat.threadpool.threadpoolsize:当前线程数 - appstat.threadpool.threadpooltaskcount:已执行任务数 - appstat.threadpool.threadpoolusedpercent:线程池使用率 |
exception | 异常接口调用 | - appstat.exception.count:应用异常接口调用次数 - appstat.exception.rt:应用异常接口调用响应时间 |
txn_type | 应用依赖服务统计 | - appstat.outcall.count:应用依赖服务调用次数 - appstat.outcall.errorrate:应用依赖服务调用错误率 - appstat.outcall.rt:应用依赖服务调用响应时间 |
txn | 应用提供服务统计 | - appstat.transaction.count:调用次数 - appstat.transaction.error:调用错误次数 - appstat.transaction.errorrate:调用错误率 - appstat.transaction.rt:调用响应时间 |
host | 主机监控 | - appstat.jvm.systemcpuusage:节点机 CPU 使用率 - appstat.jvm.systemcpuuser:节点机 CPU 用户态占用率 - appstat.jvm.systemdiskfree:节点机空闲磁盘 - appstat.jvm.systemdiskusage:节点机磁盘利用率 - appstat.jvm.systemload:节点机系统负载 - appstat.jvm.systemmemfree:节点机空闲内存 - appstat.jvm.systemmemusage:节点机内存利用率 - appstat.jvm.systemnetinerrs:节点机接受错误报文数 - appstat.jvm.systemnetouterrs:节点机发送错误报文数 |
scheduler | 定时任务 | - appstat.scheduler.rt:运行时间 - appstat.scheduler.count:运行次数 - appstat.scheduler.error:运行异常次数 - appstat.scheduler.delay:调度延迟时间 |
前端监控 MetricsType 和AlertRuleContent.AlertRuleItems.MetricKey对应关系
MetricsType | 指标类型 | AlertRuleContent.AlertRuleItems.MetricKey |
---|---|---|
api | API 指标 | - webstat.api.detail.count:API 请求次数 - webstat.api.detail.fail_time:API 失败耗时 - webstat.api.detail.fail_uv:报错 API 的影响用户数 - webstat.api.detail.success_rate:API 成功率 - webstat.api.detail.success_time:API 成功耗时 |
page.api | 页面 API 指标 | - webstat.api.detail.page_api.count:API 请求次数 - webstat.api.detail.page_api.fail_time:API 失败耗时 - webstat.api.detail.page_api.success_rate:API 成功率 - webstat.api.detail.page_api.success_time:API 成功耗时 |
page | 页面指标 | - webstat.api.detail.page_api.fail_uv:报错 API 的影响用户数 - webstat.index.pv:页面访问量 - webstat.jserror.count:JS 错误数 - webstat.jserror.rate:JS 错误率 - webstat.msg.top.error_uv:JS 错误影响用户数 - webstat.resource.sum:资源错误数 - webstat.satisfy.satisfy:页面满意度 - webstat.speed.avg_cfpt:页面自定义首屏时间 - webstat.speed.avg_ctti:页面自定义可交互时间 - webstat.speed.avg_dns:页面 DNS 查询时间 - webstat.speed.avg_dom:页面 dom 解析时间 - webstat.speed.avg_fmp:页面首屏时间 - webstat.speed.avg_fpt:页面首次渲染耗时 - webstat.speed.avg_load:页面完全加载时间 - webstat.speed.avg_ready:ready 时间 - webstat.speed.avg_res:页面资源加载时间 - webstat.speed.avg_ssl:页面 SSL 建连时间 - webstat.speed.avg_t1:页面自定义 t1 时间 - webstat.speed.avg_t10:页面自定义 t10 时间 - webstat.speed.avg_t2:页面自定义 t2 时间 - webstat.speed.avg_t3:页面自定义 t3 时间 - webstat.speed.avg_t4:页面自定义 t4 时间 - webstat.speed.avg_t5:页面自定义 t5 时间 - webstat.speed.avg_t6:页面自定义 t6 时间 - webstat.speed.avg_t7:页面自定义 t7 时间 - webstat.speed.avg_t8:页面自定义 t8 时间 - webstat.speed.avg_t9:页面自定义 t9 时间 - webstat.speed.avg_tcp:页面 tcp 连接时间 - webstat.speed.avg_trans:页面内容传输时间 - webstat.speed.avg_ttfb:页面网络请求响应时间 - webstat.speed.avg_tti:页面首次可交互时间 |
custom | 自定义指标 | - webstat.avg.avg_val:自定义上报均值 - webstat.sum.sum_val:自定义上报求和 |
Prometheus 监控 AlertGroup 和 MetricsKey 对应关系
AlertGroup | 告警分组 | MetricsKey |
---|---|---|
1 | Kubernetes 负载 | - prom.workload.container_cpu_usage:容器 CPU 使用率 - prom.workload.job_execute_error:Job 执行失败 - prom.workload.pod_cpu_usage:Pod 磁盘使用率 - prom.workload.pod_start_timeout:Pod 启动超时失败 - prom.workload.pod_restart_frequent:Pod 频繁重启 - prom.workload.pod_status_error:Pod 状态异常 - prom.workload.container_memory_usage:容器内存使用率 - prom.workload.deployment_pod_survival:Deployment Pod 可用率 |
15 | Kubernetes 节点 | - prom.node.node_memory_usage:节点内存使用率 - prom.node.node_cpu_usage:节点 CPU 使用率 - prom.node.node_disk_usage:节点磁盘使用率 - prom.node.node_status_error:节点状态异常 |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "337B8F7E-0A64-5768-9225-E9B3CF******",
"AlertRule": {
"AlertId": 5510445,
"AlertName": "arms-test",
"UserId": "1131971649******",
"RegionId": "cn-hangzhou",
"AlertType": "APPLICATION_MONITORING_ALERT_RULE",
"AlertStatus": "RUNNING",
"CreatedTime": 1641438611000,
"UpdatedTime": 1641438611000,
"Extend": "{\\\"alarmContext\\\":\\\"{\\\\\\\"content\\\\\\\":\\\\\\\"报警名称:$报警名称\\\\\\\\n筛选条件: $筛选\\\\\\\\n报警时间: $报警时间\\\\\\\\n报警内容: $报警内容\\\\\\\\n注意!:该报警未收到恢复邮件之前,正在持续报警中,24小时后会再次提醒您!\\\\\\\",\\\\\\\"subTitle\\\\\\\":\\\\\\\"\\\\\\\"}\\\",\\\"alertWays\\\":\\\"[0,1]\\\",\\\"contactGroupIds\\\":\\\"381,5075\\\",\\\"notice\\\":\\\"{\\\\\\\"endTime\\\\\\\":1480607940000,\\\\\\\"noticeEndTime\\\\\\\":1480607940000,\\\\\\\"noticeStartTime\\\\\\\":1480521600000,\\\\\\\"startTime\\\\\\\":1480521600000}\\\"}",
"NotifyStrategy": "ALERT_MANAGER",
"Pids": [
"b590lhguqs@40d8deedfa9******"
],
"AutoAddNewApplication": false,
"MetricsType": "JVM",
"AlertRuleContent": {
"Condition": "OR",
"AlertRuleItems": [
{
"N": 1,
"MetricKey": "JVM非堆总使用内存量",
"Aggregate": "AVG",
"Operator": "CURRENT_GTE",
"Value": "1"
}
]
},
"Filters": {
"DimFilters": [
{
"FilterKey": "rootIp",
"FilterOpt": "ALL",
"FilterValues": [
"[]"
]
}
],
"CustomSLSFilters": [
{
"Key": "username",
"Opt": "=",
"Value": "test",
"T": "null",
"Show": false
}
],
"CustomSLSGroupByDimensions": [
"[\"page\"]"
],
"CustomSLSWheres": [
"[\"t like '%api%'\"]"
]
},
"AlertCheckType": "STATIC",
"ClusterId": "ceba9b9ea5b924dd0b6726d2de6******",
"AlertGroup": -1,
"PromQL": "node_memory_MemAvailable_bytes{} / node_memory_MemTotal_bytes{} * 100",
"Duration": "1",
"Level": "P2",
"Message": "命名空间: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / 容器: {{$labels.container}} 内存使用率超过80%, 当前值{{ printf \\\\\\\"%.2f\\\\\\\" $value }}%",
"Labels": [
{
"Name": "123",
"Value": "abc"
}
],
"Annotations": [
{
"Name": "123",
"Value": "abc"
}
],
"Tags": [
{
"Key": "owner",
"Value": "John"
}
],
"NotifyMode": "NORMAL_MODE"
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-05-07 | OpenAPI 入参发生变更 | 查看变更详情 |
2024-04-29 | OpenAPI 入参发生变更 | 查看变更详情 |
2023-12-18 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-10-20 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-10-17 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-10-16 | OpenAPI 入参发生变更 | 查看变更详情 |
2023-10-11 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-09-14 | OpenAPI 入参发生变更 | 查看变更详情 |
2023-08-24 | OpenAPI 入参发生变更 | 查看变更详情 |
2023-05-11 | OpenAPI 入参发生变更、OpenAPI 返回结构发生变更 | 查看变更详情 |