IT设备服务监控的方法论
有方法论提导,在技战术方面才不会偏离目录。
使用服务级别作为关键语,召示着承诺和责任。
https://www.circonus.com/2018/06/comprehensive-container-based-service-monitoring-with-kubernetes-and-istio/
==================================
服务级别目标
这个服务级别目标的简要概述将为我们如何衡量我们的服务健康状况奠定基础。服务级别协议(SLA)的概念已经存在了至少十年。但就在最近,与服务级别目标(SLO)和服务级别指标(SLI)相关的在线内容数量迅速增加。
除了著名的 Google SRE书以外,两本关于 SLO 的新书即将发布。“站点可靠性工作手册”有关于 SLO 的专门章节,Seeking SRE 有关于由 Circonus 创始人兼首席执行官 Theo Schlossnagle 定义 SLO 目标的章节。我们还建议观看Seth Vargo 和 Liz Fong Jones 的 YouTube 视频 “SLI,SLO,SLA,哦,我的!”,以深入了解 SLI,SLO 和 SLA 之间的差异。
总结一下:SLI 驱动 SLO,通知 SLA。
服务级别指标(SLI)是衡量服务健康状况的指标。例如,我可以有一个 SLI,它表示在过去 5 分钟内,我的第95 个百分点的主页请求延迟应小于 300 毫秒。
服务级别目标(SLO)是 SLI 的目标或指标。我们采用 SLI,并扩展其范围以量化我们期望我们的服务在战略时间间隔内执行的情况。使用前面例子中的 SLI,我们可以说,我们希望满足 SLI 为后续年份窗口的 99.9% 设置的标准。
服务级别协议(SLA)是企业与客户之间的协议,定义了未能满足 SLO 的后果。一般来说,您的 SLA 所依据的SLO 将比您的内部 SLO 更宽松,因为我们希望我们的内部面向的目标比我们的外部目标更为严格。
RED 仪表板
SLI 的哪些组合最适合量化主机和服务健康?在过去几年中,出现了一些新兴的标准。最高标准是 USE 方法,RED方法和 Google SRE 手册中讨论的“四个金色信号”。
Brendan Gregg 介绍了USE 方法,该方法旨在根据利用率,饱和度和错误指标量化系统主机的健康状况。对于像CPU 这样的产品,我们可以为用户,系统和闲置百分比使用常见的利用率指标。我们可以使用平均负载量和运行队列进行饱和度的判定。UNIX perf 分析器是测量 CPU 错误事件的好工具。
Tom Wilkie 几年前介绍了 RED方法。用 RED。我们监控请求率,请求错误和请求持续时间。Google SRE 手册讨论了如何使用延迟,流量,错误和饱和度指标。这些“ 四个金色信号 ”以服务健康为目标,与 RED 方法类似,但他添加了饱和度指标。在实践中,可能难以量化服务饱和度。
那么,我们如何监控容器?容器是短期实体。直接监视它们以辨别我们的服务健康状况会出现许多复杂的问题,例如高基数问题。综合监控这些容器的服务输出会更容易和更有效。如果服务是健康的,我们不在乎一个容器是异常。有可能我们的编排框架无论如何都会收获这个容器,并用新的框架取而代之。
让我们考虑如何最好地将 Istio 的 SLI 作为 RED 仪表板的一部分进行集成。为了组成我们的 RED 仪表板,我们来看看 Istio 提供的遥测记录:
- 请求按响应代码计数
- 请求时长
- 请求大小
- 响应大小
- 连接收到的字节
- 连接发送字节
- 连接时间
- 基于模板的元数据(度量标签)
Istio 提供了有关它收到的请求,产生响应的延迟和连接级别数据的几个指标。请注意上面列表中的前两项; 我们希望将它们包含在我们的 RED 仪表板中。
Istio 还赋予我们添加度量标签的能力,这就是所谓的尺寸。因此,我们可以通过主机,集群等来分解遥测 。我们可以通过获取请求计数的一阶导数来获得每秒请求的速率。我们可以通过请求不成功的请求计数的派生来获得错误率。Istio 还向我们提供每个请求的请求延迟,因此我们可以记录每个服务请求完成的时间。
IT设备服务监控的方法论的更多相关文章
- php特级课---4、网站服务监控
php特级课---4.网站服务监控 一.总结 一句话总结:这些是架构师的知识 网络流量监控:cacti,mrtg 邮件报警系统:postfix 压力测试工具:Apache压力测试软件-ab,Mysql ...
- 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控
线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...
- Java实现Android,iOS设备实时监控
Java实现Android设备实时监控 设计思路: 第一,启动一个实时截图线程,负责实时截取Android设备屏幕,保存到本地路径. 第二,在JSP页面,定义一个img对象,实时更换img对象的src ...
- 运维架构服务监控Open-Falcon
一. 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题.监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择.当公司刚 ...
- wamp 服务监控和启动
近日我的 wamp 莫名其妙的崩溃重启,apache 能自动起来, mysql 却悲剧了. 于是有了下面的wamp服务监控和启动的批处理文件 @echo off rem define loop tim ...
- SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)
1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢? 当现在服务的 ...
- 如何做自己的服务监控?spring boot 2.x服务监控揭秘
Actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
- 如何做自己的服务监控?spring boot 1.x服务监控揭秘
1.准备 下载可运行程序:http://www.mkyong.com/spring-boot/spring-boot-hello-world-example-jsp/ 2.添加服务监控依赖 <d ...
- 微服务监控zipkin+asp.net core
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 监控目录:微服务监控zipkin.skywalking以及日志ELK监控系列 一.zipkin介绍 zipkin是一种分布式跟踪系 ...
随机推荐
- k64 datasheet学习笔记3---Chip Configuration之Human machine interfaces
1.前言 本文主要概略讲述GPIO相关的内容 2.GPIO configuration 注: GPIO模块没有访问保护,因为他没有连接到peripheral bridge slot上,不受MPU保护 ...
- HTTP笔记01-http相关的基础知识
这个系列文章是阅读<图解HTTP>后写下的笔记 当我们在浏览器输入url,点击回车后,浏览器显示我们需要的web页面,那么,这个界面是如何产生的? 根据浏览器地址中输入的url,浏览器从相 ...
- VC常用小知识
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现.AfxGetMainWnd() ->Sho ...
- 使用sudo而无需输入密码的设置
在linux上,root用户是老大,什么事都能做.但是,很多时候由于安全等各种原因,我们不希望把root用户开放给大家,但是又希望其他的用户可以有root的权限,所以就有了sudo用户.而执行sudo ...
- EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中
需求:EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中 效果: /** * 给树增加onCheck事件,首先使用cascadeCheck:false属性禁止全选, ...
- javacv:调取本地摄像头,抓取人脸,保存为图片
MAVEN: <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platf ...
- 如何在eclipse中对项目进行重新编译
有时由于eclipse异常关闭,当我们重启Eclipse,在启动项目时,会报错,说:ClassNotFound类似的错误,引起这种问题的原因可能是由于,Eclipse异常关闭引起的. 解决:在一个项目 ...
- Ex 2_3 求递推式的通项公式..._第三次作业
- 【原创】数据库基础之Mysql(3)mysql删除历史binlog
mysql开启binlog后会在/var/lib/mysql下创建binlog文件,如果手工删除,则下次mysql启动会报错: mysqld: File './master-bin.000001' n ...
- [C]字符串行为
未事先分配长度的字符串变量声明,占用内存空间是这个字符串长度 + 1,1用于保存\0结束标识 #include <stdio.h> #include <stdlib.h> #i ...