基于Zabbix的高速公路机电运维系统研究与设计
扫描二维码
随时随地手机看文章
引言
广西高速公路系统通常由收费系统、视频监控系统、通信系统、供配电系统、照明系统五部分组成[1]。体系庞大、设备类型多、数量大、分布广是高速公路机电系统运维工作的难点。例如,河百高速公路的视频监控子系统的服务器主机超过30台,全线摄像头有1000多个,交换机等网络设备超过20台,分布在全线超过170km的各个收费站。各路段普遍采用业务员反馈和维护员巡检的方式维护设备,运维人员的业务水平参差不齐,普遍存在发现不及时、排查难、解决慢、统计难等问题。特别是针对服务器以及网络设备的监控运维能力较弱,发生故障时通常由运维人员向设备厂商反馈或者在设备厂商的远程指导下进行处理。因此,引入一套高效可靠的机电运维系统,实时监控服务器、网络设备、应用程序等的运行状态,提供便捷、及时的通知机制,让运维人员快速定位并解决故障就显得尤为重要。
1Zabbix简介
Zabbix是一个企业级的分布式开源监控系统解决方案,用来监控IT基础设施的可用性和性能,能够监控各种网络设备、存储以及服务器系统应用的运行参数,具有健全、灵活的监控数据采集、存储以及告警配置,广泛应用于互联网行业。与其他监控系统相比,Zabbix有更加详细的开发文档和中文支持文档,能监控几乎所有类型的设备,并实现与其他运维管理系统的完美对接。Zabbix提供对外开放接口,支持自定义告警,方便及时有效地发布通知,对于构建分布式监控系统具有重要作用。基于Zabbix与邮箱短信系统结合,可以建设一套能够及时告警、快速定位、减轻运维人员繁重工作量的运维系统。
2系统设计
2.1系统结构设计
Zabbix分布式架构分为CPs(client/proxy/server)和CNs(client/node/server)两种。CPs架构是单级分布式架构,proxy相当于一个数据收集器,没有其他任何功能,它不会处理数据,不会触发告警。CNs是多级分布式架构,node相当于一个完整的Zabbixserver,需要收集和处理数据、报警、存储数据,node中所有的数据都会同步到Zabbixserver。Zabbix提供了非常便捷的从server切换到node的方法。根据目前广西高速公路现状以及视频联网的发展趋势,未来机电运维系统可能存在的3个阶段:(1)各个路段独立管理机电系统:(2)各个运营公司整合其管辖下所有路段的机电系统进行统一管理:(3)省公司整合所有路段的机电系统进行统一管理。选择CNs架构,能够在不破坏上个阶段的运维系统运行的基础上,快速切换到下一阶段。基于Zabbix的高速公路机电运维系统架构如图1所示。
2.2设备故障监控模块
设备故障监控内容包括服务器的CPU、内存、磁盘等硬件参数,网络设备的端口状态和流量,UPs电源的状态,摄像机的网络状况等,是整个监控运维系统的核心。其中,服务器采用agent的方式采集数据,安装agent的方式非常简单:网络设备、UPs电源设备不支持安装agent,采用sNMP的方式采集数据:摄像机等前端设备有专门的平台进行管理,在运维系统中主要考量网络连通性,采用ping的方式监测。Zabbix对设备故障已经有较为完善可靠的支持,可采用其提供的模板配置进行监控。
2.3应用程序故障监控模块
除了设备会发生故障,应用程序在运行过程中也会遇到执行错误的情况,因此必须有相关的错误监控机制。传统的方式是将错误记录在日志中,待用户或运维人员发现问题后,通过日志去定位错误。通过二次开发,设计应用程序故障监控模块可以实时监控应用程序运行状态,提供应用程序错误上报接口,对应用程序的错误进行识别并执行相应的告警策略。与传统方式相比,应用程序故障监控模块能更及时、有效地发现应用程序的错误。
2.4告警模块
Zabbix提供了丰富的告警策略定义,系统需要根据路段的监控定制有效的告警策略。同时,Zabbix支持多种渠道通知运维人员,包括短信、邮箱、微信、电话等,但因为高速公路运营的敏感性,通常采用局域网邮箱通知的方式。基于Zabbix的脚本支持,可以根据不同场景设计告警触发后的自动化操作,这些操作可以是获取运维人员需要的信息,也可以是自动修复,比如重启服务,使系统恢复更加及时。
2.5数据可视化模块
Zabbix不仅能够监控大量不同类型的数据指标,还为这些数据及数据之间的关联提供了多种可视化工具,通过图形、展示屏、网络拓扑图等将数据直观展现出来。运维人员可以通过登录前端web界面,浏览和查看监控设备的实时或者历史状态。若其他展示平台要引用Zabbix的监控数据,只需通过Zabbix提供的AP1接口,就可以方便获取Zabbix的监控数据甚至图表,有助于信息一体化平台的实现。
2.6可靠性设计
Zabbix的性能瓶颈主要在数据库,机器数量越大,数据量的增大会使数据的读写成为发展瓶颈。实际上,高速公路单路段的服务器设备数量不会超过200台,而其他设备的监控项少,数据量更是远不及服务器的监控数据量。按照Zabbix官网提供的数据,单台server节点可以充分满足路段级的监控需求。因此,基于成本的考虑,路段级的Zabbixserver不进行冗余备份设计,但是实现联网后,路段级的节点数据会与分公司/省中心级的server节点同步。可靠性设计主要针对中心级的server节点。中心级的server采用集群方式部署,同时将数据库从server中独立出来,采用主备机方式部署,主备数据库之间进行实时同步。当出现数据库故障时,快速切换到备用数据库。
3结语
基于Zabbix的监控框架,可设计出一套满足高速公路机电设备运维需求的高可靠分布式系统:通过Zabbix的模板配置,对设备的故障状态进行监控:通过自定义配置项的配置,对应用程序的运行状态进行监控:通过定制有效的告警策略,结合内部邮箱系统,及时有效地通知运维人员,由此实现高速公路机电设备的监控数据采集、告警、自动恢复、数据展示,帮助运维人员快速定位故障并解决问题,保证应用程序的稳定运行。