基于 Zabbix 的监控系统解决方案

随着企业的成长,业务和应用不断增加,IT 系统规模日益庞大,带来高能耗、数据中心空间紧张、IT 系统总体拥有成本过高等问题;而现有服务器、存储系统等设备又没有充分被利用起来,资源极度浪费;IT基础架构对业务需求反映不够灵活,不能有效的调配系统资源适应业务需求。因此,越来越多的企业开始逐渐将业务从传统模式转化成云模式。对于企业IT人员来说,如何更好的发现问题和解决混合云内的系统问题,就成了首要考虑因素。

本文主要介绍如何选型适合混合云环境下的监控系统,既符合传统模式的监控要求,又满足云环境的弹性、按需分配的原则。

背景和原因

随着集团业务大战略的发展需要,不断在全球范围内收购与之相关的公司。为了对业务更好的支撑,集团IT信息化也在不断的扩张和改革。随着应用的不断增加,传统的监控模式已经不能很好的满足要求,满足针对云的监控。为了适应IT长期发展需要,需要尽快选择一款适应公司未来五年IT发展需要的监控软件,对现有传统环境和云环境进行监控。

项目范围

监控系统拓扑图

监控指标

从底层硬件到操作系统、中间件、应用软件、数据库、网络设备、用户行为等,均作为监控范围。

问题与挑战

监控系统作为系统管理员的眼睛是最先发现问题的途径,一个完整的监控系统可以大幅降低系统发生概率的几率,及时通知管理员处理。以下是IT管理工作人员所面临的传统行业IT常见的五种挑战。

用户体验的监控

针对应用提供的各项功能,从应用系统使用者的用户体验角度,监测应用提供的各项功能的系统响应,典型的为端到端响应监控。比如Web应用的响应时间、系统的反应速度、数据库连接数量等。

自定义监控

传统的监控系统,很多功能往往是设定的,管理员无法跟踪新的需求自己定义,导致很多指标无法被监控,增加了管理员的工作量,同时也无法保障系统的问题被及时发现与处理。

自动化处理

自动化方面,传统的监控系统几乎全军覆没。很多都是由厂商集成的现成功能,无法与现有的触发器形成自动化处理。

网络监控

随着私有云和公有云的对接,网络的监控变得尤为重要。目前的传统监控方式很难直接与公有云对接,对于监控云主机存在不少的问题。

日志监控

目前的传统监控系统在日志监控方面属于弱项,往往需要借助其它产品,形成双控制台,对于日志类型也有较为严格的规定,毕竟属于成型商业产品。

优势与必要性

适应传统IT系统的监控前提下,必须可以对混合云环境中的系统指标进行监控。最终采用开源的网络监控系统Zabbix作为整个环境的监控平台。主要是由于其具备以下好处:

1. All-In-One

Nagios和Cacti的功能全部涵盖,报警规则强大详细(Email/IM/SMS),画图也比较美观,可以与多种画图工具集成,如Grafana;

2. 开放API

开放API,支持多种接口调用,可以与现有的大数据平台直接对接,实现数据联动;

3. 数据采集

可用性和性能检测,自动发现,支持agent、snmp、JMX、telnet等多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据;

4. 图形化展示

允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性;

5. 安全审计

具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表;

6. 历史数据

历史数据查询可配置,内置数据清理机制,按照管理员预设,定期进行历史数据清理;

7. 自定义监控

可以针对特殊需求,进行自定义监控,如用户连接数、数据库连接数、Web的访问效率等;

8. 自动化

针对预定的警报触发响应的动作,可以在无管理员接入的情况下,自动进行系统修复与动作编排;

Zabbix已经在很多行业进行部署,开源市场占有率颇高,在各行各业都扮演着关键的因素。比如金融业、保险业和制造业等。

项目实施的预期应用效果

最终实现数百套应用的监控,从用户端到存储后端。关键指标被监控,当出现问题,管理员可以在第一时间得到告警通知,警报可以通过短信、邮件、微信三种方式发出给管理员,确保消息被及时有效的发送。

业务价值

以前的监控仅仅是为基础设施服务,监控基础设施是否有问题,是否发出警报,管理员是否处理等。而在当今业务驱动的时代,监控系统必须站在业务的角度去监控整个系统,提供有效的业务价值,比如:

分析应用的可用性数据体现应用系统的运行状态显示应用系统响应时间和加载速度新能信息列表显示应用系统最新告警信息企业IT系统价值

集团IT系统众多,体谅超过800。在开源与商业产品的选择中,满足实际功能是第一任务。之后就是要考虑其购买成本。Zabbix本身属于开源软件,不用考虑额外的license费用问题,无论IT系统数量多少,只需要按照比例对Zabbix服务器本身进行负载即可。

开源工具,不产生额外授权及使用费用支持多种传统IT设备以及其它流行数据平台的特殊监控要求,如大数据、车联网等自定义监控指标,充分发挥管理员的脚本能力,按需监控,满足企业不同IT系统的不同监控需求对现有IT系统的改动最小,对于某些系统指标而言,甚至无需安装客户端软件

运维人员价值

开源软件的运维对管理员的技能要求高,需要管理员数量掌握Linux操作系统知识,具备简单的脚本编写能力。但是其给管理员带来的益处远大于弊处。

可以批量处理监控对象,降低管理员重复工作量充分发挥自动化的优势,免去警报的手动关闭,同时提升系统的联动性简化配置操作,可以通过自动发现功能,自动发现并添加同网段甚至不同网段的主机多种触发机制叠加,避免误报。管理员可以将多种条件进行组合,符合最终条件的警报,作为触发条件。增加管理员与应用的粘度,相互配合完成特殊监控需求

面临的风险

监控系统对于整个IT系统而言不仅仅是看门狗,更是救命稻草。但是如果部署和配置不妥,反而会事倍功半。一般而言,这些风险可以分为以下四种,它们都有对应的风险控制措施。

业务风险

在整个项目进行的过程中,有些监控需要使用C/S结构进行部署,此时客户端软件可以对现有的业务系统产生影响,例如某些组件不兼容,如果升级,将将影响现有系统。如果冒然升级,可以造成业务的中断,甚至更糟糕的结果。

技术风险

开源软件虽然免费,但是也增加了问题发生后的处理难度。针对疑难问题,无法得到官方的支持,容易操作技术壁垒,使项目受阻。

运维风险

项目使得监控系统可以顺利监控各种IT系统的同时,也可以针对管理员的配置,对特定的警报进行指定的操作,例如,自动重启服务或者扩容硬盘。自动化程度越高,越要求管理员对编写的每个脚本进行自检,否则可能造成无法挽回的业务损失,甚至造成系统停止服务。

项目风险

对于经过批准的或者是已经在开发中的项目,其风险点通常落在项目是否能在预算内、按期、高质量地交付。

结束语

监控系统作为企业的核心系统之一,采集着全系统的各种指标。作为IT管理员的眼睛,将问题故障及时告知管理员,防患于未然。所以在系统选型、搭建的过程中一定要严格把控各种环节,产品功能和业务的匹配度要高度匹配,避免花钱达不到最终的监控效果。

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...