全部产品
Search
文档中心

日志服务:使用 SLS Alerting Skill 智能管理与诊断告警

更新时间:Sep 15, 2026

告警规则创建、通知配置与事件诊断均可使用自然语言交由 AI Agent 完成。alibabacloud-sls-alerting 是一个 Agent Skill,支持用自然语言管理日志服务 SLS 告警规则、配置告警通知和分析告警事件。安装后,Agent 根据需求生成告警规则或告警通知配置,通过阿里云 CLI 执行操作,并返回配置核验结果或告警诊断结论。

适用场景

场景

说明

对应演练

创建告警规则

根据业务指标和监控需求,创建告警规则并配置评估与触发条件。

场景一:创建告警规则

管理已有告警规则

查询和更新已有告警规则,支持临时静默告警通知,以及禁用、重新启用和删除告警规则。

场景二:修改已有告警规则的触发条件;场景五:静默告警通知

配置告警通知

支持邮件、短信、电话、钉钉等多种通知渠道,可配置告警通知人、策略和内容。

场景三:配置邮件和短信通知

告警事件诊断

结合告警历史和相关日志分析根因。

场景四:分析告警触发原因和持续时间

告警降噪

调整告警触发和通知策略,减少重复告警与无效通知。

—

告警降噪通过提示词描述期望的触发与通知行为,示例提示词如下:

prod-web 中的 web-500-alert 偶尔波动一下就报警,通知太多了。帮我改成连续 3 次检查都满足条件才告警,同一个问题持续存在时每 30 分钟提醒一次。

前提条件

  • 已准备支持 Agent Skills 且能够执行本地命令的 AI Agent,如 Claude Code、Codex、Qoder、QwenCode 或 OpenClaw,各 Agent 的 skills 安装目录见本文安装 Skill 章节。

  • 创建基于日志的告警规则前,已创建 Project 和 Standard LogStore,采集日志,并为查询涉及的字段配置索引;SQL 分析字段还需满足创建告警监控规则中相应的分析配置要求。

  • 已配置能够访问目标资源的阿里云身份凭证,并按操作需要授予告警规则、通知资源或日志查询权限。不同操作对应的常见权限示例如下:

    操作

    常见权限示例

    查看告警规则

    log:ListAlerts、log:GetAlert

    创建或修改告警规则

    log:CreateAlert、log:UpdateAlert

    启用、禁用或删除告警规则

    log:EnableAlert、log:DisableAlert、log:DeleteAlert

    查看通知资源

    log:ListResourceRecords、log:GetResourceRecord

    创建或修改通知资源

    log:CreateResourceRecord、log:UpdateResourceRecord

    验证查询或读取日志

    log:GetIndex、log:GetLogStoreLogs

    上述为权限名称示例,并非完整授权策略。应按实际操作配置支持的资源范围;如果拒绝信息中出现 Job 类 Action,应按实际 Action 排查,不能只依据 API 名称判断所需权限。

  • 执行云端操作时,需要阿里云 CLI 3.3.22 或更高版本及 SLS 插件;执行技能附带的本地配置校验脚本时,需要 Python 3.7 或更高版本;通过 npx 方式安装 Skill 时,需要 Node.js 和 npx。首次使用时可由 Agent 检查并提供安装指引。

  • 配置告警通知时,已准备告警通知人信息或可用的 Webhook 集成。告警通知人添加为告警规则的接收人后,即可接收该规则的告警通知。

  • 诊断历史告警事件时,需要可访问的告警历史或归档数据。告警中心历史通常位于 sls-alert-<账号 ID>-<地域> 下的 internal-alert-center-log;Project 执行历史位于告警规则所属 Project 下的 internal-alert-history。两者的字段和用途不同,可分别按自定义分析告警日志中的方法查询。首次使用告警中心时,需要在 SLS 控制台完成地域选择;Project 执行历史需要在控制台首次访问相应的告警规则详情页启用。查看告警规则详情和历史统计报表的操作方式,参见管理告警监控规则。

    仅查看告警规则、管理通知资源或解释配置时,不要求提前准备新的业务日志数据。

警告

