You need to enable JavaScript to run this app.
导航
监控报警
最近更新时间:2024.08.20 14:56:17首次发布时间:2021.02.23 10:42:03

1. 概述

监控告警功能可用于监控图表中的指标,提供小时、日、月粒度的实时监控。用户可通过配置监控规则、监控频率设置监控。
系统支持的告警方式目前有邮件、飞书、企业微信、Webex 钉钉、Webhook。使用此模块需由企业域管理员完成办公平台集成配置,操作步骤详见办公平台集成
如需查阅当前项目内已配置的监控并进行管理,详见项目中心-监控管理
常见应用场景

  • 检测维度项的变化:例如公司在多地发展了线下店铺,根据城市-店铺的名单,需监控城市覆盖情况的变化,则可以选择维度值变化监控,监控维度为“城市”。当列表中出现新的城市,或者某一城市消失时,会收到对应报警推送
  • 监控指标异常波动:例如监控公司销售额的波动情况,当波动额上涨/下跌高出预期值时,发送报警推送,相关分析人员第一时间介入定位原因
  • 智能波动检测(仅折线图支持):例如监控每日利润的变化情况,并根据时序异常检测算法检测数据是否存在异常波动,如果存在异常波动,则会发送报警
    图片

2. 快速入门

2.1 离线数据监控

第一步 配置监控之前,需要满足以下前置条件:

  • 底表需要例行更新
  • 日期筛选需要设置为最近/最近有数
  • 保存图表

图片
第二步 点击新建监控,呼出设置框
图片
第三步 输入监控名称,选择监控的时间范围、触发因素,配置触发报警的规则、监控时间以及推送方式等

  • 注意时间范围的选取,比如下面截图例子中,时间范围取付费日期已选择的时间范围,则监控的数据为当前图表展示的所有行的数据,当时间范围选择最近1个时间点时,则只会监控付费日期为2022-05-30日的这一行数据
    图片

第四步 点击发送测试,可以在设置的监控接收应用上查看测试信息,并调整参数

注意

此处以飞书为例,需要提前完成接入飞书应用说明的接入操作

图片
图片
第五步 点击确认,新建监控成功;更多历史监控可以点击【监控列表】,来到项目中心的「监控管理」里查看
图片

2.2 实时数据监控

需要满足前置条件:

  • 底表为kafka的实时数据
  • 时间分区字段需要做聚合
  • 日期筛选需要设置为最近/最近有数
  • 保存图表

其他操作步骤与上述一致。

3. 功能介绍

3.1 时间范围

3.1.1 日期维度

时间范围可选择的日期与监控图表的维度栏的日期维度有关,如示例截图中的图表维度选择了p_date和付费日期,则在监控的时间范围选项里可以选择取这两个日期维度的范围
图片

  • 日期维度的范围

以下面截图的付费日期为例:
(1)选择最近1个时间点即只监控付费日期的最新的一个时间的数据,即2022-01-15这1行的数据
(2)选择最近N个时间点,同时N设置为5,即监控2022-01-11到2022-01-15这5行的数据
(3)选择已选择的时间范围即监控当前对付费日期筛选条件下,查询到的所有数据
图片

3.1.2 最近1个时间点

最近1个或n个时间点的范围,取决于时间字段的日期类型,支持1/5/15分钟、 年-月-日-时,年-月-日,年-周,年-月。
例如,将时间字段的日期类型设置为“年-月-日-时-分”的“15分钟”,条件设置为“最近1个时间点”,则下次触发监控时,会将当前数据与15分钟前的数据进行对比。

若日期类型为其他类型,如秒、双周、双月等,则遵循以下规则:

  • 日期类型为datetime类型:秒级、10分钟、20分钟等,则最近1个时间点的范围为1秒
  • 日期类型为date类型:双周、双月、季度等,则最近1个时间点的范围为1天

图片

3.2 触发因素

3.2.1 指标值变化

指标值变化监控支持设置多个报警规则,可选择满足任一规则或全部规则时报警,指标条件为必填项,维度条件为可选项

  • 全部规则/任一规则:监控配置可同时添加多个报警规则
    选择全部规则时,监控会在同时满足多个规则条件时报警,如下图中的例子,当最近一天的利润相比前一天波动超过5%,同时成本比前一天波动超过10%时会触发报警
    图片

