更新时间:2024-11-18 GMT+08:00

配置日志告警规则

LTS支持对日志流中的日志数据进行关键词告警SQL告警,通过设置告警规则,实时监控服务运行状态。目前每个账号最多可以创建关键词告警与SQL告警共200个。

支持批量创建多个告警规则,请参考创建多个告警规则

前提条件

已创建日志组、日志流,请参考管理日志组管理日志流

创建关键词告警规则

LTS支持对日志流中的日志数据进行关键词统计,通过设置告警规则,监控日志中的关键词,统计一定时间段内的日志中关键字出现的次数,实时监控服务运行状态。

  1. 登录云日志服务控制台
  2. 左侧导航选择“日志告警”。
  3. 在告警页面默认显示“告警列表”,单击“告警规则”切换至告警规则页面。
  4. 单击“创建”,在界面右侧弹出“新建告警规则”页面。
  5. 在“新建告警规则”页面,配置告警规则相关参数。

    表1 关键词告警参数说明

    参数类别

    参数名称

    参数说明

    基本信息

    规则名称

    告警规则的名称。名称只支持输入英文、数字、中文、中划线、下划线,且不能以中划线、下划线开头或结尾。长度为 1-64个字符。

    说明:

    告警创建完成后,支持修改规则名称,修改完成后,鼠标悬浮在规则名称上,显示修改后的规则名称和原始名称,不支持修改首次创建的原始名称。

    描述

    对该规则进行简要描述,长度不能超过64个字符。

    统计分析

    统计类型

    勾选关键词统计:适用于使用关键词搜索配置日志告警的场景。

    查询条件

    日志组名称:选择已创建的日志组。

    日志流名称:选择已创建的日志流。
    说明:

    当日志组下有多个日志流时,支持选择多个日志流,即可批量创建关键词告警。

    查询时间:指定语句的查询周期。查询语句的时间范围:从当前时间往前推一个周期。例如:查询时间设置为1小时,当前时间为9:00,则查询语句的时间范围为8:00-9:00。

    • 如果查询时间单位为分钟,则取值范围是1-60;
    • 如果查询时间单位为小时,则取值范围是1-24。

    关键词:LTS会根据设置的关键词对日志流中的日志进行监控。关键词支持精确匹配和模糊匹配,区分大小写,输入长度不超过1024个字符。如何设置关键词搜索请参考LTS搜索语法介绍

    检测规则

    配置触发条件,即满足该条件时,会触发告警。

    匹配条数:当关键词搜索结果的日志条数达到设定的条数时,会触发告警。支持大于(>)、大于等于(>=)、小于(<)、小于等于(<=)4种比较运算符。

    • 单击+增加条件表达式(or),最多支持增加20条。
    • 单击删除条件表达式。

    统计周期次数指高级设置的统计周期;满足条件次数指设置的关键词。配置的统计周期次数须大于等于满足触发条件次数。

    说明:
    • 触发告警级别包括“紧急”、“重要”、“次要”、“提示”,默认“紧急”。
    • 统计周期次数最小值为1,最大值为10。

    高级设置

    统计周期

    条件表达式查询的频率可以设置为:

    • 每小时:表示整点小时查询。
    • 每天:需要指定几点整查询。
    • 每周:需要指定周几的几点整查询。
    • 固定间隔:自定义间隔周期,需要指定1-60分钟/1-24小时。例如:当前时间为9:00,固定间隔设置为5分钟,则第一次查询时间为9:00,第二次查询时间为9:05,第三次查询时间为9:10.....
      说明:

      当查询时间大于1小时,固定间隔时间最小取值为5分钟。

    • CRON表达式:CRON表达式的最小精度为分钟,格式为24小时制,示例如下:
      • 0/10 * * * *从00:00开始,每隔整10分钟查询一次,分别为10分钟、20分钟、30分钟、40分钟、50分钟、60分钟。例如:当前时间为16:37,下一次查询时间为16:50。
      • 0 0/5 * * *从00:00开始,每隔5小时查询一次,分别为0时、5时、10时、15时、20时。例如:当前时间为16:37,下一次查询时间为20:00。
      • 0 14 * * *每天14:00查询一次。
      • 0 0 10 * *每月10日00:00查询一次。

    高级设置

    恢复策略

    配置恢复策略,即满足该策略时,会发送告警恢复通知。

    配置的最近统计周期次数内,如果不满足触发条件且开启恢复时通知开关,则会发送恢复告警通知。

    最近统计周期次数最小值为1,最大值为10。

    高级设置

    通知场景

    • 告警触发时:用于发送触发告警通知。开启该按钮,当满足触发条件时,会发送告警通知;未开启该按钮,当满足触发条件时,不会发送告警通知。
    • 告警恢复时:用于发送恢复告警通知。开启该按钮,当满足恢复策略时,会发送恢复告警通知;未开启该按钮,当满足恢复策略时,不会发送恢复告警通知。

    高级设置

    通知频率

    支持选择立即通知、每5分钟、每10分钟、每15分钟、每30分钟、每1小时、每3小时、每6小时发送告警。

    立即通知指只要产生告警就发送通知,每10分钟指的是两次通知之间最小时间间隔为10分钟,可避免告警轰炸。

    高级设置

    告警行动规则

    请从下拉列表中选择已创建的告警行动规则。

    若没有,请单击右侧“创建告警行动规则”。

    高级设置

    语言

    发送告警的语言,支持中文(简体)和英文。

  6. 单击“确定”,关键词告警规则创建成功。详细示例请查看参考示例1:出现关键字即触发告警

    告警规则创建完成后,告警状态默认显示“已开启”。关闭告警规则后,告警状态显示“已关闭”,临时关闭告警后,告警状态显示“临时关闭到2023/05/30 16:21:24.000 GMT+08:00”。(临时关闭的时间仅供参考,请以设置临时关闭告警的时间为准)

    当开启告警规则且关联日志流满足告警规则时,会触发告警;当关闭告警规则时,即使有满足该告警规则的情况,也不会触发告警。