不要在 Agent 对话中粘贴 AccessKey ID、AccessKey Secret、STS Token、Webhook 签名密钥或带令牌的完整 URL。请通过阿里云 CLI 支持的凭据配置方式及所在环境的安全配置渠道管理这些信息。

安装 Skill

alibabacloud-sls-alerting 已收录于阿里云官方 Skills 仓库,可通过以下两种方式安装:本地具备 Node.js 和 npx 时,推荐通过方式一的 npx 命令安装;无 Node.js 或不便安装运行时时,使用方式二手动下载安装。

推荐同时安装 alibabacloud-sls-query。该查询技能可以帮助生成和优化告警查询语句,并通过查询、分析相关日志辅助告警事件诊断。

常见 Agent 的 skills 安装目录如下,方式一的安装范围选择与方式二的复制目标均以下表为准:

Agent

项目级安装目录

用户级安装目录

Claude Code

.claude/skills

~/.claude/skills

Codex

.agents/skills

~/.agents/skills

Qoder

.qoder/skills

~/.qoder/skills

QwenCode

.qwen/skills

~/.qwen/skills

OpenClaw

<工作区>/skills

~/.openclaw/skills

其中,~ 表示用户主目录;OpenClaw 的工作区和用户级目录可随配置调整,具体路径参见 OpenClaw Skills 文档。

方式一(推荐):通过 npx 命令安装

安装前,执行以下命令确认本地 Node.js 和 npx 可用:

node -v
npx -v

如果提示命令不存在,请先安装 Node.js,或改用方式二手动下载安装。

执行以下命令安装 Skill:

npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-sls-alerting --full-depth

根据安装程序提示选择目标 Agent 和安装范围。安装完成后,确认对应 skills 目录中存在 alibabacloud-sls-alerting,重新加载技能或重启 Agent。

方式二:手动下载安装

  1. 从 GitHub Release 下载 alibabacloud-sls-alerting 安装包。

  2. 解压安装包,将包含 SKILL.md、references 和 scripts 的 alibabacloud-sls-alerting 目录整体复制到目标 Agent 的 skills 安装目录中。复制后,skills 目录的直接子目录即为 alibabacloud-sls-alerting。

  3. 重新加载技能或重启 Agent 以加载该 Skill。

说明

Node.js 用于运行 npx 安装命令。手动复制 Skill 文件不需要 Node.js;执行告警操作仍需阿里云 CLI 和相应运行环境。

验证安装结果

安装完成后,确认对应 Agent 实际加载的 skills 目录(项目级安装需对应当前工作目录)下有 alibabacloud-sls-alerting 目录,且该目录包含 SKILL.md、references 和 scripts。重新加载技能或重启 Agent 后,Agent 即可识别该技能。如果 Agent 没有识别 Skill,参见本文故障排查中的“安装后 Agent 没有识别 Skill”进行排查。

管理和诊断告警

安装完成后,向 Agent 描述告警需求即可。Agent 根据任务选择相应流程:

任务类型

主要流程

创建或修改告警规则

检查环境和权限 → 确定资源与字段 → 读取现有配置或通知资源 → 验证查询与配置 → 提交变更 → 读取结果并核验。

管理通知资源

确定接收对象、渠道和策略 → 检查现有资源及引用关系 → 创建或更新所需资源 → 核验配置。

诊断告警事件

确定告警规则和事件时间 → 查询告警历史 → 核对触发条件与实际查询窗口 → 查询源日志及相关日志 → 输出结论和证据。

首次执行时,Agent 会检查阿里云 CLI 和 SLS 插件。如果环境缺失或版本不满足要求,会提供安装或升级指引。凭据配置请在本地终端完成,具体方式参见配置与管理身份凭证。

配置变更提交后,Agent 会返回核验结果;配置成功与通知送达需要分别验证,建议在 SLS 侧按以下要点确认配置已生效:

  • 告警规则与通知配置:告警规则是否启用,是否产生正常的执行记录;查询窗口、返回结果、触发条件与连续触发阈值是否符合预期,是否产生告警事件。

  • 通知送达:是否开启 SLS 通知输出,告警规则关联的告警策略、行动策略是否正确;接收人状态、渠道开关、模板内容和 Webhook 设置是否正常,并查看通知错误记录。

