更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

概念介绍

基线监控

根据监控规则和任务运行情况,DataLeap的基线监控能够决策是否报警、何时报警、如何报警以及给谁报警。它保障的是任务整体产出链路,核心目标包括:
  • 覆盖链路中的所有任务;
  • 降低任务监控配置成本;
  • 避免无效报警。

保障任务

一般选择有SLA要求的任务作为保障任务加入基线,DataLeap通过保障任务的依赖拓扑图自动监控上游任务,形成需要监控的任务链路。

时间定义

承诺时间:最晚完成时间,即SLA。
预警余量:基线SLA Buffer,消耗预警余量即触发基线预警。
预警时间:任务承诺时间 - 预警余量,即任务预期最晚完成时间。
预测运行时长:基于任务历史的执行情况预测当前任务执行的运行时长。
承诺最晚开始时间:承诺时间-任务预测运行时长。
预警最晚开始时间:预警时间-任务预测运行时长。
各时间的关系如下图所示:

监控范围

DataLeap的基线默认监控的范围包括:基线保障任务及保障任务上游的所有任务。如下图所示,保障任务D,E及它们所有的上游节点都会纳入基线监控范围,而任务C,F不受基线监控。值得说明的是,DataLeap的基线监控允许用户配置基线监控只覆盖“指定项目”下的任务,此时基线监控的范围就只包含了保障任务及这些项目下的上游任务。

基线实例

和任务类似,基线也有业务时间的概念。对任务来说,一个业务时间会生成一个任务实例;而对基线来说,一个业务时间会生成一个基线实例,负责监控同一业务时间下保障任务的实例及其依赖的所有上游任务实例的运行状态。天基线和小时基线每天生成实例的规则如下:
天基线:每天生成一个基线实例,其业务时间与该基线保障任务的业务时间相同;
小时基线承诺时间有两种设置方式:统一承诺和分时承诺。如果是统一承诺,则生成基线实例的个数为24个,每个基线实例的承诺时间一致;如果是分时承诺,则每天生成N个基线实例,其中N为用户配置的监控业务时间范围包含的业务时间数量,N的范围是[1,24]。

基线实例状态

安全:任务在预警时间之前完成。
预警:任务在预警时间未开始运行,但还未达到承诺时间。
破线:任务在承诺时间仍未运行完成。
其他:基线实例关闭或者基线没有关联任务时,基线实例所处的状态。

报警类型

基线监控支持非常丰富的报警类型:
基线预警:
基线监控的链路上,首个没有在基线预警时间节点开始运行的节点。
基线破线
“基线破线”报警需满足以下两个条件:
1. 任务节点的上游(包含直接和间接上游)没有出现过破线;
2. 该任务没有在破线时间节点开始运行。
破线加剧:
“执行变慢导致破线加剧”报警触发需满足以下两个条件:
1. 任务所在链路已发送首次“基线破线”报警
2. 任务运行耗时相较于预测运行耗时有所增加,具体来说:
a. 当任务实际开始时间早于基线破线开始时间时,将“破线开始时间 + (预测运行耗时 * (1 + N%))”作为检测时间点,如果任务到达检测时间点时还没有运行完成,则触发告警;
b. 当任务实际开始时间晚于破线开始时间时,将“任务实际开始时间 + (预测运行耗时 * (1 + N%))”作为检测时间点,如果任务到达检测时间点时还没有运行完成,则触发告警。
保障任务预警时间未完成:
基线预警时间到达(承诺时间-预警余量),检查基线所有保障任务是否完成运行,若有保障任务未运行完成,且基线之前无预警、破线报警,则触发报警。
保障任务承诺时间未完成:
基线承诺时间到达,检查基线所有保障任务是否完成运行,若有保障任务未运行完成,则触发报警。
任务失败事件:
基线监控链路上,任意任务,重试结束仍失败,则触发失败事件。监控链路上的任务,发生失败事件则触发该报警。

基线事件

基线监控任务(保障任务及其上游任务),在执行过程中,若出现失败、变慢等情况,将被当作基线的异常事件,进行记录。
变慢事件: 识别基线监控任务(保障任务及其上游)运行变慢的情况。识别条件为:任务运行时长较该任务的预测运行时长上涨了X%,则视为一个变慢事件。
失败事件: 识别基线监控任务(保障任务及其上游)运行失败的情况,识别条件为:任务运行过程中出现过失败,则视为一个失败事件。
基线事件的状态包含“新发现”和“已恢复”两种。当基线监控的任务产生变慢或者失败事件时,基线事件状态更新为“新发现”;但如果任务最终完成了的话,基线事件的状态会被更新为“已恢复”。
 
点击跳转大数据研发治理套件 DataLeap了解更多

