SRE Google运维解密——第10章 基于时间序列数据进行有效报警

普罗米修斯监控概述 文章目录一、常用监控的简介1.1cacti1.2Nagios1.3Zabbix1.5Prometheus 一、常用监控的简介 1.1cacti Cacti(英文含义为仙人掌〉是一套基于 PHP、MySQL、SNMP和 RRDtool开发的网络流量监测图形分析工具。 它通过snmpget来获取数据,使用RRDTool绘图,但使用者无须了解RRDTool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP 结合进行用户认证,同时也能自 阅读详情

第10章 基于时间序列数据进行有效报警

  • 一个大型的系统不应该要求运维人员持续关注其中使用的无数个小组件,而是应该汇总所有的信息,自动抛弃其中的异常情况。
  • 监控系统应该从高级服务质量目标层次进行报警,但是也应该保持足够的力度,可以追踪到某个具体组件

Borgmon 的起源

  1. 依靠一种标准数据分析模型进行报警。使得批量,大规模,低成本的数据收集变得可能 ,成为白盒监控
  2. 报警规则使用简单的数学表达式形式表达,所有历史数据可以用来作为报警规则计算元素
  3. 使用一次对/varz http请求,可以收集到一个监控对象的所有监控指标
  4. 可以从其他Borgmon 实例上收集信息,可以建立层级体系,主机汇总监控指标,抛弃无用信息。一般来说每个集群运行一个Borgmon 实例,在全球范围内在运行两个对等的实例。
  5. 部署非常的服务集群内部部署专门收集信息的Borgmon实例,集群实例用于汇总

应用软件的监控埋点

  1. /varz http 接口 ,文本方式列出监控变量值 如 : http_response map:code 200:25 404:0 500:12 。定义为25 个http200响应, 12个http500相应
  • 维护起来十分麻烦,Google开发了一个工具来自动校验Borgmon 规则的正确性

监控指标的收集

  1. Borgmon实例配置可自动扩展的需要收集的目标列表,目标位置可以使用各种地址解析服务支持的格式
  2. Borgmo按照配置规定的周期,定时抓取/var URL,得到的信息解码存储内存中
  3. Borgmon 将每个目标收集工作均匀分散在整个周期内,避免Borgmon 多层任务堆积
  4. Borgmon同时为每个监控目标记录自动生成的合成指标,用在检测监控任务不可用状态的规则编写中
    4.1. 目标是否成功解析成IP和端口
    4.2. 目标是否相应了一次收集请求
    4.3. 目标是否响应了一次健康检查请求
    4.4. 数据收集成功结束的时间点
    varz 和SNMP(简单网络监控协议)非常不同,SNMP协议在设计中需要最简单的传输协议支持,保障其他网络应用失败的时候也能正常运行,利用http协议收集监控信息设计理念正好相反

时间序列数据的存储

  1. Borgmon将多软件服务器指标数据整理统一存储,也可以灵活查看数据
  2. 每份数据按< 时间戳 , value>值进行存储,值是多标签的单维矩阵
  3. 垃圾回收期定时将过期数据从内存清除,Borgmon 定时将内存状态归档外部数据库,一般从内存查,或者从外部数据库(TSDB)查

标签与向量

  1. 某一列(同一类型)的成为向量,标签集合指向具体的值
  2. 标识一个time-series 标签必须有以下几个标签
    2.1. var : 代表变量名称
    2.2. job : 被监控软件服务器类型名
    2.3. service : 一个松散定义的服务器类型组名,可以对外名称分类,也可以对内名称分类
  3. 标签的来源
    3.1. 监控目标的名称,如job 和instance 来源于任务名与实例地址
    3.2. 监控目标自行提供,如提供的Map类型变量
    3.3. Borgmon配置文件,其中可以添加和替换标签
    3.4. Borgon 规则

Borg 规则计算

  1. Borgmon 编程语言,由简单的代数计算表达式组成,使用一个time-series 作为输入,计算另外一个time-series
  2. Borgmon 规则一般运行在一个线程池中,受限于规则定义的输入是否包含谦虚规则输出。由查询结果向量大小决定执行速度
  3. 汇总计算是分布式环境中不可缺失的一环,将一个任务中所有实例中某个timeseries 相加,通过计算总数,计算整体速率
  4. 汇总举例 – 非HTTP200 回复报警
    4.1. 汇总所有实例HTTP回夫的速率,按回复代码分类得到一个向量
    4.2. 计算所有的“错误服务”的速率总和,得到单值,作为整体集群的错误速率
    4.3. 计算整个集群的错误速率比例,用错误回复速率初一所有请求的速率总和
  5. 将有用的结果作为控制台的永久图表

报警

  1. 每条报警规则都指定一个最小的持续时间周期,当报警持续时间超过这个值时才会报警(一般两个计算周期)
  2. Borgmon 连接到全局共享服务,Alertmanager。报警管理服务接收报警进入等待状态和出发状态时产生的Alert RPC ,并转发到合适的通知渠道,配置如下
    1. 当有其他报警出发的时候,一直某些报警
    2. 将多个Borgmon发来的报警信息进行整合排重
    3. 根据标签信息将收到的报警信息展开或者将多个报警信息整合一个
      详细的报警策略见第四章

监控系统的分片机制

  1. 节约成本设计一种流式传输协议,用于Borgmon 之间传输timeseries 数据
  2. 标准部署模型运行多个Borgmon 负责全局汇总,每个数据中心运行一个Borgmon 负责汇总所在数据中心运行的实例。
  3. 更复杂的部署模型中,进一步将数据中心Borgmon 划分为一个收集层一个汇总层
    1. 数据收集层主要负责规则运算和汇总
    2. 全局层也会划分为计算层和展示层
    3. 上游的Borgmon 可以过滤从下游Borgmon 收集来的信息,全局Borgmon 就不需要保留所有任务实例层的time-series信息

黑盒监控

  1. Borgmon是白盒监控系统并不能监控系统所有状态
    1. 例 白盒监控系统只能看到已经接受的请求,并不能看到由DNS故障导致没有发送成功的请求
  2. 探针程序(黑盒)使用应用级别的自动请求探测目标是否成功返回
  3. 探针程序可以直接探测前端,也可以探测负载均衡服务后面的服务

配置文件的维护

  1. 配置文件中规则定义与具体目标分开组织,一套规则可以应用到许多不同的收集目标上
  2. Borgmon 提供针对Borgmon 规则的单元测试和回归测试工具
  3. Google内部Borgmon 通用模板库最大两类:
    1. 将某一个代码类库保罗所有监控系统模板化
    2. 如何将单实例监控数据按级汇总到全局范围的模型
  4. 通过Borgmon标签机制,可以针对任务进行区分,Borgmon给每个目标添加对应实例名称,分页,以及所在的数据中心,可以分组汇总对应的timeseries。标签作用如下
    1. 标签可以标记数据维度
    2. 标签可以标记数据来源
    3. 标签可以标记局部分组信息和汇总信息

十年之后

  1. 保证监控系统维护成本与服务的部署模型呈线性相关增长是非常关键的
Prometheus监控 引言 一、常用监控简介 1、Cacti Cacti(英文含义为仙人掌〉是一套基于 PHP、MySQL、SNMP和 RRDtool开发的网络流量监测图形分析工具。 它通过snmpget来获取数据,使用RRDTool绘图,但使用者无须了解RRDTool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定义模板,在历史数据的展示监控方面,其功能相当不错。 Cacti通过添加模板,使不同设备的监控添加 阅读详情

相关推荐

【信息科学与工程学】【运营科学】第二篇 C4信息与通信网络运营 (C4) ——数据中心网络运营04

典型值:λ1​∈[−0.02,−0.01], λ2​∈[−0.01,0], η1​,η3​∈[0.1,0.3], η2​,η4​∈[0.05,0.15]参数:δ1​∈[−0.8,−0.3], δ2​∈[−0.5,−0.2], δ3​∈[−0.4,−0.1], δ4​∈[−0.6,−0.2]参数:φ1​∈[0.1,0.3], φ2​∈[−0.2,−0.05], φ3​∈[−0.1,0.1], φ4​∈[−0.3,−0.1]参数:α∈[0.3,0.6], β∈[0.2,0.4], γ∈[0.01,0.03]

weixin_49199313的博客 1215

SRE Google 运维解密 具体实践一

一、基于时间序列数据进行有效报警 Borgmon是google使用的时间序列监控系统,在开源软件中Prometheus是非常类似的一款工具。这个软件将收集时间序列信息作为监控系统的首要任务,同时发展了一种丰富的时间序列信息操作语言,通过使用该语言将数据转化为图表和报警。 因为总是会有大批量的服务器在上线、下线,建立和维护一个有效的服务注册、发现系统是很有必要的。上线的主机需要能主动让B

watermelonbig的专栏 7363

2021年全国职业院校技能大赛高职组网络系统管理赛项

S1 Ruijie(config)#switch virtual domain 1 Ruijie(config-vs-domain)#switch 1 Ruijie(config-vs-domain)#switch 1 priority 150 Ruijie(config-vs-domain)#switch 1 description S1 Ruijie(config-vs-domain)#exit Ruijie(config)#vsl-port Ruijie(config-vsl-port)#po

bfq05234214的博客 1134

Prometheus (四)Prometheus简介

Prometheus 简介 Prometheus起源 很久以前,加利福尼亚州山景城有一家名为Google的公司。该公司推出了大量产品,其中最著名的是广告系统和搜索引擎平台。为了运行这些不同的产品,该公司建立了一个名为Borg的平台。Borg系统是:“一个集群管理器,可以运行来自成千上万个不同应用程序的成千上万个作业,它跨越多个集群,每个集群都有数万台服务器。”开源容器管理平台Kubernetes的...

Koala_Bryson的博客 560

ROS新手必看:如何用URDF快速搭建UR5机械臂模型(附完整代码)

本文为ROS新手提供了一份详细的UR5机械臂URDF建模实战指南。通过解析URDF核心概念,逐步讲解如何定义link与joint,并整合官方网格文件,最终构建出完整的、可在RViz中可视化与控制的UR5模型。文章还介绍了模型验证、调试技巧以及如何添加碰撞与惯性属性,为后续的物理仿真与算法开发奠定坚实基础。

pz89012345的博客 498

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9811

Prometheus介绍和高可用方案简介

Prometheus简介:Prometheus 是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,由SoundCloud 的 googl...

NewTyun的博客 1718

VSAN闪存缓存磁盘故障处理指南-RAID0模式实战解析

本文详细解析了VSAN集群中RAID0模式下的闪存缓存磁盘故障处理全流程。通过模拟真实故障场景,从告警识别、数据重建策略到磁盘组重构,提供了手把手的实战操作指南,并深入探讨了RAID0缓存故障的独特影响与风险,为运维人员应对此类高性能存储架构的突发问题提供了专业解决方案。

assembly8low的博客 446

SRE 工程实践——基于时间序列存储数据的报警

构建智能运维平台,运行监控和故障报警是两个绕不过去的重要部分。本次分享主要是数人云工程师介绍引入 SRE 理念后的基于时间序列数据存储的报警工程实践。 SRE 报警介绍 今天我分享的主题是 SRE 基于时间序列数据的报警实践,既然是基于时间序列。 首先,我先简单介绍一下什么是时间序列数据。 时间序列( time series )数据是一系...

weixin_34356310的博客 459

删除win10电脑U盘使用记录

手工删除:和查看的方法类似,分三步,缺一不可,顺序也不能反! 第一步 设置环境变量,变量名为“devmgr_show_nonpresent_devices”,值为“1”。 第二步 打开设备管理器,勾上“查看”菜单中的“显示隐藏设备”。如果之前已经打开设备管理器,则要关了,重新打开。 第三步 清除“磁盘驱动器”、“存储卷”、“通用串行总线控制器”3个栏目下所有的灰色的图标,注意是所有!右键点击灰色图标,然后选择“卸载”。 成功 :结果USBSTOR 没有了 ...

qq_40544338的博客 2万+

倍加福(P+F)R2000修改雷达IP

在调试车子的时候,用到了倍加福R2000的一款雷达,设备启动建图时发现建不了图,于是查看/scan发现话题无数据,尝试ping雷达接口发现ping不通,应该是IP地址与上位机端口的IP地址不对。首先查看雷达的IP地址,这个在雷达上有两个按键,按下后可以显示IP: 按两下右边的键再按一下左边的键雷达上会显示出IP号,这里拍的不是很清楚。查看到开始时雷达IP地址为192.168.111.10,而上位机ping的IP地址为192.168.188.50.与实际不同,所以需要对雷达进行配置。一台windows笔记本

YiYeZhiNian的博客 5890

读书笔记(SRE:Google运维解密):第10章 基于时间序列数据进行有效报警

服务可靠度层级模型 监控 (a)埋点 (b)指标收集:指标合成 (c)时间序列数据存储 (d)规则计算 (e)报警   汇总计算(aggregation),是分布式环境中不可缺少的一环。汇总计算过程可以将一个任务的所有实例中的某个time-series相加。通过计算总数,我们就可以计算整体速率(rate)。 例如:一个任务在整个数据中心中的整体每秒查询率(QPS)需要通过所有实例的查询计数器[14]的变化率的总和[15]来计算。   命运共享(share of fate)理念 建.

lo_ong的博客 397

华为od 面试八股文_C语言_02_含答案

华为od 面试八股文_C语言_02_含答案

MISAYAONE的博客 2230

《SRE:Google 运维解密》读书笔记11: 基于时间序列数据进行有效报警 - 新型的监控

在正式进入第10章之前,有必要对“具体实践”这一部分的整体结构有所了解。章节主题核心内容第10章基于时间序列数据进行有效报警Borgmon、时间序列数据库、报警规则设计第11章on-call 轮值多地团队、轮值频率与生产环境熟悉度第12章有效的故障排查手段假设-排除法、常见陷阱第13-14章应急事件管理降低影响范围、管理事故响应第15-16章事后总结与根源分析无指责文化、事故跟踪系统第17章测试避免已知类型问题重复发生第18-22章容量规划与负载均衡Auxon、GSLB、BwE、连锁故障。

1932

【OpenClaw从入门到精通】第03篇:吃透Gateway/Skills/ClawHub核心概念(2026实测+避坑)

本文针对OpenClaw新手易混淆的核心概念痛点,以通俗类比+实操演示拆解OpenClaw核心、Gateway、Skills、ClawHub四大组件。通过“数字员工团队”类比明确各组件定位:OpenClaw核心是“老板”(调度中心)、Gateway是“前台+后勤”(后台进程)、Skills是“专业员工”(功能插件)、ClawHub是“人才市场”(技能商店)。补充版本更名史、技能加载优先级、ClawHub与GitHub区别等关键细节,结合“AI融资新闻查询并邮件推送”虚拟案例演示组件协同流程,梳理5个高频认知

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5051

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

《SRE Google 运维解密》笔记

文章目录1. 主旨2. 概览2.1 提出 SRE 的动力?2.2 SRE 聚焦问题点2.3 庖丁解牛2.3.1 你看到了什么?2.3.2 如何管理你看到的?2.3.3 能否站在全局视角上看问题?3. 指导思想3.1 学会拥抱风险3.1.1 如何度量服务的风险?3.1.2 判断服务风险的容忍度?3.1.2 设计合适的「错误预算」3.2 服务质量目标3.2.1 指标在实践中的应用3.2.2 目标在实...

phantom_111的博客 2523

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SRE Google运维解密pdf

下载地址:网盘下载自动化对Google SRE 的价值 62自动化的应用案例 63Google SRE 的自动化使用案例 63自动化分类的层次结构 64让自己脱离工作:自动化所有的东西 66舒缓疼痛:将自动化应用到集群上线中 67使用Prodtest 检测不一致情况 68幂等地解决不一致情况 69专业化倾向 71以服务为导向的集群上线流程 72Borg :...

weixin_30945039的博客 2017

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

《SRE:Google 运维解密》读书笔记12: on-call轮值 - SRE的“生命线”

on-call 轮值是 SRE 保障服务可靠性的核心机制,通过主副值班制、多地团队、25%运维时间红线和12小时≤2事件的质量标准,让应急响应可持续。关键点一句话概括on-call 的核心目标服务可靠性(分钟级响应)+ 团队可持续性(避免疲劳战)主副值班制主 on-call 负责主要响应,副 on-call 作为备份和协助多地团队优势避免夜间值班损害健康 + 控制团队规模保障熟悉度数量平衡纯运维时间 ≤ 25%,至少 50% 投入研发质量平衡。

1742

Google SRE 读书笔记 扒一扒SRE用的那些工具

写在前面 最近花了一点时间阅读了《SRE Goolge运维解密》这本书,对于书的内容大家可以看看豆瓣上的介绍。总体而言,这本书是首次比较系统的披露Google内部SRE运作的一些指导思想、实践以及相关的问题,对于我们运维乃至开发人员都有一定的借鉴意义。 书中的一些思想也令我印象深刻,例如SRE工程师要保证投入50%的时间在项目上、错误预算、命运之轮、事故总结等等,对于从业者有很大的启发。...

aifeier1982的博客 1267

Google SRE读后感

Google SRE读后感 《SRE Google运维解密》一书由Google SRE团队各成员所写的短文组成,书中记载了SRE团队在支持Google业务规模不断扩大的过程中所总结的经验以及实际案例。即使在IT行业发生翻天覆地变化的今天,此书仍然弥足珍贵,它详细记录了Google迈过分水岭时期的全过程。很显然,这些经历没有办法完全复制,也许只能被模仿,但是却可以启发读者,指引未来。 本书分为以...

xianyuLuo的博客 787

SRE用的那些工具

写在前面 最近花了一点时间阅读了《SRE Goolge运维解密》这本书,对于书的内容大家可以看看豆瓣上的介绍。总体而言,这本书是首次比较系统的披露Google内部SRE运作的一些指导思想、实践以及相关的问题,对于我们运维乃至开发人员都有一定的借鉴意义。 书中的一些思想也令我印象深刻,例如SRE工程师要保证投入50%的时间在项目上、错误预算、命运之轮、事故总结等等,对于从业者有很大的启发。书中提...

niuniu0186的专栏 1585

2026年Linux运维/SRE从零到精通的系统学习路径与实战指南

在当今企业数字化转型和云原生技术普及的背景下,Linux系统管理与自动化运维已成为保障业务稳定运行的核心技术。其原理在于通过脚本编程、配置管理工具和容器化技术,将传统重复性的人工操作转化为可重复、可扩展的工程化流程,从而提升系统可靠性和运维效率。这一技术价值体现在能够显著降低人为错误、加速服务交付,并实现大规模基础设施的标准化管理。其应用场景广泛覆盖从传统服务器维护到现代云原生架构下的微服务部署、监控告警和持续交付。本文聚焦于Linux运维与SRE(站点可靠性工程)领域,针对当前主流企业技术栈,系统梳理了从

weixin_34005042的博客 450

性能监控之初识 Prometheus

文章目录一、概述二、监控的目标三、Prometheus 的优势四、Prometheus 的基本架构五、组件内容六、安装Prometheus Server1、从二进制包安装2、使用容器安装3、使用 Kubernetes Operator 安装3、小结 一、概述 Prometheus 是一套开源的监控、报警、时间序列数据库的组合,起始是由 SoundCloud 公司开发的,源于谷歌 borgmon。从 2016 年加入CNCF,2016 年 6 月正式发布 1.0 版本,2017 年底发布了基于全新存储层的 2

7DGroup,让技术更有价值! 1424

Google 的全球生产环境架构

这是 Google SRE 工程师在2018年5月的一篇分享。本文大致的介绍了 Google 整个网站的 infrastructure,以及代码发布流程。而更详细的细...

架构文摘 1186

监控神器-普罗米修斯Prometheus

什么是Prometheus? Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus是监控平台,通过HTTP实时查看系统各项性能指标。足够支撑上万台规模的集群。 Prometheus的特点 多维度数据模型。 灵活的查询语言。 不依赖分布式存储,单个服务器节点是自主的。 通过基于HTTP的pull方式采集时序数据。 可以通过中间网关进行时序列数据推送。 通过服务发现或者静态配置来发现目标服务对象。 支持多种多样的图表和界面展示,比如Grafana等

定格空间 5826
上一篇: SRE Google运维解密——第9章 简单化
下一篇: SRE Google运维解密 第11章 on-call轮值
陌逸_逺
博客等级 码龄9年 13粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值