选择任一规则时,监控会在满足任意一条规则时报警,如下图中的例子,当最近一天的利润相比前一天波动超过5%,或成本相比前一天波动超过10%的任意一个规则满足后就会触发报警
图片

  • 维度筛选
    每条规则下均支持维度筛选的配置,可选择对图表中指定的维度项进行监控
    以下方截图为例:
    选择或条件时:会监控满足城市或省份筛选中,任意一个筛选的数据
    选择且条件时:会监控同时满足城市筛选和省份筛选的数据
    图片
  • 指标监控满足
    每条规则下均支持指标筛选的配置,可选择监控单个指标或多个指标,或对同一个指标设置多个条件
    以下方截图为例:
    选择任一条件时:当最近1天利润满足比前1天波动超过5%和原始值大于4000000中任意一条条件即触发报警
    选择全部条件时:当最近1天利润同时满足比前1天波动超过5%和原始值大于4000000这两条条件时触发报警
    图片
  • 指标监控条件配置
    全部数据/任一数据:
    默认为任一数据,即数据满足条件后立即报警。设置全部数据后,则在指定维度条件下所有数据均满足条件后才会报警。
    指标选择 :
    图表页面内指标栏内放置的指标为可选项,支持对比、同环比衍生字段
    对比范围:
    支持比1天前、比7天前、比30天前、绝对值、原始值、前一时间点;比前7天均值、比前30天均值(这两个选项仅在图表维度栏的第一个维度是分区字段的时候才可以选择)
    对比方式:
    比值类:波动超过、上升超过、下降超过
    绝对值/原始值:>、>=、<、<=、=
    对比口径:
    数值:可输入固定数值
    %:可输入百分比数值
    指标:支持当前监控的指标与其他指标进行对比(支持对比、同环比衍生字段),如截图中当利润原始值<成本原始值时触发报警
    图片

3.2.2 维度值变化

维度值变化监控可以监控当前图表内的某个维度值,当当天的维度枚举值相比1天前、7天前或30天前发生变化时,触发报警

  • 监控维度
    可监控的维度为当前图表的维度项(支持监控隐藏维度)
    图片
  • 对比条件
    支持和1天前对比、和7天前对比以及和30天前对比

3.2.3 智能波动检测

智能波动检测可按照时序异常检测S-H-ESD算法对一段时间的指标波动情况进行监控,如果波动异常则报警

注意

智能波动检测仅支持折线图,其他类型图表无法选择,监控的时间至少需要15个时间点

  • 监控指标

可选择的监控指标为当前图表指标栏的指标,支持监控隐藏字段和分析功能衍生字段(如同环比字段)
图片

3.3 监控时间

3.3.1 定时

图片

  • 天级:每天到达设定的时间点触发监控
    • 默认为时间选择器,快捷选择24小时时间点,选择自定义时间后支持精确到分钟级,监控最小间隔10分钟
    • 支持UTC时区选择
  • 小时级:在选定的时间范围内设定每N小时触发一次监控
    • 支持每1、2、3、4、6、8、12小时触发监控
    • 支持UTC时区选择
  • 分钟级:在选定的时间范围内设定每N分钟触发一次监控
    • 支持每10、15、20、30分钟触发监控
    • 支持UTC时区选择
  • 周级:可选择每周固定某天的某个时间点触发监控
    • 周级范围选择周一~周日
    • 支持选择当天N时N分触发监控,默认为时间选择器,快捷选择24小时时间点,选择自定义时间后支持精确到分钟级,监控最小间隔10分钟
    • 支持UTC时区选择
  • 月级:可选择每月第N天的某个时间点触发监控
    • 月级范围支持每月第1~31天触发监控(如果选择31号而某些月份没有31号则不会推送)
    • 支持选择当天N时N分触发监控,默认为时间选择器,快捷选择24小时时间点,选择自定义时间后支持精确到分钟级,监控最小间隔10分钟
    • 支持UTC时区选择

图片
自定义时间:可选择工作日、交易日、每天触发监控

3.3.2 数据完成同步时触发

图表的数据集为天级同步时支持配置数据完成同步时触发监控
图片

  • 数据完成同步时触发,支持UTC时区选择
    • 仅更新频率为天的图表(对应数据集同步周期为天级同步,或自动同步)能够看到此选项。配置后,触发监控需要:
      • T-N的时间分区数据完成同步
      • 到达最早触发时间
  • 例:触发订阅的日期是2020-01-02, 设定触发的日期为T-1,最早触发时间为10:00
    • 当2020-01-01日9:00数据集完成同步,则监控通知会等待到10:00发出
    • 当2020-01-01日11:00数据集完成同步,则监控通知会延后到11:00发出