创建SQL告警规则

云日志服务支持将日志数据进行结构化,通过配置SQL告警规则,定时查询结构化数据,当且仅当条件表达式返回为true的时候,将告警进行上报,用户可以在LTS控制台查看SQL告警。每条SQL告警规则可以关联1到3个图表,每个图表包含一条查询某个日志流的SQL查询语句。

目前此功能支持全部用户使用的局点有:华南-广州、华北-北京四、华东-上海一、华东-上海二、中国-香港、西南-贵阳一、亚太-新加坡、华北-北京一、亚太-曼谷;支持部分白名单用户使用的局点有:华南-深圳、中东-利雅得、亚太-雅加达,其他局点暂不支持该功能。

  1. 在云日志服务管理控制台,单击“日志告警”。
  2. 在告警页面默认显示“告警列表”,单击“告警规则”切换至告警规则页面。
  3. 单击“创建”,在界面右侧弹出“新建告警规则”页面。
  4. 在“新建告警规则”页面,参考表2配置告警规则相关参数。

    表2 SQL告警参数说明

    参数类别

    参数名称

    参数说明

    基本信息

    规则名称

    告警规则的名称。名称只支持输入英文、数字、中文、中划线、下划线,且不能以中划线、下划线开头或结尾。长度为 1-64个字符。

    说明:

    告警创建完成后,支持修改规则名称,修改完成后,鼠标悬浮在规则名称上,显示修改后的规则名称和原始名称。不支持修改首次创建的原始名称。

    描述

    对该规则进行简要描述。长度不能超过64个字符。

    统计分析

    统计类型

    勾选SQL统计:使用SQL分析配置告警。

    相关图表

    有两种添加方式:直接添加和从图表导入。

    • 直接添加:单击“直接添加”,可选择日志组、日志流。具体的参数配置信息如下:

      日志组名称:日志组的名称,必选项。

      日志流名称:日志组下的日志流名称,必选项。
      说明:

      若所选日志流未配置结构化规则,请先设置云端结构化解析日志

      查询时间:当前所选日志的查询时间,可选项。查询时间(1 ~ 60分钟/1 ~ 24小时),单位为分钟或小时。

      查询语句:可视化查询语句,必填项。

    • 从图表导入:单击,进入“添加可视化图表”页面,选择对应日志组、日志流下的可视化图表,单击“确定”。若该日志流下没有图表或没有所需的图表,单击界面上的“前往添加图表”,进入可视化界面,设置完成后单击“保存并返回”返回到告警规则界面,自动打开创建规则弹框,填充新创建的图表及图表的查询语句。

      可以指定图表的查询时间(1 ~ 60分钟/1 ~ 24小时),单位为分钟或小时,每个图表最多可以查询最近一天的数据,当统计周期选择1~4分钟时,图表查询时间不能超过1小时。

      若想添加多个图表,可单击继续添加。

      说明:
      • 单击跳转到日志流的可视化查看详情界面。
      • 单击 删除该直接添加的图表。
      • 单击“预览”可查看可视化分析后的数据。必须要执行“预览”,否则将无法保存该告警规则。
      • 最多支持添加3个图表。
      • 图表不能为空,且图表中的sql查询语句不能为空。

    检测规则

    输入具体的条件表达式,当条件表达式返回为true的时候,产生告警,否则不产生告警。

    说明:
    • 条件表达式支持中文。
    • 条件表达式不支持纯数字,不支持以数字开头的。
    • 统计周期次数指上面设置的统计周期;满足条件次数指设置的条件表达式。配置的统计周期次数须大于等于满足触发条件次数。
    • 触发告警级别包括“紧急”、“重要”、“次要”、“提示”,默认“紧急”。
    • 统计周期次数最小值为1,最大值为10。
    • 单击+增加条件表达式(or),最多支持增加20条。
    • 单击删除条件表达式。

    条件表达式支持的基础语法和多表组合语法。

    • 基础语法:
      • 基础运算符:支持加(+)、减(-)、乘(*)、除(/)、取模运算(%)。 示例:x * 10 + y > 100。
      • 比较运算符:支持大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)。示例:x >= 100。
      • 逻辑运算符:支持与(&&)、或(||)。示例:x > 0 && y < 200。
      • 取反前缀:支持取反前缀(!)。 示例:!(x < 1 && x > 100)。
      • 数值常量:支持数值常量,并作为64位浮点数处理。示例:x > 10。
      • 字符串常量:支持字符串常量("字符串"),例如"string"。示例:str =="string"。
      • 布尔常量:支持布尔常量(true、false)。示例:(x < 100)!=true。
      • 括号:支持使用括号改变计算的优先级。示例:x *(y + 10)<200。
      • contains函数:支持使用contains函数判断是否包含子串,例如contains(str, "hello")返回true则表示str中包含hello子串。
    • 多表组合语法:
      • 基础运算符:(+-*/%)。
      • 比较运算符:大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)。
      • 逻辑运算符:与(&&)、或(||)。
      • 取反前缀(!)。
      • contains函数。
      • 括号()。

    高级设置

    统计周期

    条件表达式查询的频率可以设置为:

    • 每小时:表示整点小时查询。
    • 每天:需要指定几点整查询。
    • 每周:需要指定周几的几点整查询。
    • 固定间隔:自定义间隔周期,需要指定1-60分钟/1-24小时。例如:当前时间为9:00,固定间隔设置为5分钟,则第一次查询时间为9:00,第二次查询时间为9:05,第三次查询时间为9:10.....
      说明:

      当查询时间大于1小时,固定间隔时间最小取值为5分钟。

    • CRON表达式:CRON表达式的最小精度为分钟,格式为24小时制,示例如下:
      • 0/10 * * * *从00:00开始,每隔整10分钟查询一次,分别为10分钟、20分钟、30分钟、40分钟、50分钟、60分钟。例如:当前时间为16:37,下一次查询时间为16:50。
      • 0 0/5 * * *从00:00开始,每隔5小时查询一次,分别为0时、5时、10时、15时、20时。例如:当前时间为16:37,下一次查询时间为20:00。
      • 0 14 * * *每天14:00查询一次。
      • 0 0 10 * *每月10日00:00查询一次。

    高级设置

    恢复策略

    配置恢复策略,即满足该策略时,会发送告警恢复通知。

    配置的最近统计周期次数内,如果不满足触发条件且开启恢复时通知开关,则会发送恢复告警通知。

    最近统计周期次数最小值为1,最大值为10。

    高级设置

    通知场景

    • 告警触发时:用于发送触发告警通知。开启该按钮,当满足触发条件时,会发送告警通知;未开启该按钮,当满足触发条件时,不会发送告警通知。
    • 告警恢复时:用于发送恢复告警通知。开启该按钮,当满足恢复策略时,会发送恢复告警通知;未开启该按钮,当满足恢复策略时,不会发送恢复告警通知。

    高级设置

    通知频率

    支持选择立即通知、每5分钟、每10分钟、每15分钟、每30分钟、每1小时、每3小时、每6小时发送告警。

    立即通知指只要产生告警就发送通知,每10分钟指的是两次通知之间最小时间间隔为10分钟,可避免告警轰炸。

    高级设置

    告警行动规则

    请从下拉列表中选择已创建的告警行动规则。

    若没有,请单击右侧“创建告警行动规则”,详细操作请见创建告警行动规则

    高级设置

    语言

    发送告警的语言,支持中文(简体)和英文。

  5. 单击“确定”,SQL告警规则创建成功。详细示例请查看参考示例2:根据关键字出现的次数设置告警