提示词最佳实践

创建或修改告警规则时,建议提供以下信息:

信息

示例

目标资源

告警规则所属 Project 为 prod-web,地域为 cn-hangzhou,数据源 LogStore 为 prod-web。

告警规则标识

告警规则 ID 为 web-500-alert,显示名称为“Web 服务 500 错误告警”。

告警触发条件

status 为 500 的请求数达到 100 次;request_time 的单位为秒。

时间设置

每分钟检查一次,每次查询最近 5 分钟。

告警通知

通过邮件和短信通知指定接收人。

执行意图

创建告警规则;更新已有告警规则;仅生成配置草案;仅查询和诊断。

诊断告警事件时,建议提供告警规则所属 Project、告警规则 ID、事件时间范围和时区。如果日志归档在其他位置,还应提供归档 Project、LogStore 及时间字段信息。

检查频率和查询时间窗口分别控制不同的行为,建议明确写入提示词:

参数

作用

示例

检查频率

多久执行一次告警检查。

每 1 分钟执行一次。

查询时间窗口

每次检查使用哪一段数据。

查询最近 5 分钟。

场景演练

以下演练给出完整提示词与 Agent 输出示例。

场景一:创建告警规则

提示词

帮我在 cn-hangzhou 的 prod-web 中创建一个 SLS 告警规则,ID 为 web-500-alert。
每分钟检查 nginx-access 中最近 5 分钟的访问日志,status 为 500 的请求数达到 100 次时告警。
告警通知通过邮件发送给已有通知人 web-ops@example.com。

Agent 输出示例

查询语句:
status : 500 | SELECT count(*) AS errorCount FROM log

告警规则配置:
- 告警规则 ID:web-500-alert
- 数据源:prod-web/nginx-access
- 检查频率:1 分钟
- 查询窗口:最近 5 分钟
- 触发条件:errorCount >= 100
- 告警通知:邮件,web-ops@example.com

配置结果:告警规则已创建,已核验触发条件和邮件通知配置。

场景二:修改已有告警规则的触发条件

提示词

帮我修改 cn-hangzhou 下 prod-web 中的 SLS 告警规则 web-500-alert,
把状态码为 500 的请求数的告警阈值从 100 次改为 200 次,其他配置保持不变。

Agent 输出示例

更新结果:已更新告警规则,并核验告警阈值为 200 次,其他配置保持不变。

配置变化说明

本次修改仅调整告警阈值,其余配置项保持不变:

配置项

修改前

修改后

告警触发条件

errorCount >= 100

errorCount >= 200

检查频率

1 分钟

1 分钟

查询窗口

最近 5 分钟

最近 5 分钟

场景三:配置邮件和短信通知

提示词

帮我添加一个 SLS 告警通知人,姓名是 xxx,邮箱是 xxx@example.com,手机号是 xxx。
再为 cn-hangzhou 下 prod-web 中的告警规则 web-500-alert 添加邮件和短信通知,
都发送给这位通知人。

Agent 输出示例

已添加告警通知人:
- 姓名:xxx
- 邮箱:xxx@example.com
- 手机号:xxx

告警通知配置:
- 告警规则:prod-web/web-500-alert
- 接收人:xxx
- 通知渠道:邮件、短信

配置结果:已为该告警规则添加这位通知人的邮件和短信通知,并核验接收人信息及渠道配置。

场景四:分析告警触发原因和持续时间

提示词

prod-web 中 SLS 告警规则 web-500-alert 在今天早上触发了好几次,帮我调查下原因。

Agent 输出示例

事件范围:2026-09-10 09:00~10:00,北京时间。
告警规则:prod-web/web-500-alert。

触发原因:
- 历史记录显示,当时的告警触发条件为 errorCount >= 100。
- 09:10 的执行记录使用 09:05~09:10 的源日志窗口,errorCount 为 186。
- 已重新查询该窗口的源日志,统计结果与记录相符,满足当时的触发条件。

频率和持续时间:
- 按执行标识去重后,09:10~09:15 共 6 次执行处于触发状态。
- 这些执行属于 1 段连续告警。
- 09:16 有恢复记录,从首次触发到恢复约 6 分钟。