3.4 推送方式

产品支持的告警方式目前有邮件、飞书、企业微信、Webex 钉钉、Webhook。具体通过哪种方式进行告警,依赖于贵公司的系统管理员所完成的办公平台集成配置,如此处无可选推送方式,请参照办公平台集成进行配置。其中,对于IM群的推送方式,支持添加多个群号,中间用英文逗号分隔,且要保证每个群里都有机器人即可;若要通过Webhook向飞书发送监控结果,需要以规范的输出脚本解析和构造请求。
针对Webhook输出的方式,是指当数据达到用户配置的某个条件时候,会通过 HTTP 请求发送通知到指定的接收方(Webhook地址)。以下为您提供输出脚本的规范,供您参考使用。

报警消息

{
  "secret": "xxx",//密钥,业务方通过此密钥鉴权
  "event": {//消息内容
    "channel": "aeolus_monitor",//用于区分监控消息与其他类型消息
    "timestamp": 1610941345327,//此消息时间戳
    "title": "monitor_alarm",//monitor_alarm:监控的报警消息
    "payload": {
      "status": 1,//0: 触发报警, 1: 未触发报警

      "alarm_rule": [//具体报警内容、及报警条件,未触发报警时此处为空
        {
          "metric_monitor_condition": [//指标的约束条件
            "指标筛选条件满足任一条件:",
            "「sum(is_active_tea) 规则:>0.0」",
            "「sum(is_active_aeolus) 规则:>0.0」"
          ],
          "dimension_monitor_condition": [//维度的约束条件
            "维度筛选条件满足所有条件",
            "tea_app_name in [Lantern]"
          ],
          "data_link": "https://...."//完整报警内容所在文件的链接
        },
        ......
      ],
      "report_link": "'https://data.bytedance.net/aeolus/#/dataQuery?appId=555371&rid=39452'",//图表链接
      "date_range": {//图表查询的时间范围
        "p_date_start": "2021-10-07",//开始业务日期
        "p_date_end": "2021-10-07"//结束业务日期
      },
      "suggestion": "通知管理员",//处理建议
      "monitor_name": "监控_1008_5"//监控名称
    }
  }
}

编辑监控通知

{
  "secret": "xxx", //密钥,业务方通过此密钥鉴权
  "event": {//消息内容
    "channel": "aeolus_monitor", //用于区分监控消息与其他类型消息
    "timestamp": 1610941345327, //此消息时间戳
    "title": "monitor_creation", //创建监控: monitor_creation, 修改监控: monitor_update, 删除监控: monitor_delete,
    "payload": {
      "monitor_status": 1,//'监控状态。0:开启,1:暂停'
      "name": "监控_1008_3", //监控名称
      "hour": "10:00",//启动监控的时间点
      "trigger_type": 0,//触发类型。0:定时,1:底表更新
      "notified": "{\"lark\":\"duxingwang.001\"}",//要通知的飞书用户
      "compute_type": 0,//触发因素,0: "维度+指标变化", 1: "维度取值变化", 2: "波动异常检测"
      "extra": {//'额外信息,目前保存报警建议和底表是否为kafka。json格式'
        "external_header": "",//可忽略
        "need_confirm": false,//警报是否需要确认
        "show_condition": true,//警报中是否要显示监控条件
        "suggestion": "通知管理员",//处理建议
        "timezone": "UTC+08:00",//时区
        "urgent_alarm": {
          "emails": "",
          "times": ""
        }
      },
      "shield_duration": 0,//屏蔽时间跨度,单位小时
      "lark_group_id": "{}",//通知的飞书群ID,逗号间隔字符串
      "notice_type": -1,//推送方式
      "frequency": 0,//定时频率。0:天级,1:小时级
      "date_filter_conf": {},
      "rule_conf": {//规则配置,json格式
        "rule_list": [//规则列表
          {
            "metric": {//指标报警条件
              "rule_list": [//要满足的指标列表
                {
                  "dim_id": "sum_1586869275872",
                  "op_unit": 0,
                  "op_type": ">",
                  "compare_type": 3,
                  "op_value": 0
                }
              ],
              "op": 1//1:逻辑与,0:逻辑或
            },
            "dimension": {//维度报警条件
              "where_list": [
                {
                  "option": {
                    "is_report_filter": false,
                    "filter_pattern": "Accurate",
                    "custom_list": []
                  },
                  "val": [
                    "EasyShoot,galaxy"
                  ],
                  "pre_relation": "and",
                  "val_option": {
                    "true_all_selected": false,
                    "preview_val": [],
                    "excluded_val": []
                  },
                  "id": "1586869275867",
                  "unique_id": 211008185453007,
                  "op": "in"
                }
              ],
              "op": 1//1:逻辑与,0:逻辑或
            }
          }
        ],
        "op": 1//1:逻辑与,0:逻辑或
      },
      "data_ready": {},
      "owner_email_prefix": "duxingwang.001",//创建者
      "webhooks": [//配置的webhook id
        14
      ],
      "shield_start_time": "",//屏蔽报警起始时间
      "domain_id": 1,
      "report_id": 39452//图表id
    }
  }
}

