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是一种分布式跟踪系 ...
随机推荐
- ARMV7-M数据手册---Part A :Application Level Architecture---A1 Introduction
1.前言 本章主要介绍了ARMV7体系结构及其定义的属性,以及本手册定义的ARMV7M属性. 主要包括: ARMV7体系结构和属性 ARMV7M属性 ARMV7M扩展 2. ARMV7体系结构和属性 ...
- pt-table-sync同步报错Called not_in_left in state 0 at /usr/bin/pt-table-sync line 5231【原创】
试验环境MySQL5.7.19,自己使用pt-table-sync 3.0.2版本同步后,手动在从库执行后,在用pt-table-sync验证时报错 命令如下: pt-table-,u=用户名,p=, ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
- 003_ab http压测工具
一. ab -r -k -c 20000 -n 25000000 https://www.uuwatch.me/abtest #ab压测工具单机最大并发为20000,可以在多台机器上执行以增大并发 y ...
- hue的历史查询记录querys乱码问题解决
hue的历史查询记录querys乱码问题解决: master1中配置文件/home/hadoop/.versions/hue-3.10.0/desktop/conf/hue.ini 可以看到连接的是m ...
- 数据库中关于convert的参数学习(转化函数用法)
该页面中的内容来之http://www.cnblogs.com/xionglee/articles/1444916.html,以前我一直不知道当中的1,2,3表示什么,现在才知道呀!style 格式: ...
- ASP.NET MVC5入门3之登录验证
参考: HTML页面模版: http://www.ui.cn/detail/70262.html(第38个) MVC后台代码参考: http://www.oschina.net/p/nfine 开发环 ...
- Appium+Java(三)搭建环境之踩过的坑
一.原因 有最少两年多没写手机自动化测试了,正巧公司有需求搞TOC端自动化测试调研,先入为主,因为之前写过appium所以先用它埋点试水了 二.现象: 1.我早期的appium版本是v1.4.16 2 ...
- ios 调整 label 的字体行间距
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 200) ...
- Confluence 6 在你用户宏中使用参数
你可以为你的用户宏指定参数.这样的话,用户可以使用参数来决定 Confluence 页面的显示情况. 如何在 Confluence 页面中使用你的宏参数 当添加一个宏到 Confluence 页面中的 ...