郭晓云
作者郭晓云·2020-09-14 18:47
系统运维工程师·兴业证券

# 监控体系建设的三个阶段概括-第一部分

字数 2255阅读 965评论 0赞 0

监控体系建设的三个阶段概括-第一部分

1.监控建设

这是监控体系建设最基础也是最重要的部分,后续体系化、智能化部分都依赖于这个阶段的建设。在这个阶段中,我们需要挑选合适的监控工具,明确我们的监控目标,做好告警配置,提供数据展示。当这些完成之后,我们就有了一个最基础的监控平台,大多数小公司做到这一步就已经完成了监控的建设,但是这只是开始。

1.1 监控工具

,监控工具是实现监控功能和监控效果最基础的组件,如同高楼大厦的地基一般,监控工具的完善程度直接决定了整套监控体系的运转,那么如何挑选监控工具?如何使用监控工具?如何发挥监控功能应有的作用呢?

在选择基础监控工具的时,必须要先明白基础监控工具的使用范围。一般来讲,会将IDC内部的基础设施的监控归属到基础监控工具里面,常见的有zabbix、prometheus、Open-Falcon(Nightingale)等较为流行的开源监控工具,还有很多商业化软件,就不一一介绍了。

在选择监控工具时,需要了解监控系统所要部署的网络环境、运维架构、运维规模等内容,也每个监控工具的数据采集、存储、计算的方式和特点,从而挑选最合适的基础监控工具。

监控工具选型完成之后进行建设,主要考虑以下几点

  • 性能保障:大型IDC的监控数据日增超过50G,如何保障数据的高速读写、快速计算、及时告警等事项是最重要的,较为热门的zabbix和prometheus都有成熟的性能保障解决方案。需要注意的是,前期的数据量可能较小,随着时间的增加监控规模越来越大,在建设初期尽可能的关联到后续的发展需要,避免后期踩坑。
  • 高可用:要求在任意组件出现问题时,均能快速恢复监控系统的可用性,无论是集群方案还是keepalived,均要做好充分测试,避免出现短时间不可恢复的故障时监控系统不可用;
  • 快速迭代:要求监控系统的扩大化部署和在需要进行更新时能够迅速完成,减少部署难度、提高自动化水平,可借助ansible等自动化运维工具完成。

1.2 监控指标

在监控建设过程中,监控指标的设立是非常重要的,它会告诉我们哪些组件应该监控哪些指标,相当于监控部署说明书。现在的IDC内部组件非常多,一些互联网公司的技术栈甚至超过上百种,那么每一类的监控指标如何确立呢,建议采用分层的方法进行确立。

第一层-基础设施:包含网络设备(交换机、路由器、防火墙、负载均衡、专线、CDN等等)、物理服务器、虚拟服务器等设备。

第二层-服务软件:包含java中间件(Tomcat、Jboss、weblogic等)、消息中间件(kafka、MQ等)、数据库(Mysql、Oracle、PG、ES等等)、运维服务(ansible、pupeet、DNS、NTP等)等等。

第三层-应用服务:包含应用日志、接口调用(黄金指标:请求数量、成功比率、响应时间、性能容量标)及其他一些异常事件。

第四层-业务场景:包含会员验证、文件传输、账务数据、订单数据、交易数据、异常巡检等业务数据的监控。

第五层-用户场景:崩溃、卡顿、网络错误、网络性能、交互分析、ANR等内容。

通过对监控进行分层,再对每一层的每个组件进行解刨,从而获取完整的监控指标列表,指标的数量根据实际情况进行筛选,在保障监控系统容量的情况下,宜多不宜少,更多的监控指标会在产线发生故障的时候提供参考。

1.3 告警标准

指标设定完成之后,那么重点指标需要进行告警配置,通常我们会将告警分为几个等级,不同的阈值对应不同的告警等级,从而经由不同的告警通道投递给不同的人员。在设立告警的时候,我们要注意以下几点:

等级区分:不同的告警级别之前的设立依据是要有区分的,比如严重告警等级的设立是为了标识产线已经出现异常,让负责人员快速响应,而警告告警等级的设立则是为了标识产线的一个基础事件,只是通知负责人注意处理,避免产生异常。通过告警等级的区分,标识出不同事件的严重性。

告警通道:建议不同等级的监控告警采用不同的告警通道,此举是在节约成本的前提下,尽可能的提高处理效率,例如警告告警,只需要通过微信或者钉钉通知、一般严重告警则需要短信通知、严重告警则需要电话外呼。

告警负责人:建议不同等级的监控告警通知的人员也有所区分,此举依旧是促进提升监控告警的恢复效率,例如警告告警,只需要通知给值班人员或者一线责任人,一般严重告警除了上述人员外还需要通知给二线责任人,严重告警则需要通知到相关的领导人员。

1.4 数据展示

在监控系统建设、指标确认、告警标准都完成之后,那么就要考虑对采集到的数据进行展示了,方便系统管理员和相关人员查看数据,一般来讲,我们需要做到以下的数据展示:

采样数据:采样数据是指监控系统根据指标设定所采集到的数据,对此类数据展示以图形为主,基本都会绘制为时序折线图,方便查看数据的变化趋势,我们所要注意的是,单个指标的数据查询及指标切换是较为麻烦的,开源软件Grafana很好的帮我们解决了这个问题,可以绘制数据大盘,集中化展示我们所关注的数据。

历史数据:历史数据一般为采样数据的降准表现(纯粹的保存实时采样数据对数据存储成本依赖较大),例如将分钟级的数据降准为小时级的数据。历史数据的展示可以帮助系统负责人分析数据走势、管理系统容量、产线故障review等,

告警大盘:告警大盘为监控告警集中化展示的地方,告警所展示的内容应当全面,最少需要展示which(哪个组件产生了告警)、when(什么时间产生了告警)、what(产生了什么告警),当然这些内容是最基本的,在后续会更深入的介绍高级别的告警大盘。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广