创建多个告警规则

支持批量创建多个告警规则。

  1. 在“告警规则”页面,批量导入告警规则。

    1. 单击“导入”,进入导入告警规则页面。
    2. 下载告警模板到本地填写完成。
    3. 单击“选择文件”,选择本地填写好的文件。
    4. 确认导入的规则信息无误后,单击“导入”。
    5. 导入成功后,在规则列表下方显示告警规则明细。

  2. 单击“批量编辑”,进入批量编辑告警规则页面。
  3. 在基本配置下方,输入告警规则数量,单击“添加告警规则”。

    或者单击“导入”,批量导入告警规则。

    在规则列表下方默认已有1个告警规则,最多支持再添加199个数量,因此支持同时添加200个告警规则。

  4. 在规则列表下方,请参考创建关键词告警规则创建SQL告警规则设置告警规则,设置完成后,单击“提交”。

    • 一个告警规则设置完成后,单击“应用于其他告警规则”即可将该告警规则复制到其他告警规则。
    • 例如添加了4个告警规则,批量创建成功后,在告警规则页签下方,就会显示4条告警规则。

告警规则后续操作

  • 支持对单个告警规则进行如下操作:

    修改告警规则:单击目标告警规则操作列的“修改”,在“修改告警规则”页面,修改规则名称、查询条件、检测规则等信息,修改完成后,单击“确定”。

    开启告警规则:单击目标告警规则操作列的“更多 > 开启告警规则”,开启告警规则。

    关闭告警规则:单击目标告警规则操作列的“更多 > 关闭告警规则”,关闭告警规则。

    临时关闭告警规则:单击目标告警规则操作列的“更多 > 临时关闭告警规则”,设置临时关闭的截止时间。

    复制告警规则:单击目标告警规则操作列的“更多 > 复制”,即可直接复制告警规则。

    删除告警规则:单击目标告警规则操作列的“删除”,在弹出的对话框中,单击“确定”删除该告警规则。

  • 勾选多个告警规则后,支持对多个告警进行批量操作:开启、关闭、临时关闭、取消临时关闭、告警恢复开启、告警恢复关闭、删除、导出。
  • 鼠标悬浮在规则名称上,显示修改后的规则名称和原始名称。不支持修改首次创建的原始名称。

