前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是监控报警以及如何实现

什么是监控报警以及如何实现

作者头像
林老师带你学编程
发布2021-12-07 19:18:01
1K0
发布2021-12-07 19:18:01
举报
文章被收录于专栏:强仔仔强仔仔
一、如果人没有皮肤会怎么样?

在如何保障系统的稳定运行中,监控报警可谓重中之重,没有监控报警的系统,就等同于没皮肤的人类一样,弱不禁风。举个最简单的例子,如果能够在第一时间发现得了癌症,甚至在萌芽阶段就检查出来,那致死率的概率可以下降非常多,但是如果等身体反应出来的时候,那大概率是到了晚期,基本没治了。

所以如果能在系统还没影响用户使用之前,及早的发现问题并发送报警,那对用户而言,影响程度可以接近0。那我们接下来就来说说系统应该设置哪些指标的报警。

二、身体每个部分都一样重要嘛?

在开始将这一部分的内容之前,我们先来问问自己这样一个问题,我们身体每个部件都一样重要嘛?当然这得看是拿什么指标来衡量,比如我们拿生命这个指标来衡量呢?答案是显而易见的,脑子和毛发、心脏和手指重要程度肯定是不一样的。

同理监控报警也是一样的,每个环节,每一个指标重要程度肯定也都不一样,报警的频率和形式肯定要进行区分。

一般来说我们可以划分为三个水平:
  1. 提醒:只是作为一个指标阶段性的通知,不做任何处理也不会对系统有任何影响。
  2. 影响:对系统某一个功能有一定的影响,但是影响不大,需要处理,但是不需要马上处理。
  3. 严重:对系统很多功能都造成影响,影响很大,需要及时处理解决。
  4. 死亡:系统已瘫痪或者或者核心功能不可用,需要第一时间全力处理修复。

讲到这边,可能会有童靴会问,为什么要分类,直接不管三七二十一发送报警不就可以了。你当然可以这么做,但是接下来将是你的噩梦,你因为没办法区分报警的重要程度,所以你时时刻刻都得盯着报警信息,这将会消耗光你所有的精力。

规划好报警的类型之后,需要对各个类型设置不同的报警。

常见的的报警渠道有:
  1. 邮件
  2. 报警群
  3. 短信
  4. 电话

渠道特点:

  • 一般来说邮件及时性不高,很容易被人忽视。
  • 报警群及时性高,但是非办公时间,可能会被忽视。
  • 短信属于跨应用,就算没有网络,也可以获取到,及时性和消息穿透性会更强。
  • 电话报警属于最严重,及时性和可靠性最强的报警渠道。

根据渠道的特点,我们可以结合上面的分类来进行一一对应。

  1. 提醒:邮件
  2. 影响:邮件、报警群
  3. 严重:邮件、报警群、短信
  4. 死亡: 邮件、报警群、短信、电话
三、体检的指标是怎么来的?

确定好报警分类和报警渠道之后,下面就是本文的重点了,我们需要监控哪些指标呢?对啊,越是复杂的系统,越是复杂,特别是现在分布式架构、微服务、中台等等,系统被划分的越来越细,这也意味着我们需要监控的模块也越来越多。

在如此复杂的系统中,那系统如此之多的模块中,我们到底需要监控哪些指标呢?在回答这个问题之前,我们不妨问问自己,系统中哪一个模块挂掉,整个系统也会随之瘫痪掉,那这个模块就是整个系统的核心模块之一。

确定核心模块之后,我们可以接着细化该模块各项指标的重要程度,方法和上面相似,模块中哪些指标超标会导致该模块不可用,这些你指标,就是我们最终需要监控的指标。

整个过程就和人体体检相识,现在每年都会人定期去体检,那为什么体检的指标是这些呢?这些指标是怎么被定义出来的呢?这是一个很有意思的问题,大家也有兴趣可以想想。

四、教你拿着小手手给别人体检

将了这么多大道理,接下来我们来讨论一下常见系统监控指标有哪些?我们又该如何去正确的监控他们。

作为一个完整的系统,服务、数据库、网络这三项是必不可少的。

4.1 服务

服务是业务运行的载体,系统说白了,就是一堆程序运行的效果,这些运行起来的程序就是服务。那我们该监控服务的哪些指标呢?

知道了服务是什么之后,我们还需要知道服务是运行在哪里的?对!就是支撑服务运行的硬件是什么?这不难猜到,硬件就是我们经常说的服务器,你可以将服务器看成平时用的电脑,那肯定要有cpu、内存、io这些标准的硬件。

现在我们可以回答上面提到的问题了,服务的基础指标至少要有:cpu、内存、io。有了这些指标之后,我们就可以对这些指标设置报警机制了。我们可以取一个月期间这些指标运行的平均值,然后将设置平均值设置为报警的阈值,这样最简单的一个报警机制就完成了。后面我们如法炮制的根据上面个这些流程一一设置就ok了。

4.2 数据库

数据库有多么重要,这边博主就不多做介绍了,可以说如果没有数据库,那程序就是一个瞬时性的工具,没有实际的意义,那数据库和上面的说道的服务有什么区别呢?

其实本质上面数据库也算是一种服务,所以肯定也具备上面说道的cpu、io、内存这三个指标。除了这些指标之外,数据库还有它独有的一些指标。例如:qps、tps、临时表、连接数、活跃线程数、CRUD操作次数、读取数据量等,这些都是它的关键指标,哪一项出了严重的问题,都会导致数据库宕机。

4.3 网络

网络是什么,机智的童鞋们可能比我更清楚,没有网络意味着什么?意味着农药吃鸡玩不了了、再也不能愉快的刷小姐姐的视频了。那网络既然这么重要,我们该如何进行监控它呢?

网络和上面的两项不一样,它没有cpu、内存、io这些硬件指标,它的指标只要来源于网络本身、例如网络的内外网带宽、网络的连接数。当然如果你的网络是单独买的,那也要看看钱包是否充足。

五、总结

今天标题比较嗨,可能没看文章的童靴们还以为是讲学医的呢,但是细看其实还是有几分道理的。今天我们讲了:监控报警的重要性、报警类别划分、如何确定报警指标、常见系统报警指标有哪些。额这可能才是本文的真正标题。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、如果人没有皮肤会怎么样?
  • 二、身体每个部分都一样重要嘛?
    • 一般来说我们可以划分为三个水平:
      • 常见的的报警渠道有:
      • 三、体检的指标是怎么来的?
      • 四、教你拿着小手手给别人体检
        • 4.1 服务
          • 4.2 数据库
            • 4.3 网络
            • 五、总结
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档