`
coolsunchen
  • 浏览: 61633 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

3分钟找到系统问题:立体化&自动化&可视化的监控

 
阅读更多
面向业务的立体化高可用架构设计
http://www.csdn.net/article/2015-10-27/2826042


立体化&自动化&可视化的监控

处理过线上问题的朋友可能都有这样的经历:客户投诉现在业务有问题,于是研发测试运维开始投入定位和分析问题,一场忙碌但又混乱的活动开始了。

A研发去查日志,但是线上机器好多,一台一台的看,1小时过去了;如果想把日志下载下来,一下几个G的文件,网速又慢,只能干等……

B研发同学觉得数据库可能有问题,但是自己又不能直接操作数据库,只能找DBA,但是DBA不在线啊,赶紧打电话,DBA说我正好休假呢……

C运维同学更头大,一边要应付研发和测试的各种问题,一边还要自己查机器CPU、内存、io、网络、程序状态,而且还那么多机器。

这样的做法肯定达不到“3分钟定位问题”的要求,怎么办呢?我们的运维大神给出了“立体化、自动化、可视化监控”的方向:在故障发生的时候,定位问题的所需要的各种信息都已经准备好了,不需要再到各种各样的系统中去执行各种各样的命令了;而且这些信息都必须是可视化的,能够一目了然的看出问题所在。具体实现如下:


1. 立体化

立体化就是将故障分析和定位时涉及的所有的相关信息都要监控起来,共分为5层,具体各层和含义如下:

业务层
收集和分析业务层的访问量、成功率等指标。例如当系统被刷的时候,业务层能够一目了然的看出访问量会增加很多

应用服务层
应用服务层指的是以URI为维度的分析,可以看到某个URI的访问量、HTTP响应码分布、HTTP响应时间等指标。应用服务层与业务层并不是一 一对应的关系,一个业务可能对应多个应用服务层的URI,一个URI也可能对应多个业务层的业务。

接口调用层
接口调用层指的是系统依赖的外部系统接口,收集的信息包括访问情况,包括时延、错误码、次数等,当外部系统故障导致我们的业务故障时,通过接口调用层就能够快速的定位具体问题。

基础组件层
基础组件层指系统依赖的底层组件,例如容器、数据库、缓存、消息队列。不同的组件收集的信息不一样,例如数据库MySQL的监控指标包括连接数、请求数、查询行数、更新行数等,而缓存memcached包括使用率、踢出率、命中率等。

基础设施层
基础设施层指操作系统状态、网络状态,收集的信息包括cpu使用率、内存使用率、网卡流量、连接数等。
2. 自动化

自动化的含义就是不要再由人工去分析日志或者执行命令了,而是由程序自动完成这些动作。当故障定位的时候需要这些信息时,可以立即看到,节省故障定位时间。为此我们开发了一套数据收集和分析系统,这套系统可以从其它各个系统(包括业务系统、运维系统等)获取并分析数据,例如日志数据、状态数据等。

数据自动化收集和分析系统的结构如下:



其中Logstash用于采集日志,redis用于缓存日志,elasticsearch用于存储和分析日志。
3. 可视化

可视化的含义就是故障定位所需要的信息能够通过图表和数字直观的展示出来。有了自动化的收集和分析作为基础,可视化只需要将数据做成图表展示即可。除此以外,同比、环比这类数据也可以通过系统直观的展示出来,方便快速判断问题所在。


七、总结

我们来回顾一下整个这套架构方案是如何实现我们最初的目标的:

3分钟定位问题
通过运维已有的拨测脚本,加上立体化&自动化&可视化的监控,绝大部分故障能够在3分钟内发现并定位初步的原因。例如是因为访问量暴涨,还是数据库变慢了,还是网络被SYN FLOOD攻击了。

5分钟恢复业务
如果是某台机器或者某几台机器故障,我们可以将故障机器下线;

某个接口或者某些业务故障,如果不是核心业务,我们可以采用功能降级快速处理;

如果是大面积的业务故障,甚至是核心功能也故障了,我们可以通过将故障机房的业务切换到其它机房;

如果是所有的机房核心业务都出故障了,那就只能具体问题具体处理了,例如如果是新版本引起的,首先立刻回滚版本;如果是被攻击了,需要采用防攻击手段等。

平均最多2个月发生一次故障
通过核心功能和非核心功能分离,能够尽最大可能的保护核心功能的可靠性。当然除了这个措施外,我们还有其它更多常规的保证措施,例如项目流程上的部署评审,自动化测试,灰度发布,tcpcopy环境预发布、MySQL高可用、Memcached高可用等措施。
分享到:
评论

相关推荐

    可视化矿山的发展现状及关键技术

    通过总结目前可视化矿山的国内外发展现状,分析了可视化矿山建设存在的若干问题,结合模拟仿真、多场智能监测监控、大数据处理、物联网与互联网+ 等先进技术手段,提出了可视化矿山的建设应包括数据可视化、模型可视...

    智慧化工园区解决方案.pptx

    智慧消防:消防全域可视化监控、预测处理更及时,让园区更安心 消防可视化监管:日常执法、管理智能化、自动化 消防大数据:全量汇聚、深度挖掘、构建火灾精准防控机制 智慧物流:危化品车辆全流程的数字登记、智能...

    国内外主流的三维GIS软件

     应用:全国海岛海岸带三维可视化信息系统、中石油海外应急系统、中国石油中长期油气管网建设预测分析、宁波镇海环保三维影像浏览系统、遨游天府--四川省地理空间三维管理系统。  七重唱·武大吉奥信息技术有限...

    智能化培训资料.pptx

    小区智能化的组成 小区智能化的主要组成:可视对讲系统、闭路监控及周界防范系统、紧急招援报警系统、电子巡更系统、背景音乐系统、电子公告栏系统、停车等。 2023/6/4 5 智能化培训资料全文共44页,当前为第5页。 ...

    智能仓储管理系统WMSFOR机器人.docx

    行业面临的问题 行业大多属于自动化程度高,多品种小批量生产模式,具有库存零部件繁多、制造过程复杂、涉及的生产单元众多等特点,相应的物流仓储系统也具有库存大、周转慢、配套困难、物流路径复杂等特征,同时...

    基于S7-300的矿区车库控制系统研究与设计

    介绍了矿区自动化车库中升降横移式立体车库的结构及工作原理,重点阐述了基于PLC控制系统的控制方案、控制算法及监控部分设计。通过S7-300PLC硬件的可靠性、程序的优化设计及人机界面的可视化特点,实现矿区自动化车库...

    智能工厂建设的主要模式.docx

    与其他单位共同研发了智能上下料机械手、基于DNC系统的车间设备智能监控网络、智能化立体仓库与AGV运输软硬件系统、基于RFID设备及无线传感网络的物料和资源跟踪定位系统、高级计划排程系统(APS)、制造执行系统...

    RFID智能仓储方案规划.doc

    先进的基础设施和自动化功能是实现仓储现代化的基础,比如高平台的立体仓库、可 存放不同种类货物的货架、有效的作业平台、可进行RFID扫码的叉车、自动化货物传送 装制、温控装制、喷淋装制、监控装制等;...

    pads9.0电子设计软件

    PADS 9.0版产品的出现标志着下一代PADS流程技术的诞生。与以往的旧产品相比, PADS 9.0修复和改善了之前版本软件的不足和缺点,集成了许多全新的功能,拥有了更高的可扩展性和集成... 可导入机械模型的3D可视化功能

    delphi 开发经验技巧宝典源码

    0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定...

    delphi 开发经验技巧宝典源码06

    0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定...

Global site tag (gtag.js) - Google Analytics