参考示例1:出现关键字即触发告警

如果您希望日志中出现目标关键字时,就能触发告警,则您可以参考本示例设置查询语句和关键词告警规则。以下示例仅供参考,请以实际业务为准。

设置的关键字一定是日志流存在的关键字,例如Error关键字。

图1 查询结果
  • 查询语句:选择查询时间范围为15分钟,然后执行如下语句,查询包含Error关键字的日志。更多搜索语法请参考LTS搜索语法介绍
    图2 查询语句
  • 告警通知:创建上述告警规则后,只要日志中出现Error关键字,您就可以在“告警列表”收到告警通知。您还可以单击告警名称,查看告警详情,进行溯源。
    图3 告警报错

参考示例2:根据关键字出现的次数设置告警

如果您希望在一定时间范围内日志关键字出现的次数达到指定次数时,才触发告警,则您可以参考本示例设置查询分析语句和SQL告警规则。以下示例仅供参考,请以实际业务为准。

使用“SELECT count(*) as Error”在目标日志流查询当前Error总共出现90次。

图4 查询结果
  • 查询语句:选择查询时间范围为5分钟,然后执行如下语句“SELECT count(*) as Error”,统计5分钟内出现Error关键字的次数。更多搜索语法请参考SQL分析语法介绍
    图5 查询语句
  • 告警通知:创建上述告警规则后,只要日志中出现Error关键字超过2次,您就可以在“告警列表”收到告警通知。您还可以单击告警名称,查看告警详情,进行溯源。
    图6 告警报错