论文部分内容阅读
随着软件技术的发展,软件系统在提供越来越多易用功能的同时,自身构造也在逐步变得复杂。尤其是现阶段许多软件系统中均引入了部分云服务模块,进一步增加了其复杂度。在这样的背景下,运维人员无法依靠人工去排查软件系统运行态是否正常,而市面上常见的开源监测告警系统擅长的应用场景单一,无法高效应对复杂系统的监测告警应用场景。论文设计并实现了一个面向中小企业电商平台的监测告警系统,具有轻量化、可迁移、易扩展等特点,同时能够胜任复杂监测对象的数据采集和复杂监测数据的汇聚计算。该监测告警系统能够实时监测被监测系统的运行健康状态及性能指标,并在指标出现异常时立即通知运维人员,以便运维人员能够及时进行故障恢复等操作。论文的主要研究内容如下:(1)文章给出了一种基于开源工具Zabbix的监测告警系统的设计方案。方案中引入时序数据库Prometheus及开源可视化平台Grafana,以增强数据计算能力和展示能力;设计了接入模块以弥补开源工具在监测对象管理能力上的不足;针对电商平台设计了关键监测项、告警规则及关键数据采集方式;基于Zabbix的告警通知扩展能力,设计了告警通知模块以实现告警与第三方系统的同步。(2)该方案增强了开源工具不完善的监测对象接入能力,使得监测告警系统能够自动发现新增的监测对象,并向其推送必须的采集客户端和脚本,并在监测对象消亡时将其从监测告警系统下线。同时,该方案实现了针对电商平台的典型监测数据采集和告警,能够从自研服务、应用节点、基础设施和云服务等多个维度对被监测系统的可用性和性能进行监测和告警。此外,该方案还扩展了告警通知能力,支持短信、邮件、电话、同步工单系统等多种告警通知方式。(3)为保障论文设计的监测告警系统运行的可靠性,论文还提出并实现了一种可靠性组网部署结构,其中Zabbix采用主备方式,Prometheus采用双主机方式,以达到当一个核心节点出现异常时,监测告警系统仍能正确对外提供服务的目的。(4)文章对论文设计的监测告警系统的功能、性能及可靠性均进行了测试,并给出了详尽的运行数据。测试结果表明该方案能够很好地满足项目应用需求。