乐趣区

无监控、不运维。运维系统架构设计附带思维导图

无监控、不运维
运维行业有句话:“无监控、不运维”。是的,一点也不夸张,监控俗称“第三只眼”。没了监控,什么基础运维,业务运维都是“瞎子”。**
开篇
所以说监控是运维这个职业的第一步。尤其是在现在 DevOps 这么火的时候,用监控数据给自己撑腰,这显得更加必要。有人说运维是背锅侠,那么,有了监控,有了充足的数据,一切以数据说话,运维还需要背锅吗,所以作为一个运维工程师,如何构建一套监控系统是你的第一件工作。
统一运维监控平台设计思路
运维监控平台不是简单的下载一个开源工具,然后搭建起来就行了,它需要根据监控的环境和特点进行各种整合和二次开发,以达到与自己的需求完全吻合的程度。** 那么下面就谈谈运维监控平台的设计思路。构建一个智能的运维监控平台,必须以运行监控和故障报警这两个方面为重点,将所有业务系统中所涉及的网络资源、硬件资源、软件资源、数据库资源等纳入统一的运维监控平台中,并通过消除管理软件的差别。数据采集手段的差别,对各种不同的数据来源实现统一管理、统一规范、统一处理、统一展现、统一用户登录、统一权限控制,最终实现运维规范化、自动化、智能化的大运维管理。
架构设计
智能的运维监控平台,设计架构从低到高可以分为 6 层,三大模块,如下图:

设计架构从低到高可以分为 6 层
数据收集层:位于最底层,主要收集网络数据、业务系统数据、数据库数据、操作系统数据等,然后将收集到的数据进行规范化并进行存储。数据展示层:位于第二层,是一个 Web 展示界面,主要是将数据收集层获取到的数据进行统一展示,展示的方式可以是曲线图、柱状图、饼状态等,通过将数据图形化,可以帮助运维人员了解一段时间内主机或网络的运行状态和运行趋势,并作为运维人员排查问题或解决问题的依据。数据提取层:位于第三层,主要是对从数据收集层获取到的数据进行规格化和过滤处理,提取需要的数据到监控报警模块,这个部分是监控和报警两个模块的衔接点。报警规则配置层:位于第四层,主要是根据第三层获取到的数据进行报警规则设置、报警阀值设置、报警联系人设置和报警方式设置等。报警事件生成层:位于第五层,主要是对报警事件进行实时记录,将报警结果存入数据库以备调用,并将报警结果形成分析报表,以统计一段时间内的故障率和故障发生趋势。用户展示管理层:** 位于最顶层,是一个 Web 展示界面,主要是将监控统计结果、报警故障结果进行统一展示,并实现多用户、多权限管理,实现统一用户和统一权限控制。
功能实现划分 3 大模块
在这 6 层中,从功能实现划分,又分为三个模块,分别是数据收集模块、数据提取模块和监控报警模块,每个模块完成的功能如下:
数据收集模块:此模块主要完成基础数据的收集与图形展示。数据收集的方式有很多种,可以通过 SNMP 实现,也可以通过代理模块实现,还可以通过自定义脚本实现。常用的数据收集工具有 Cacti、Ganglia 等。数据提取模块:此模板主要完成数据的筛选过滤和采集,将需要的数据从数据收集模块提取到监控报警模块中。可以通过数据收集模块提供的接口或自定义脚本实现数据的提取。监控报警模块:此模块主要完成监控脚本的设置、报警规则设置,报警阀值设置、报警联系人设置等,并将报警结果进行集中展现和历史记录。常见的监控报警工具有 Nagios、Centreon 等。
思维导图

退出移动版