用于监控分布式系统的四个黄金信号
为客户提供高质量的应用程序或服务取决于幕后的高可用性基础架构。当您的服务不可用,速度慢或损坏时,客户可能会感到沮丧,减少支出或完全停止使用您的服务。您的运营团队需要快速地了解问题,以防止服务质量降低并影响您的业务。
目前流行的现代分布式系统以基础架构和主机指标(如CPU利用率,APM指标,如响应时间,数据库指标等)的形式发布数百个指标。不断监视所有这些指标是不切实际的,因此我们建议在监视分布式系统时选择一个用作应用程序关键性能指标的子集。
Google的网站可靠性工程师小组(SRE)定义了四个需要监控的关键指标。他们称之为“四个黄金信号”:延迟(Latency),流量(Traffic),错误(Errors)和饱和度(Saturation)。这些与微服务的RED度量密切相关:速率,错误和持续时间,以及关注利用率,饱和度和错误的USE方法。这四个信号应该是服务级别目标(SLO)的关键部分,因为它们对于提供高可用性的服务至关重要。
延迟 Latency
延迟是发送请求和接收响应所需的时间。延迟通常从服务器端测量,但也可以从客户端测量,以解决网络速度的差异。您的运营团队可以最大程度地控制服务器端延迟,但客户端延迟将与您的客户更相关。
您选择的目标阈值可能因应用程序类型而异。像API或广告服务器这样的自动化系统可能需要比手机上的人有更快的响应时间。您还应分别跟踪成功和失败请求的延迟,区分成功请求的延迟和失败请求的延迟是很重要的。例如,由于与数据库或其他关键后端的连接丢失而触发的HTTP 500错误可能很快得到处理;但是,由于处理超时而引起的HTTP 500错误,可能导致误导性判断。另一方面,一个慢的错误甚至比一个快速的错误更糟糕!因此,跟踪错误延迟是很重要的,而不是仅仅过滤掉错误。
流量 Traffic
流量是衡量流经网络的请求数量。这些可能是对Web服务器或API的HTTP请求,也可能是发送到处理队列的消息。高峰流量的时间可能会对您的基础架构造成额外压力,并可能将其推向极限,从而触发下游效应。这是一个关键信号,因为它可以帮助您区分容量问题和不正确的系统配置,即使在低流量时也可能导致问题。对于分布式系统,它还可以帮助您提前规划容量以满足即将到来的需求。
错误 Errors
错误可以告诉您基础结构中的错误配置,应用程序代码中的错误或依赖项损坏等。例如,错误率的峰值可能表示数据库或网络中断失败。在代码部署之后,它可以指示代码中的错误,这些错误以某种方式在测试中存活或仅在生产环境中浮出水面。错误消息将为您提供有关确切问题的更多信息。错误还可以通过人为降低延迟或重复重试来影响其他指标,最终导致分布式系统饱和。
饱和度 Saturation
饱和度定义网络和服务器资源的负载。每个资源都有一个限制,之后性能将降低或变得不可用。这适用于CPU利用率,内存使用率,磁盘容量和每秒操作等资源。了解您的分布式系统设计和通过经验来判断您的服务的哪些部分可能首先变得饱和。通常,这些指标是高级别指标,因此您可以在性能下降之前调整容量。
达到饱和度限制可能会以不同方式影响您的服务。例如,当CPU已满时,可能会导致响应延迟,填满的存储空间可能导致磁盘写入失败,并且网络饱和可能导致数据包丢失。通过仪表板和监控警报可以帮助您密切关注这些资源,并帮助您在容量达到饱和之前主动调整容量。
总结
这四个黄金信号是帮助提供良好客户体验的关键。可以帮助您在分布式系统监控中轻松跟踪每个信号。您可以使用它们报告服务级别目标,并通过向下探寻来快速解决问题以获取更多详细信息。您可以在问题影响客户之前主动解决问题。
用于监控分布式系统的四个黄金信号相关推荐
- 监控SRE的黄金信号
\ 关键要点 \\ 金牌信号对于运营团队监控其系统和发现问题至关重要.\\t 随着我们转向微服务和容器,这些信号变得尤为重要,其中包括第三方在内的更多功能更加分散.\\t 需要监测的指标有许多,但行业 ...
- 片上总线Wishbone 学习(四)接口信号定义
片上总线Wishbone 学习(四)接口信号定义 所有的Wishbone接口信号都是高电平有效,设计成高电平有效的主要原因是由于低电平有效信号的书写问题,不同的设计者表达低电平有效信号的方式不同,拿最 ...
- BSD.E6-B11 支持液晶屏最示驱动板方案,可用于监控和安防
BSD.E6-B11 支持液晶屏最示驱动板方案,可用于监控和安防. 可配接口类型为LVDS的液品显示屏, 支持屏的分辨率可达1920*1200.BSD. E6-B11V1.0视频部分支持两路HDMI( ...
- GPS从入门到放弃(四) --- GPS信号结构
GPS从入门到放弃(四) - GPS信号结构 GPS信号结构可以分为三层: 载波 伪码 数据码 载波 载波是三层里的基础,伪码和数据码都是调制在载波上才能发送.GPS有两个载波频率,L1和L2,L1为 ...
- 嵌入式项目实战——基于QT的视频监控系统设计(四)
嵌入式项目实战--基于QT的视频监控系统设计(四) 进入到五一假期的第四天,通过前三天的分享,相信你应该已经掌握了QT的基本使用.UDP网络编程.v4l2视频处理模块.多线程编程等基本的知识点.其实昨 ...
- CSS一个冒号是伪类:用于监控动作、两个冒号是伪元素::用于定位元素
一个冒号两个冒号::: 一个冒号是伪类,两个冒号是伪元素 伪类有----:first-child ,:link , :vistited,:hover:,active:focus,:lang用于监控 ...
- RestartOnCrash一个监控进程的小工具,可用于监控iis/apache/mysql等程序
RestartOnCrash一个监控进程的小工具,可用于监控iis/apache/mysql等程序 此程序相当于一个服务器小保姆一样,而且功能还是比较全的程序使用很简单 下载地址http://w-sh ...
- linux系统正常的运行状态是,一种用于监控Linux系统运行状态的监控系统及方法...
一种用于监控Linux系统运行状态的监控系统及方法 [技术领域] [0001]本发明涉及Linux系统,尤其涉及对Linux系统进行实时监控的系统及方法. [背景技术] [0002]通常服务器领域.通 ...
- 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(四)服务端介绍
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 开源倾情奉献系列链接 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(一)开放源代码 开源倾 ...
最新文章
- 计算机课程认识,认识计算机课程教案.doc
- Latex博士论文格式版本(在CASthesis基础上作修改)
- Android中ImageView常用属性含义
- Mysql使用Data Modeler
- 21丨容器化守护进程的意义:DaemonSet
- [转]一步步搭建Ubuntu环境——dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题——安装Flashplayer出错 ------不错...
- ios开发基础之通讯录系统实战-20
- “景驰科技杯”2018年华南理工大学程序设计竞赛 A. 欧洲爆破(思维+期望+状压DP)...
- 最详细的SSD论文笔记
- Java核心编程总结(五、线程池与死锁),淘汰了80%的Java面试者
- 华师网教计算机应用基础作业,华师大网络教育选修课《计算机应用基础统考》平时作业答案(13页)-原创力文档...
- psql屏幕输出全部结果_CommandBuffer实现Distort屏幕扭曲效果
- python 神经网络_100行Python代码,轻松搞定神经网络 !
- tfs 安装mysql.h_如何在centos5或centos7上编译安装tfs rcserver 模块?
- Linux 面试最常问的十个问题
- 一阶惯性传感器的快速跟踪性能实现
- 如何共享OneNote笔记本
- 苹果计算机符号怎么打开,Mac电脑如何输入command(⌘)、option(⌥)、shift(⇧)等特殊符号...
- 万恶的BOM,万恶的微软
- 【对比Java学Kotlin】代理
热门文章
- OPPO手机删除文件数据恢复技巧篇
- 微软多个 Windows 系统存在远程代码执行漏洞(ICMP协议)(MPS-2023-1376)
- 微信小程序上传文件(可传 word、excel、ppt、视频、图片……)
- websect爬取小米官网数据
- “多媒体技术狗”的节日 LiveVideoStackCon 2018日程公布
- 线代笔记:一个排列中的任意两个元素对换,该排列的奇偶性发生改变
- HTML链接标签和表格的使用
- 如何搭建网络电视直播系统 (详细介绍硬件+软件系统)
- 50ETF,300ETF期权手续费一般是多少?
- OSG+MyGUI结合下中文输入的若干问题