云按照使用范围分为公有云、私有云和混合云。目前来说,在很长一段时间内,企业将历经混合云时代,对于企业IT人员来说,如何更好的发现问题和解决混合云内的系统问题,就成了首要考虑因素。
本文主要介绍如何选型适合混合云环境下的监控系统,既符合传统模式的监控要求,又满足云环境的弹性、按需分配的原则。介绍选型的标准、依据及相关风险管理。
具体的软件实施,不再本文做详细说明。有需要的朋友,可以参考本文结尾的“参考资料”。
一、背景和原因
随着集团业务大战略的发展需要,不断在全球范围内收购与之相关的公司。为了对业务更好的支撑,集团IT信息化也在不断的扩张和改革。
随着应用的不断增加,传统的监控模式已经不能很好的满足要求,满足针对云的监控。为了适应IT长期发展需要,需要尽快选择一款适应公司未来五年IT发展需要的监控软件,对现有传统环境和云环境进行监控。
公司隶属制造业,属于传统的制造企业,IT架构也是按照传统架构设计。随着IT业务发展,引入了私有云及公有云业务。不同的应用按照其特性,分布在不同的IT环境中。
现有的监控软件只能满足传统IT需求,无法更好的支撑云环境下的自定义及自动化监控。本项目主要对以下环境的系统进行监控:
图1:监控系统拓扑
图2 监控指标
从底层硬件到操作系统、中间件、应用软件、数据库、网络设备、用户行为等,均作为监控范围。
监控系统作为系统管理员的眼睛是最先发现问题的途径,一个完整的监控系统可以大幅降低系统发生概率的几率,及时通知管理员处理。
以下是IT管理工作人员所面临的传统行业IT常见的五种挑战:
1)用户体验的监控
针对应用提供的各项功能,从应用系统使用者的用户体验角度,监测应用提供的各项功能的系统响应,典型的为端到端响应监控。比如Web应用的响应时间、系统的反应速度、数据库连接数量等。
2)自定义监控
传统的监控系统,很多功能往往是设定的,管理员无法跟踪新的需求自己定义,导致很多指标无法被监控,增加了管理员的工作量,同时也无法保障系统的问题被及时发现与处理。
3)自动化处理
自动化方面,传统的监控系统几乎全军覆没。很多都是由厂商集成的现成功能,无法与现有的触发器形成自动化处理。
4)网络监控
随着私有云和公有云的对接,网络的监控变得尤为重要。目前的传统监控方式很难直接与公有云对接,对于监控云主机存在不少的问题。
5)日志监控
目前的传统监控系统在日志监控方面属于弱项,往往需要借助其它产品,形成双控制台,对于日志类型也有较为严格的规定,毕竟属于成型商业产品。
6)优势与必要性
本次项目目标要求重新选型监控系统,使之适应传统IT系统的监控前提下,必须可以对混合云环境中的系统指标进行监控。本次项目最终采用开源的网络监控系统Zabbix作为整个环境的监控平台。主要是由于其具备以下好处:
All-In-One
Nagios和Cacti的功能全部涵盖,报警规则强大详细(Email/IM/SMS),画图也比较美观,可以与多种画图工具集成,如Grafana;
开放API
开放API,支持多种接口调用,可以与现有的大数据平台直接对接,实现数据联动;
数据采集
可用性和性能检测,自动发现,支持agent、snmp、JMX、telnet等多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据;
图形化展示
允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性;
安全审计
具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表;
历史数据
历史数据查询可配置,内置数据清理机制,按照管理员预设,定期进行历史数据清理;
自定义监控
可以针对特殊需求,进行自定义监控,如用户连接数、数据库连接数、Web的访问效率等;
自动化
针对预定的警报触发响应的动作,可以在无管理员接入的情况下,自动进行系统修复与动作编排;Zabbix已经在很多行业进行部署,开源市场占有率颇高,在各行各业都扮演着关键的因素。比如金融业、保险业和制造业等。
二、项目实施的预期应用效果
通过此次项目实施,最终实现集团数百套应用的监控,从用户端到存储后端。关键指标被监控,当出现问题,管理员可以在第一时间得到告警通知,警报可以通过短信、邮件、微信三种方式发出给管理员,确保消息被及时有效的发送。
以前的监控仅仅是为基础设施服务,监控基础设施是否有问题,是否发出警报,管理员是否处理等。
而在当今业务驱动的时代,监控系统必须站在业务的角度去监控整个系统,提供有效的业务价值,比如:
分析应用的可用性数据;
体现应用系统的运行状态;
显示应用系统响应时间和加载速度新能信息;
列表显示应用系统最新告警信息。
集团IT系统众多,体量超过800。在开源与商业产品的选择中,满足实际功能是第一任务。之后就是要考虑其购买成本。Zabbix本身属于开源软件,不用考虑额外的license费用问题,无论IT系统数量多少,只需要按照比例对Zabbix服务器本身进行负载即可。
开源工具,不产生额外授权及使用费用;
支持多种传统IT设备以及其它流行数据平台的特殊监控要求,如大数据、车联网等;
自定义监控指标,充分发挥管理员的脚本能力,按需监控,满足企业不同IT系统的不同监控需求;
对现有IT系统的改动最小,对于某些系统指标而言,甚至无需安装客户端软件。
开源软件的运维对管理员的技能要求高,需要管理员数量掌握Linux操作系统知识,具备简单的脚本编写能力。但是其给管理员带来的益处远大于弊处:
可以批量处理监控对象,降低管理员重复工作量。
充分发挥自动化的优势,免去警报的手动关闭,同时提升系统的联动性。
简化配置操作,可以通过自动发现功能,自动发现并添加同网段甚至不同网段的主机。
多种触发机制叠加,避免误报。管理员可以将多种条件进行组合,符合最终条件的警报,作为触发条件。
增加管理员与应用的粘度,相互配合完成特殊监控需求。
三、风险管理
尽管如此,还是有必要对项目中可能发生的风险进行梳理。不过,在开始对风险评估之前,IT部门首先需要了解为什么会提出这样的问题以及有哪些风险需要进行评估。其中尤为重要的是,每一个人都要明白,IT面临的风险最终都会波及到企业的正常经营。
监控系统对于整个IT系统而言不仅仅是看门狗,更是救命稻草。但是如果部署和配置不妥,反而会事倍功半。一般而言,这些风险可以分为以下四种,它们都有对应的风险控制措施。
1)业务风险
在整个项目进行的过程中,有些监控需要使用C/S结构进行部署,此时客户端软件可以对现有的业务系统产生影响,例如某些组件不兼容,如果升级,将将影响现有系统。如果冒然升级,可以造成业务的中断,甚至更糟糕的结果。
2)技术风险
开源软件虽然免费,但是也增加了问题发生后的处理难度。针对疑难问题,无法得到官方的支持,容易操作技术壁垒,使项目受阻。
3)运维风险
项目使得监控系统可以顺利监控各种IT系统的同时,也可以针对管理员的配置,对特定的警报进行指定的操作,例如,自动重启服务或者扩容硬盘。自动化程度越高,越要求管理员对编写的每个脚本进行自检,否则可能造成无法挽回的业务损失,甚至造成系统停止服务。
4)项目风险
对于经过批准的或者是已经在开发中的项目,其风险点通常落在项目是否能在预算内、按期、高质量地交付。
针对可能的风险,在项目的初始阶段可以定义出风险的级别,便于分析和启动应对措施,避免风险的发生,将问题尽快解决。本项目采用1-3级的方式,对风险进行划分:
高风险:影响业务正常访问,造成严重系统异常;
中风险:造成严重系统异常,不影响业务使用;
低风险:未造成业务中断,造成轻微系统异常。
四、预算评估
集团IT系统粗略估算有800多套,立项之初,费用为100万,考虑到项目的进度与跨年预算,建议分成两期执行,每期预算50万。不同的企业可以根据自身的设备类型和系统数量进行增减,按照常规软件选型来看,一般都在150万到200万之间。
整体成本一共分为三部分,开发费用、外包费用和软件实施费用。由于开源软件安装较为灵活,但是现有功能及界面不能满足企业的定制要求,所以需要额外的费用进行开发定制,以适应企业需要。
整个监控系统分为软件和硬件两个部分。以下为具体的设备信息(仅供参考):
整体采用开源产品搭建,免去了license费用的成本,比购买商业产品成本低于行业标准。
五、时机选择
监控系统的整体变更与选择往往是随着企业整体IT系统的变化而变化。IT技术的发展,推动业务的需求增加,新技术的应用,催动行业标准变更。云计算、大数据、AI的兴起,挑战了传统监控系统的功能和架构,所以这个时候往往也是IT管理员要考虑监控变更的时候了。
在做监控系统取舍时机选择的时候,建议参考以下几点:
现有监控系统无法满足业务的30%以上需求;
现有监控系统与新业务的兼容性出现严重问题;
新兴技术的普及与业务发展战略的调整;
现有监控系统周期性问题,比如license、费用等问题的变化。
目前Zabbix监控系统已经作为流行的开源软件在各行各业的企业内大范围部署。因为其软件开源、成本低、开发简单、兼容大环境等优势,被IT人员青睐。
基于如上策略原则和目前开源市场的占有率,项目启动的时机有以下建议:
根据业务系统和IT系统的需求周期而定,考虑全局策略;
根据现有系统的承载能力和扩展情况而定,考虑系统负荷性;
根据公司预算要求,考虑整体项目的预算需求;
制定未来五年的监控计划,考虑项目组成和延续性。
六、关键技术路线选型
目前市场上的监控系统很多,监控类型丰富,各具特性。作为IT管理员在对监控系统的选型上就要结合企业的实际需求去匹配,挑选符合要求的系统进行实施。
以下将列出业内比较流行的几款监控系统,它们各具特性、各有特长:
本项目因为费用和具体的业务需求,需要符合以下指标:
具备开放的API接口,便于后期大数据系统的数据采集;
监控内容丰富,从硬件、OS、数据库、应用到业务层;
支持自定义开发,比如报表、界面等;
支持脚本的自定义,满足不同场景需求;
客户端接入和监控采集无技术限制,避免特殊问题发生;
具有一定市场占有率,产品成熟。
不同的监控系统具备不同的使用场景,各有所长,也各有劣势。在进行技术选型时,应该根据业务的不同需求进行匹配,而不是仅仅看产品的占有率和功能性,最适合的才是最好的。
在本项目中,我们对以下三种产品进行了比对,最终选择开源的Zabbix作为企业级的监控系统:
各种产品的诞生都有其存在和扩展的原因,由于技术的普及与推广,越来越多的监控系统被IT人员发现和使用。每个产品都有其不可代替的优势和无法躲避的劣势。
企业在进行产品选型时建议根据以下几点进行,避免业务与技术出现壁垒:
企业中整体IT系统的定位,主要看其是否趋于传统还是互联网;
整体项目的人力投入和预算评估;
后期运营成本的考虑;
定制化内容的占比
自身及厂商技术实力的对比与产品的研发力度。
七、结束语
监控系统作为企业的核心系统之一,采集着全系统的各种指标。作为IT管理员的眼睛,将问题故障及时告知管理员,防患于未然。
所以在系统选型、搭建的过程中一定要严格把控各种环节,产品功能和业务的匹配度要高度匹配,避免花钱达不到最终的监控效果。
更多的Zabbix功能介绍,请访问其官方地址:
https://www.zabbix.com/
更多的MySQL功能介绍,请访问其官方地址:
https://www.mysql.com/
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721