data_link格式

["tea_app_name", "is_active_tea"]//图表的列名
["1", "2"]//触发报警的第一条图表记录
["3", "5"] //触发报警的第二条图表记录
......

3.5 处理建议

可以添加文本和URL。

3.6 警报结果

  • 警报中显示监控条件
    • 勾选后报警卡片上会带有监控配置的监控条件
      图片

3.7 发送测试

立即发送一条对该配置条件的消息通知,以预览监控效果(发送测试不会发送到群)

3.8 监控列表管理

监控列表进入:
可通过可视化页面监控的下拉栏进入监控列表
图片
或者点击项目中心-定时任务-监控管理进入

  • 可以查看编辑监控的角色

可以查看编辑监控的人:监控创建人、项目管理员、监控对应图表的所有者、监控对应图表所在仪表盘的管理员
你可以通过授予他人仪表盘管理权限,为该仪表盘内图表的监控添加协作者,个人仪表盘不支持此操作

查看范围

操作范围

项目管理员

可以看到项目下全部监控

拥有全部操作权限

项目成员

我创建的全部监控

拥有全部操作权限

项目成员

基于我管理的图表所创建的全部监控

拥有全部操作权限

项目成员

我是接收人的全部监控

无操作权限

  • 监控与订阅支持批量“转移所有者”
    图片
    提示:如果监控接收人为空,则监控无法生效

4. 使用示例

4.1 DAU 增速波动监控

数据:各个APP在安卓和ios双端的DAU情况

监控场景:监控1000万以上量级的产品中月同比增长超过10%的产品
图片
配置参数为:
图片
有APP满足条件,则会触发报警:
图片

4.2 应用商店排行榜排名变化监控

数据:中国苹果应用商店排行榜-总榜

监控场景:监控每天TOP10 APP的变化
图片
配置参数为:
图片
有APP满足条件,则会触发报警:
图片

4.3 城市利润监控,小于1天前全国利润均值报警

  • 图表数据:日期,城市、利润
  • 监控需求:每一个城市当天的利润与一天前全国利润的均值对比,如果低于全国均值则报警
  • 实现方式:
    • 创建全国利润均值字段({filter=true:fixed [日期]:avg([利润])})
      图片
    • 将全国利润均值字段放在指标栏
    • 利用分析功能中的同环比功能计算1天前全国利润均值的原始值
      图片
    • 配置监控,条件为利润原始值<全国利润均值一天前的环比原始值

图片

  • 发送测试,查看监控配置是否符合需求
    图片

4.4 防止数据毛刺导致的报警

  • 适用场景
  • 实时监控网络延时,超过50ms即报警。由于特殊情况造成的不稳定,某时刻突然上升到120ms触发了报警,但是进行排查时,数据已经立刻回落到正常范围内。为了避免毛刺现象导致的误报警,可设置为最近3分钟的数据均超过50ms再报警。
  • 实现方式
    • 在维度条件中,将时间范围选择为最近3分钟
    • 指标满足条件选择“全部数据”,设置条件为网络延迟>50

图片

4.5 常见问题(配置 比N天前波动 发现满足报警条件未报警)

  • 以下图中利润字段为例,如果出现配置了利润比1天前波动超过5%未生效的情况
    • 可先在图表中配置利润字段的环比增长率
      图片
    • 建立监控,选择监控环比增长率指标,条件为 绝对值>5%

图片

  • 可同样实现监控比前一天波动超过5%的效果
    图片
    通过这种方法可实现与任意前N天相比的监控。