DataLeap的全链路智能监控报警实践(二):概念介绍的更多相关文章

  1. 数据库设计理论与实践·<二>概念设计与逻辑设计

    2一.概念设计 1.1 概念设计关键知识 1.2 辨析 实体与属性的区别: ①实体能进一步用多个属性来描述,属性却不能,属性是不可再细分/分割的原子项. ②实体内部或者多个实体之间存在联系,而属性无. ...

  2. Node.js 应用全链路追踪技术——[全链路信息获取]

    全链路追踪技术的两个核心要素分别是 全链路信息获取 和 全链路信息存储展示. Node.js 应用也不例外,这里将分成两篇文章进行介绍:第一篇介绍 Node.js 应用全链路信息获取, 第二篇介绍 N ...

  3. 高德全链路压测平台TestPG的架构与实践

    导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的 ...

  4. <转>二十问全链路压测干货汇总(上)

    本文转载自:微信公众号-数列科技<二十问全链路压测干货汇总(上)> 最近几年全链路压测无疑成为了一个热门话题,在各个技术峰会上都可以看到它的身影. 一些大型的互联网公司,比如阿里巴巴.京东 ...

  5. 全链路压测平台(Quake)在美团中的实践

    背景 在美团的价值观中,以“客户为中心”被放在一个非常重要的位置,所以我们对服务出现故障越来越不能容忍.特别是目前公司业务正在高速增长阶段,每一次故障对公司来说都是一笔非常不小的损失.而整个IT基础设 ...

  6. 全链路实践Spring Cloud 微服务架构

    Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...

  7. ApiTesting全链路接口自动化测试框架 - 新增数据库校验(二)

    在这之前我完成了对于接口上的自动化测试:ApiTesting全链路接口自动化测试框架 - 初版(一) 但是对于很多公司而言,数据库的数据校验也尤为重要,另外也有小伙伴给我反馈希望支持. 所以最近几天我 ...

  8. 基于 Istio 的全链路灰度方案探索和实践

    作者|曾宇星(宇曾) 审核&校对:曾宇星(宇曾) 编辑&排版:雯燕 背景 微服务软件架构下,业务新功能上线前搭建完整的一套测试系统进行验证是相当费人费时的事,随着所拆分出微服务数量的不 ...

  9. 融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题<IM 即时通讯之链路保活>,即时通讯网收录时有部分改动. 1.引言 众所周知,IM 即时通讯是一项对即时性要 ...

  10. 让全链路压测变得更简单!Takin2.0重磅来袭!

    自Takin社区版1.0发布两个多月以来,有很多测试同学陆续在各自的工作中运用了起来,其中包括金融.电商.物流.出行服务等行业.这个过程中我们收到了很多同学的反馈建议,同时也了解到很多同学在落地全链路 ...

随机推荐

  1. xxl-job安装部署文档

    xxl-job安装部署文档 注意:替换yaml文件中的mysql地址 安装方式 kubectl apply -f xxl-job.yaml -n xxxx 安装配置文件 xxl-job.yaml ## ...

  2. JAVA类的加载(5)——总结

    总结一下:1.类加载(初始化) 包括加载(类的class文件读入内存,并为之创建一个java.lang.Class对象,由类加载器完成).连接(把类的二进制数据合并到JRE中).初始化(对静态属性进行 ...

  3. KubeEdge-Ianvs v0.2 发布:终身学习支持非结构化场景

    本文分享自华为云社区<KubeEdge-Ianvs v0.2 发布:终身学习支持非结构化场景>,作者: 云容器大未来. 在边缘计算的浪潮中,AI是边缘云乃至分布式云中最重要的应用.随着边缘 ...

  4. c#中代理模式详解

    基本介绍:   "代理"顾名思义指以他人的名义,在授权范围内进行处理事情的意思.   在编程语言中的则解释为:为其他对象提供一种代理以控制对这个对象的访问.   从释义上不难解读, ...

  5. 使用js写一个音乐音谱图

    我们经常看到在听乐音的时候,会有音谱图随着音乐的节奏不断变化给人视觉上的享受,那么我们通过js来实现以下这个效果,下面是简单的效果图 首先我们需要有一个绘制音频的函数 function draw() ...

  6. 七天.NET 8操作SQLite入门到实战 - SQLite 简介

    什么是SQLite? SQLite是一个轻量级的嵌入式关系型数据库,它以一个小型的C语言库的形式存在.它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可 ...

  7. python之继承的方法重写

    目录 普通方法 方法重写super().xxx() 我们在python之继承及其实现方法中已经学会了打印子类在父类继承的属性 那么我们怎么打印出子类中特有的属性呢 普通方法 我们当然可以在子类中添加新 ...

  8. 请查收,本周刷屏的两大热点「GitHub 热点速览」

    如果你逛 HackerNews 或者是推特,你一定会被 multipleWindow3dScene 这个跨窗口渲染项目的成果刷屏,毕竟国内的技术平台上也出现了不少的模仿项目.另外一个热点,便是你在白板 ...

  9. wps表格求标准差怎么算?

    在WPS表格中,要计算标准差,可以使用STDEV函数.标准差是一种衡量数据集合离散程度的统计指标.下面我将详细介绍如何使用STDEV函数来计算标准差. STDEV函数的语法为:STDEV(range) ...

  10. 神经网络优化篇:详解训练,验证,测试集(Train / Dev / Test sets)

    训练,验证,测试集 在配置训练.验证和测试数据集的过程中做出正确决策会在很大程度上帮助大家创建高效的神经网络.训练神经网络时,需要做出很多决策,例如: 神经网络分多少层 每层含有多少个隐藏单元 学习速 ...