1、监控的重要性
听闻前辈所说,在监控不发达的时代,出行基本靠走,安全基本靠狗,那个时候没有自动化监控的概念,都是人工盯着机器,进行轮班;每天上班第一件事情就是去巡视一下,看看各项软件打印的信息是否有异常,顺便拿Execl记录一下。
现在如今的企业中,运维就要负责成百上千台的机器,传统的方式依然不行,没有高大上的方法是支持不起这种规模的监控,服务器随时随地可能出库长,需要通过监控来让机器来管理监控机器;不管是虚拟机还是物理机等等,当然有时候先上服务的运行,网络设备,业务状况以及用户体验也需要监控。
监控在企业中扮演着重要的监督角色是我们的眼睛,任何一个地方出现问题我们都需要及时知道确认情况,很多情况下我们对某些类型的监控需要非常敏感,例如用户地区是否正常访问等,一旦出现了问题,我们就需要通过监控确认问题,甚至通过监控触发后续操作来解决问题,减少损失。
监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题,所以监控的重要性就不言而喻了。
2、监控对于运维的比重
基础运维主要扮演处理日常任务,及时救火这样的角色,而监控的构建以及数据采集工作,很多时候都需要多方的协助;不管是基础运维还是高级运维亦或者运维架构师,在紧急的时候人人都要扮演救火英雄的角色,而救火为了更加精确及时发现问题,一套好的完善的监控系统就很自然的作为运维工作中的第一优先级任务。
3、监控组成部分
监控组成部分首先就需要确定数据源,数据不是凭空而来的,只能是通过运维采集而来;数据采集本身是一门学问,比如有针对系统的常规统计,还有针对业务的用户分析流量分析,同时还有安全策略,CC安全等等。
一般常见的数据源流程如下:
服务器/网络设配/用户数据 ---> 产生行为和状态 ---> 数据采集 ---> 监控系统
除了数据源监控系统的组成,监控系统一般包含:数据存储,查询分析,事件触发(报警),数据展示
数据存储:存储采集工具采集而来的数据,一般存储形式多为关系型数据库存储,以及时序行存储;通常一般数据存储根据采集量定相关的容量指标;
查询分析:有了数据我们就需要对数据进行分析,会对数据做多维聚合等,后续再介绍监控系统时在详细说明;
事件出发:一般事件出发主要使用在两方面一个是报警(发送邮件,语音网关,钉钉等);而另外一种则是根据现有系统规则,叫时间提交给机器人做出修复工作;比如我们发现流量高峰MySQL连接池不够使用,通过机器人迅速给MySQL扩容当前合适的配置;
数据展示:通过图表,对数据进行图形化展示,有利于发现问题。
小结
监控对于企业对于运维都是有很深的意义,本文是非常简单介绍了运维监控,后续在下一篇中我们将介绍下运维监控系统的设计。