谈一谈监控告警系统

作为一名互联网和软件从业人员,你一定听过监控告警系统,并且举双手赞成你的团队应该拥有它,今天就从以下几个方面聊一聊熟悉又陌生的监控告警系统:

  1. 什么是监控告警系统/li>
  2. 为什么需要监控告警系统/li>
  3. 监控告警系统的未来/li>

什么是监控告警系统

监控告警系统是一个软件系统,给用户提供监控、告警、通知的功能。可以用下图简单的描述:

谈一谈监控告警系统

监控

监控系统采集并存储监控对象的一个或者多个指标。这里提到了几个名词,稍加解释:

  • 监控系统。对下采集一个或者多个监控对象的指标数据并存储,对上暴露接口供上层做应用图形化展示、告警评估、报表;
  • 监控对象。在互联网和软件行业,可能是服务器、虚拟机等基础设施,也可能是apiserver、消息队列、数据库等软件;
  • 监控指标。监控对象的某一特征,例如服务器的CPU利用率、apiserver的RPS等。一般会周期性的采集,采集方式包括但不限于:Agent主动推送到Server、Server从Agent拉取、Agent发布Server订阅等方式,其值跟时间相关,类似下面的数据:

告警

告警系统根据设定的规则,周期性评估所有规则是否满足条件,并输出评估结果。这里解释一下几个概念:

  • 告警规则。告警规则是一个或者多个监控指标运算表达式。例如:以一分钟为评估周期,内存使用率峰值大于60%;
  • 评估。对所有的告警规则进行计算;
  • 评估结果。评估的结果有三种情况:
    • 满足。表达式成立。例如:内存使用率峰值>60%;
    • 不满足。表达式不成立。例如:内存使用率峰值<=60%;
    • 数据不足。采集的数据无法支撑表达式的计算。例如最近一分钟内没有采集到内存使用率的数据

通知

大多数监控告警系统,会把告警评估后的动作并入告警的范畴,动作可以是执行某个操作,但更多的情况是通知某对象,由某对象来执行具体的操作。通知模块负责将告警评估的结果发布出去,涉及到几个关键部分:

  • 发布方式。以何种方式发布如:电视墙、大屏、短信、企业微信、邮件、电话、报警铃声等等
  • 发布范围。发布的范围如:手机或者邮件的收件人列表

为什么需要监控告警系统

我相信任何一个开发、测试、运维都赞成团队拥有一套监控告警系统。那监控告警系统究竟有什么用,不妨看看下图:

谈一谈监控告警系统

图中监控告警系统的使用者包括:

  1. 运维人员,人力时代主要的用户。接受到监控告警系统的通知后处理告警,根据需要查看监控数据,并恢复监控对象的故障;
  2. 研发人员,根据告警、监控报表分析系统问题,指定优化方案,提升监控对象的可用性;
  3. 智能运维系统,根据告警信息调整监控对象,调整的方法可能有:
    1. 根据负载弹性伸缩
    2. 故障隔离
    3. 故障恢复等

总结起来包括以下两个方面:

  1. 提升系统可用性
  2. 改善用户体验

提升系统可用性

在讲述这部分之前,需要先了解系统可用性概念,请前往谈一谈软件系统的可用性

谈一谈监控告警系统

从上述公式可以看出,想要提升系统可用性,无外乎两个办法:

  1. 提升MTBF,即提升系统可靠性,让系统尽可能长时间稳定运行不出故障。监控告警系统的报表可以帮助研发人员分析系统存在的问题,不断改进,以提升可靠性;
  2. 降低MTTR,即减少故障修复时间,让故障快速恢复。监控告警系统从两个方面助力:
    1. 发现故障并告知智能运维系统自动扩容、自动恢复以应对过载、故障等情况;
    2. 对于没有智能运维系统或者智能运维系统无法处理的情况及时发现故障并知会相关人修复。

改善用户体验

谈一谈监控告警系统

从上图可以看出,对于产品的用户来讲,一般包含三种角色:

  1. 运维人员,负责所购买产品的运行维护,跟产品研发团队的运维人员类似,但关注的指标不同;
  2. 资源管理员,负责资源的规划、采购等。需要根据告警、监控的报表调整资源的规划和布局,例如某地资源利用率过低则减少该地的资源投入,某地负载过高则增加资源投入;
  3. 智能运维/调度系统,根据资源使用情况智能调整资源布局,例如:根据负载弹性伸缩,根据特征将流量调度到最合适的接入点等。

作为一个用户,对什么样的产品是更为满意呢控告警系统在提升用户满意度上又有什么作用/p>

  1. 用户对什么样的产品是更为满意。我觉得能让用户满意的产品至少有以下特点:
    1. 稳定、安全。这是基本要求;
    2. 透明。用户对产品的知情权,使用该产品能够给用户带来哪些收益,需要用户付出什么,有哪些限制等;
    3. 可操控。用户可以根据自身需要进行调整产品的规格和期限。
  2. 监控告警系统在提升用户满意度上的作用有:
    1. 可以提升系统的可用性;
    2. 让用户清楚的了解所购买产品的真实运行情况;
    3. 将运行情况(告警、报表等)告知用户,由用户决定产品的规格、期限以及分布情况

监控告警系统的未来

监控告警架构已经非常成熟,是提升系统可用性和用户满意度的基础能力,未来不会再有监控和告警的创新,人类会把更多的经历放到如何应用监控和告警,例如:

  1. 更多的通知方式,让更多的外部系统感知系统的运行状况;
  2. 基于监控告警数据的分析系统;
  3. 基于监控告警数据的运维系统。

以上是我对监控告警系统的理解

2021年6月30日

来源:CuriousAn

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月25日
下一篇 2021年5月25日

相关推荐