随着字节跳动业务的快速发展,大数据开发场景下需要运维管理的任务越来越多,然而普通的监控系统只支持配置相应任务的监控规则,已经不能完全满足当前需求,在日常运维中开发者经常会面临以下几个问题:
  1. 任务多,依赖关系复杂:很难查找到重要任务的所有上游任务并进行监控。如果监控所有任务,又会产生很多无用报警,导致有用报警被忽略;
  2. 配置运维成本高:每个任务的运行情况不一样,承诺完成时间不一样,如果单独对每个任务设置监控,分析及人工对齐任务SLA成本非常高;
  3. 报警形式多样性:对于小时级的任务,不同时段的报警及时性要求不同,普通监控无法很好得满足不同时段多样的报警需求。
为了有效运维日常任务,保障数据质量,字节跳动数据平台开发套件数据开发团队自研了基于依赖关系的全链路智能监控报警——基线监控,能根据任务运行情况,智能决策是否报警、何时报警、如何报警以及给谁报警,保障任务的整体产出链路。基线监控已在字节跳动内部得到广泛使用,覆盖抖音、电商、广告等100+个项目,SLA任务的基线监控覆盖率超过80%
目前,这一能力也已经通过火山引擎DataLeap向企业开放。企业可以通过火山引擎DataLeap基线监控,有效降低监控配置成本、避免无效报警及报警泛滥。

实际案例

本节将从一个实际案例出发,介绍基线监控相较于普通监控的核心优势。
用户小明有一个对外承诺了的SLA任务,10点前必须要产出。其上下游关系如下图所示,其中SLA任务和任务4、5属于项目B,其他项目属于项目A。小明仅具有项目B的运维权限。

在没有基线监控前,为了保障SLA任务产出符合预期,小明会在SLA任务及其相同项目B内的上游任务上配置一系列告警规则,来预防上游任务延迟导致的SLA破线。比如在SLA任务和任务4、5上都配置了3条基础告警,以保证SLA任务延迟的风险及时感知和暴露,如下图所示。

但这种方式的问题也是显而易见的:利用基础监控规则,至少需要配置9条规则,才能基本完成对SLA任务的监控;而且监控规则的配置方式大多来自于专家经验,但仍有遗漏的风险;基础监控规则只能监控到有运维权限的项目,不属于本项目的上游任务是无法监控到,因此小明也就无法提前感知到延迟风险。有了基线监控,小明就只需要将SLA任务作为“保障任务”加入到基线监控中,保障任务的所有上游节点默认会被基线监控覆盖,小明再也不用配置多条基础告警规则,极大降低了告警规则配置的难度;一旦基线监控配置好之后,任意上游任务延迟,对小明来说都可以快速感知到,可有效保障SLA任务按时产出。
 
通过上面的实际案例,你应该对基线有了一个大概的理解。下篇文章,就让我们一起了解下基线监控的相关概念和系统架构,并详细了解下基线监控的核心实现逻辑吧。

DataLeap的全链路智能监控报警实践(一):常见问题的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 全链路监控系统开源Pinpoint入门视频教程(最新版本1.8)

    pinpoint支持的模块 源码:https://github.com/naver/pinpoint技术概述:https://skyao.gitbooks.io/learning-pinpoint/c ...

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

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

  8. 【HMS Core 6.0全球上线】Network Kit全链路网络加速技术,应用无惧网络拥塞

    HMS Core 6.0已于7月15日全球上线,本次版本向广大开发者开放了众多全新能力与技术.其中HMS Core Network Kit开放了全链路网络加速技术,助力开发者为用户提供低时延的畅快网络 ...

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

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

  10. 性能利器 Takin 来了!首个生产环境全链路压测平台正式开源

    6 月 25 日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超 ...

随机推荐

  1. 【Vue3响应式原理#02】Proxy and Reflect

    专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位ITer关注点赞收藏 背景 以下是柏成根据Vue3官方课程整理的响应式书面文档 - 第二节, ...

  2. JUC并发编程学习笔记(十七)彻底玩转单例模式

    彻底玩转单例模式 单例中最重要的思想------->构造器私有! 恶汉式.懒汉式(DCL懒汉式!) 恶汉式 package single; //饿汉式单例(问题:因为一上来就把对象加载了,所以可 ...

  3. STM32F103 CAN通信波特率的计算方法

    前言 以下的波特率计算和实例仅针对 STM32F1系列 最近看一下CAN通信,翻出来之前做过的STM32 CAN通信的项目代码,有些概念比较模糊了,如波特率是怎么计算的. 最近接触rt-thread比 ...

  4. 论文精读:用于少样本目标检测的元调整损失函数和数据增强(Meta-tuning Loss Functions and Data Augmentation for Few-shot Object Detection)

    论文链接:Meta-Tuning Loss Functions and Data Augmentation for Few-Shot Object Detection Abstract 现阶段的少样本 ...

  5. 超详细的Mysql锁 实战分析,你想知道的都在这里~

    1.mysql回表查询 在这里提起主要是用于说明mysql数据和索引的结构,有助于理解后续加锁过程中的一些问题. mysql索引结构和表数据结构是相互独立的,根据索引查询,只能找到索引列和主键聚簇索引 ...

  6. 学习JavaScript的第一天

    JavaScript概述 JavaScript的介绍 js属于一门面向对象的编程语言 属于跨平台 面向对象(oop) 以对象方式实现所有的功能 跨平台:js代码不论是在什么样的操作系统上执行结果都是一 ...

  7. 实验代码Javaweb

    package test; import java.sql.*; import java.util.regex.Pattern; public class Data { //getter and se ...

  8. redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。

    大家如果对使用netty搞这些http请求什么的感兴趣的,可以参观我自己创建的这个项目. nanshaws/nettyWeb: 复习一下netty,并打算做一个web项目出来 (github.com) ...

  9. [ABC246D] 2-variable Function

    Problem Statement Given an integer $N$, find the smallest integer $X$ that satisfies all of the cond ...

  10. net8获取泛微token以及访问api示例

    工作中涉及到调用泛微的场景,官方的示例又臭又长,抽空用NET8简化了写法,为了简化http访问,用了Flurl.Http这个库.在座各位大佬,我们直接就看代码了   using System.Secu ...