铁路视频监控专业化运维平台设计与实现
来源:用户上传
作者:杨栩
摘 要:本文分析了既有铁路视频网管系统无法满足云系统、云存储运维监控要求的现状,通过云计算、微服务、zabbix自动化运维平台等新技术的运用,提出了全新的整体解决方案,对综合视频云系统中的基础设施和主要应用服务进行全方位运维监控。该平台已在京张高铁上运营实施并收到了良好效果。
关键词:云平台 云存储 微服务 自动化运维
1 既有铁路综合视频网管系统现状分析
随着铁路综合视频监控系统逐步向云平台升级,用户对云平台的运维监控需求愈发强烈,然而现有的铁路综合视频网管运维系统已经无法承载集群化的软硬件设施监控业务,无法对云系统的整体运行状况和集群内部的微服务运行状态进行监控。此外,传统的网管系统缺乏故障定位根因分析、故障自愈、存储容量预测、故障闭环处理等功能;不仅如此,传统的网管系统过多依赖于snmp协议[1]作为监控数据采集接口,导致监控各种型号的硬件设施都需做大量的适配工作,这些问题都极大地增加了运维成本。因此,如何设计构建智能化、高可用的铁路综合视频专业运维平台是本文的主要研究内容。
2 专业化视频运维平台总体设计
2.1 总体框架
本系统采用从底层运行支撑到上层业务运行的全栈集中监控设计理念,对基础设备设施、应用服务、传输网络、数据库、中间件全覆盖监控。系统将收集到的监控数据,依据告警规则阈值判定产生故障告警消息,并对告警消息进行根因分析甄别出故障的根本原因,将经过筛选后的故障告警消息推送给铁路电务通信运维人员。运维人员将处理后结果记录到系统中形成问题档案库以备将来遇到同类问题时方便查阅。
2.2 高可用方案
(1)基础架构为LAMP环境,采用keepalived实现zabbix服务器高可用,保证主server的mysql或者httpd宕掉后能切换到从server。(2)数据库做主同步,保证两边服务器数据的一致性,实现数据库的高可用。(3)采用unison同步软件保证不管修改那台服务器配置,zabbix配置目录及web目录内容的一致,实现文件双向同步。
3 平台实现
3.1 基础监控数据采集
3.1.1 支持多种协议数据采集
为了满足铁路综合视频云平台中的摄像机、服务器、交换机、磁盘阵列、电源控制箱等基础硬件设施以及应用服务的监控需求。本平台提供了支持snmp、ipmi、jmx、http、ssh、telnet、icmp、modbus等多种协议的数据采集方式[3]。
3.1.2 丰富的监控指标
在满足《铁路视频监控系统技术规范》[2]的運维相关要求基础之上,本系统还提供了更加丰富的监控指标。摄像机监控包括:主子码流的码率、帧率、分辨率、关键帧间隔、设备在线状态。服务器监控包括:电源状态、硬盘状态、磁盘存储容量、风扇转速、CPU温度、CPU使用率、内存使用率、网口工作状态、网口带宽、端口带宽、端口类型、接收发送流量、丢包率、设备在线状态。交换机监控包括:端口带宽、端口工作状态、端口类型、接收发送流量、丢包率、设备在线状态。磁盘阵列监控包括:磁盘容量、设备在线状态。电源控制箱监控包括:电源、断路器工作状态。云平台监控指标监控包括:视频接入、分发、存储等微服务的在线状态、各节点负载、云平台总负载。云存储监控指标包括:整体健康度、存储容量、读写带宽、osd节点总数以及单节点状态、对象网关状态。数据库监控指标监控包括:慢查询个数、每秒收发字节数、每秒增删改执行次数。
3.2 运维监控业务
3.2.1 监控对象资产管理与告警规则管理
综合视频云系统中的基础设备和业务流中的软件服务、中间件、数据库。基础设施包括:摄像机、服务器、交换机、磁盘阵列、电源控制箱等。
告警规则如表1所示。
3.2.2 故障根因分析
由于不同类型故障告警之间存在一定的因果关联关系,本系统将设备之间、故障类型之间的故障因果关联关系提前预设形成专家库,告警收敛模块运用专家库实现业务全链路追踪找到故障根源,从而过滤掉大量衍生告警,初步达到智能化运维的效果。例如,可以将以下两种情形纳入到故障关联关系专家库。情形一:录像断点与网管摄像机、服务、云存储告警关联情况, 自动分析出录像出现断点时段内是否存在摄像机离线、服务离线、云存储异常等告警,进一步分析路线断点的根本原因是哪类故障造成的。情形二:定义交换机离线、服务器网口故障、摄像机离线三类故障之间的因果关系。
3.2.3 故障处理业务流程
当故障告警生成之后就需要运维人员来处理这些告警。我们依据ITIL规范技术流程设计故障处理工作流业务模型,实现申告、受理、派单、处理、审核、关闭一整套闭环管理[4]。系统将告警与故障工单建立关联关系,某个多某些告警形成一个故障工单,当处理完故障单之后,要检查该问题单相关的告警是否已经恢复,如果全部恢复,则关闭该问题单,否则继续处理,直至问题恢复才能结束整个故障处理流程。同时,要求故障处理人员把问题原因、处理办法、处理效果用文字记录下来,最终形成故障处理知识库以便运维人员查阅。
3.2.4 故障预警
对于一些可预测的监控指标来说,为用户提供故障预警分析达到防患于未然的目的具有更高的实用价值。最典型的例子就是磁盘剩余存储空间预警。我们对收集到的历史监控数据采用指数平滑、N次多项式等预测模型对存储空间剩余容量进行预测,判断未来还有多长时间达到存储上限告警阈值。
3.2.5 简单故障自愈
对于一些常见的系统故障或应用服务软件故障来说,可利用自动化故障恢复脚本,实现故障自动恢复,节省人工维护成本。例如,服务器硬盘拔出插回,云存储应用服务中的osd节点离线等故障就可以调用预先编制好的故障处理脚本自动消除告警。当然,故障自愈作为一种运维辅助手段来讲只能处理一些简单且排查方式较为固化的问题,当自愈程序无法排除故障时,系统会把问题单推送给人工干预处理。
4 工程实施
4.1 性能调优
运维平台每天都会产生大量的监控数据,系统性能瓶颈往往取决于数据存储。为此,我们实施了以下优化方案。硬件方面采用固态硬盘存储数据。软件方面采用调整数据库性能参数配置、历史数据表分区分表等手段优化数据库性能。此外,我们还对收集到的数据进行二次过滤筛选,过滤掉没有发生变化或变化幅度低于1%的监控数据。
4.2 容器化部署
容器化可实现应用隔离,某个服务消耗资源不会占用其他应用资源。利用docker实现自动部署,自动重启,自动复制,自动伸缩扩展。部署docker应用,省去依赖环境的配置。镜像仓库服务,本地打包好上传,服务器直接拉取即可。
5 应用案例
本系统于2019年12月在京张高铁上首次投入使用。服务器54台、交换机94台、摄像机3706部、摄像机电源控制箱60余个。云平台1套、云存储集群8套、MySQL数据库、消息队列服务1个、HTTP服务1个。
系统主界面如图3所示,为用户提供京张全线视频系统实时软硬件运维监控指标大数据,用户直观了解全线摄像机、视频微服务的工作状态、存储空间使用状况、网络流量状态、服务器内部主要元器件工作状态、视频图像质量诊断数据等。用户通过点击主页上的站点,能够跳转到具体站点的软硬件设施监实时详细监控数据展示页面,例如云平台微服务工作状态、服务器电源状态、CPU温度、内存使用率、网络流量带宽、交换机端口工作状态等。
6 结语
面向下一代运维平台,我们将引入深度学习、贝叶斯网络等人工智能技术深度挖掘故障内部蕴含的关联关系,加大告警收敛力度;进一步强化故障自愈功能降低运维人工干预成本;提升故障预测精准确度,为用户提供更加及时准确可靠的故障预警和存储容量规划信息。
参考文献
[1] 简单网络管理协议教程[Z].
[2] QCR 575-2017 铁路视频监控系统技术规范[Z].
[3] Zabbix企业级分布式监控系统[Z].
[4] ITIL3.0技术白皮书[Z].
转载注明来源:https://www.xzbu.com/1/view-15273235.htm