更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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. angular:响应式表单(Reactive Forms)和模板驱动表单(Template-Driven Forms)分别进行验证

    2022-01-18 响应式表单 响应式表单是围绕Observable的流构建的. 使用响应式表单时,FormControl类是最基本的构造类. 在使用响应式表单前,需要先导入 ReactiveFor ...

  2. 拿到开发板需要做的事情 -- 配置Python环境

    1.查看系统时间 date -R 2.修改系统时间 windows上时间项目时间正常,Ubuntu16.04上时间错误 - 贾斯丁哔哔 - 博客园 (cnblogs.com) 3.安装pip3 sud ...

  3. 金蝶对接电商ERP库存数据,实现监听库存变化

    金蝶云星空实时库存专题 通过向金蝶库存单据注册Python脚本,用于实时监听库存单据审核/反审核,并且将数据发送到轻易云系统集成平台 .通过集成平台将数据分发到对应的目标系统. 向金蝶的库存单据注册脚 ...

  4. WPF应用开发之控件动态内容展示

    在我们开发一些复杂信息的时候,由于需要动态展示一些相关信息,因此我们需要考虑一些控件内容的动态展示,可以通过动态构建控件的方式进行显示,如动态选项卡展示不同的信息,或者动态展示一个自定义控件的内容等等 ...

  5. 洛谷2151 [SDOI2009]HH去散步(矩阵快速幂,边点互换)

    题意:HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH是个喜欢变化 ...

  6. httpclients 和 okhttp 区别

    HttpClient使用介绍使用HttpClient发送请求主要分为以下几步骤: 创建 CloseableHttpClient对象或CloseableHttpAsyncClient对象,前者同步,后者 ...

  7. 基于DotNetty实现自动发布 - 自动检测代码变化

    前言 很抱歉没有实现上一篇的目标:一键发布,因为工作量超出了预期,本次只实现了 Git 代码变化检测 已完成的功能 解决方案的项目发现与配置 首次发布需要手动处理 自动检测代码变化并解析出待发布的文件 ...

  8. [ABC261E] Many Operations

    Problem Statement We have a variable \(X\) and \(N\) kinds of operations that change the value of \( ...

  9. 找到了!GitHub Copilot的最佳免费平替

    在如今这个人工智能高速发展的时代,每个行业都在被AI技术影响而改变.层出不穷的AI辅助工具,让我们看到了机器正在取代一部分基础的日常工作.对于我们开发者而言,当前最炙手可热的就是GitHub Copi ...

  10. 华企盾DSC苹果电脑-认证用户提示“不是认证成功的账户”

    出现该问题说明客户端连不上服务器,一般来说是网络原因,可按照下面方法排查 ​ 1.先检查网络是否通能否正常上网或者换一个网络试试 2.查看服务器是否启动 3.客户测试连接是否成功端口是否填成了5580 ...