加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

攻击五年内飙升了700%

发布时间:2021-02-06 16:42:04 所属栏目:外闻 来源:互联网
导读:可见,影响系统可用性的指标包括2个方面:MTTF(不出故障的时间)和MTTR(出故障后的恢复时间),所以,要提高系统可用性,要从2个方面入手: 尽量增加无故障时间 尽量缩短出故障后的恢复时间 对故障应急来说,也要从这两个方面入手,首先要增加无故障时间,包括

可见,影响系统可用性的指标包括2个方面:MTTF(不出故障的时间)和MTTR(出故障后的恢复时间),所以,要提高系统可用性,要从2个方面入手:

  1. 尽量增加无故障时间
  2. 尽量缩短出故障后的恢复时间

对故障应急来说,也要从这两个方面入手,首先要增加无故障时间,包括日常的风险发现和风险治理,借大促机会进行的链路梳理和风险治理。只有不断的发现风险,治理风险,才能防止系统稳定性腐烂,才能增加无故障时间。

其次,要缩短出故障之后的恢复时间,这一点上,首先要把功夫花在平时,防止出现故障时的慌张无助。平时的功夫,主要就是场景梳理和故障演练。

2 场景梳理

故障场景梳理,重点在于要把可能出现故障的核心场景、表现、定位方法、应对策略梳理清楚,做到应对人员烂熟于心,为演练、故障应急提供脚本。
 

日常报警数量限制

一般来说,如果一段时间内,报警短信的数量超过99条,显示了99+,大家就会失去查看报警的兴趣,因此,一定要不断调整报警的阈值,使其在业务正常的情况下,不会频繁报警。在盒马履约,我们基本可以做到24小时内,报警群内的报警总数,在不出故障/风险的情况下小于100条;这样的好处是明显的,因为我们基本上可以做到1个小时以上才查看报警群,只要看到报警群的新增条数不多(比如只有10条左右),就能大致判断过去的一个小时内,没有严重的报警发生;减少报警的方法,可以采用如下手段:

  • 对于系统监控报警,采用范围报警,比如load,设置集群内超过N %且机器数大于M的机器load都升高了才报警。毕竟对于一个集群而言,偶尔一台机器的load抖动,是不需要响应的。
  • 对于业务报警,一定要做好同比,不但要同比昨天,还要同比上周,通过对比确认,对于一些流量不是很大的业务来说,这一点尤其重要,有些时候错误高,纯粹是ERROR级别日志过度打印,所以只要相对于昨天和上周没有明显增加,就不用报警。
  • 对于qps、rt等服务报警,要注意持续性,一般来说,要考虑持续N分钟,才需要报警,偶尔的抖动,是不用报警的。当然,对于成功率下跌,异常数增加,一般要立即报出来。
  • 复合报警,比如一方面要持续N分钟,一方面要同比昨天和上周,这样来减少一些无需报警的情况。
  • 根据需要设置报警的阈值,避免设置>0就报警这种,这种报警没有意义,一般来说,如果一个报警,连续重复报10条以上,都没有处理,一般是这个报警的通知级别不够,但是如果一个报警,重复10条以上,经过处理人判断,不需要处理,那就肯定是这个报警的阈值有问题。

报警要能够互补

我们经常提到监控的覆盖率,但是覆盖还是不够的,因为监控可能出现多种可能性的缺失(丢日志、通信异常等),因此要能够从多个维度覆盖,比如,除了要直接用指标覆盖qps,还需要通过日志来覆盖一遍,除了要用日志覆盖一些订单趋势,还要从db统计上覆盖一遍,这样一个报警丢失,还至少有另外一个报警可以backup。

4 有效发现监控问题

作为一个SRE人员,很容易发现一个点,如果有几次线上问题或报警响应不及时,就会被老板和同事质疑。同样的,如果每次线上问题都能先于同事们发现和响应,就会赢得大家信任,那要如何做到先于大家发现呢?我的建议是:像刷抖音一样刷监控群和值班群。

一般来说,一个团队的稳定性问题在3类群里发现:BU级消防群、团队的监控报警群、业务值班群;所以没有必要红着眼睛盯着监控大盘,也没必要对每个报警都做的好像惊弓之鸟,这样很快自己就会疲惫厌烦。

我的经验是按下面的步骤:

  • 首先当然是要监控治理,做到监控准确,全面,然后按照前面说的,控制报警数量,集中报警群,做到可控、合理。
  • 然后像刷抖音一样,隔三差五(一般至少1个小时要有一次)刷一下报警群,如果报警群里的新增条数在20条以内,问题一般不大,刷一刷就行。
  • 如果突然一段时间内报警陡增,就要看一下具体是什么问题了,小问题直接处理,大问题分工组织协调。
  • 消防群中的问题,要及时同步到团队中。
  • 值班群中的工单,需要关注,并有一个初步的判断:是否是大面积出现的业务反馈,是否有扩大的隐患。

要做到“有效”两个字,SRE人员,需要有一个精确的判断:当前报警是否需要处理?当前报警是否意味着问题?当前报警的影响范围和涉及人员是谁?当前工单/问题是否可能进一步扩大,不同的判断,采取的行动是不同的。

三 故障应急

前面1.4.1中,有提到如何及时、快速的响应,这一点是作为SRE人员在故障应急时的关键,也是平时处理线上问题的关键。除此之外,在应对故障方面,还有很多事情需要做。

1 系统可用性的定义

ufried 在2017年的经典弹性设计PPT:《Resilient software design in a nutshell》中,对系统可用性的定义如下:

(编辑:吉安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读