源日志证据:
- 执行查询:status : 500 | SELECT count(*) AS errorCount FROM log
- 查询窗口:09:05~09:10,返回 errorCount=186。
- 按 request_uri 下钻后,/api/order/create 占 142 次,约为 76.3%。
- 该接口的错误日志中存在 upstream connect timeout。

结论:状态码为 500 的请求数达到阈值导致告警,错误主要集中在 /api/order/create。
后续方向:检查上游连接状态及服务日志;现有证据尚不足以确认超时的底层原因。

触发执行次数不等于通知条数,实际发送情况以通知记录为准。

场景五:静默告警通知

提示词

帮我临时静默 prod-web 中的 web-500-alert SLS 告警通知,静默 30 分钟。

Agent 输出示例

已设置临时静默:
- 告警规则:prod-web/web-500-alert
- 静默时长:从现在起 30 分钟
- 静默范围:该告警规则产生的告警通知

静默期间,告警规则继续执行检查,仅暂停发送告警通知;30 分钟后本次静默自动结束,后续通知按原有配置处理。

使用限制

限制项

说明

查询超时

验证告警查询或分析历史日志时,查询可能超时。可缩小查询时间范围或简化查询语句后重试。

告警历史记录

可分析的时间范围受历史记录及源日志保留时间限制。

常见问题

如何指定阿里云账号或地域?

默认使用阿里云 CLI 当前配置的 Profile。需要其他 Profile 时,通过提示词明确指定名称,例如“使用 Profile=prod,管理 cn-hangzhou 的 prod-web 告警规则”。

告警规则所属 Project、查询数据源和告警历史可能位于不同地域,应分别提供或核实。需要内网访问时,可明确要求使用相应地域的内网 Endpoint,例如 cn-hangzhou-intranet.log.aliyuncs.com。

能否跨 Project、跨地域或跨账号查询数据?

告警规则所属 Project 与查询数据源可以不同。需要明确数据源的 Project、LogStore 和地域,并保证相应权限。

跨账号查询还需要配置可由 SLS 扮演的 RAM 角色及其信任关系、源数据访问权限;配置者还可能需要 ram:PassRole 权限。CLI 手动查询成功,并不代表告警规则的运行身份已经获得访问权限。

故障排查

阿里云 CLI 或 SLS 插件缺失、版本不满足要求

Agent 会在执行操作前检查环境,并在缺失或版本不满足要求时提供指引。也可以先在终端检查:

aliyun version
aliyun sls version

缺少 SLS 插件时执行:

aliyun plugin install --names sls

插件已安装,但所需命令或参数不可用时执行:

aliyun plugin update --name sls

安装后 Agent 没有识别 Skill

确认技能安装到了当前 Agent 实际加载的目录,检查项目级安装是否对应当前工作目录,然后重新加载技能或重启 Agent。也可以通过提示词显式指定 alibabacloud-sls-alerting。

报错 Unauthorized 或 AccessDenied

根据失败请求中的 Action 和 Resource 检查 RAM 授权,各操作对应的常见权限示例参见前提条件中的权限表。上述为权限名称示例,并非完整授权策略,应按实际操作配置支持的资源范围;如果拒绝信息中出现 Job 类 Action,应按实际 Action 排查,不能只依据 API 名称判断所需权限。

报错 ProjectNotExist

检查 Project 名称、所属地域及 Endpoint。告警规则所属 Project 与查询数据源 Project 可能不同,需要确认失败发生在哪个请求。不要将错误地域下的“未找到”直接判断为资源不存在。

报错 IndexConfigNotExist 或字段无法分析

确认目标 LogStore 已配置索引,且查询使用的字段类型及 SQL 分析设置正确。例如,计算延迟平均值应使用数值字段,并核实单位。调整索引后,应按索引生效范围重新验证查询。

告警规则已创建,但没有收到通知

检查是否受到重复等待、静默、抑制、条件分支或发送时段影响,再按“管理和诊断告警”中的验证要点逐项排查告警规则与通知链路。

告警事件诊断查不到告警历史

优先确认时间范围、时区、告警规则 ID、历史存储地域及访问权限。