[摘要]介绍中央电视台高端岛3后期制作网络监控系统的架构,以及其对制作设备、制作服务、存储设备、制作流程等环节监控的实现。
[关键词]监控系统;高端制作岛;电视制作;制作设备;存储设备;流程
文章编号:10.3969/j.issn.1674—8239.2016.04.012
中央电视台新址综合制作域包含了混合制作岛、高端制作岛、常规制作岛、新介质岛、新线性编辑制作岛等多个后期制作子系统,其中高端制作岛3(以下简称高端岛3)主要用于复杂专题节目以及大型演播室直播节目的后期制作,其建设目标是打造全高清、全文件的强大制作平台。
高端岛3主要面向精细编辑制作,拥有每天不少于20小时的高清成品节目生产能力,并实现了设备国产化的目标。制作设备主要包括36套精编工作站、16套草编工作站、4套合成工作站、2套配音工作站,此外还包括多台实体机和虚拟机后台服务器,生产规模较大。因此,在发生一些突发或不可避免的系统故障时,值班人员可能会面临较大的排查压力。同时,岛内制作任务采用了全自动化流程控制,随之而来的则是大量的流程管控问题。为保证岛内业务正常运行、生产任务顺利完成,高端岛3配备了制作监控系统,用以向业务管理人员统一展现设备流程业务状态,并对异常情况及时告警。
高端岛3监控系统于2014年底开始设计实施,2015年交付使用,在项目的调研设计和实施的过程中,设计者本着全可视化、安全智能、及时准确的设计原则,充分考虑岛内业务流程特点、制作规模、使用人员操作习惯,并结合数据来源多样的优势,有机整合和采集指标,最终有效实现了监控数据可读易读、告警有效及时、故障点反映准确等功能特性。
本文讨论高端岛3监控系统主要监测对象的监控实现方式和经验,包括机房制作设备及业务的监控实现、存储系统的监控实现,以及制作流程的监控实现。
1.监控系统架构
在逻辑架构上,高端岛3监控系统主要由数据采集、策略管理和报警显示三部分组成。
如图1所示,高端岛3监控系统采用B/s架构建立汇聚分析和报警显示模块,采用c/s架构建立数据采集模块。采集机制及实现方式为:通过定时轮询加主动上报机制获取监测对象的性能、配置和故障数据信息;能够对标准SNMP中MIB管理数据进行采集,并可接收、解析和翻译SNMP trap;同时支持多种扩展采集手段,如数据视图读取、WMI、ModBus、Web Service等。汇聚分析显示模块对采集上报的监控数据进行策略决策和数据展现,将Canvas画面实时显示等。HTML5技术用于B/S化网页报警页面,使数据表达更加准确和具象。数据采集模块与汇聚分析模块采用了不同的开发架构,为保证彼此消息交互的准确性和时效性,经反复实验,两个模块之间的消息通讯方式采用了Apache Thrift的Socket通讯机制,在采用传输JSON消息字符串的同时,使用Thrift内置的对象序列化机制,优化了通信效率。
高端岛3监控系统采用两种开发架构的有机结合,充分运用了不同架构的优势,使各个模块保持了相对独立,使系统稳定易维护。
2.制作设备及服务监控的实现
2.1制作设备监控
作为高端岛3的监控系统,最基本的一项功能就是实现对这些设备的基本关键指标参数(Key PerformanceIndicator,以下简称KPI)的监控,如CPU使用率、CPU温度、内存使用率、主要进程、网口使用率等,并按照阈值实现多级报警。
在本监控系统中,以上各项监控项可通过采集端进行采集与汇聚。该采集模块可通过各种监控协议(如SNMP协议)与监控对象通讯、采集监控信息,经过归一化后写入数据库或提交汇聚展现端。当采集到的前述监控对象指标出现异常时,B/S展现端通过投放大屏的客户端页面向值班人员报警。高端岛3内制作设备KPI数量众多,为保证数据采集不会造成网络通讯压力,本系统对制作设备KPI按重要性进行分级,对不同级别KPI按照5秒、10秒、15秒等多个轮询周期进行数据采集,从而实现在减轻网络通讯压力的前提下降低漏报发生的可能性。
监控系统根据高端岛3现场实际情况绘制了机房平面图,如图2所示,岛内设备KPI触发报警阈值时,平面图中相应设备以相应告警级别颜色做出显著提示,提醒值班人员查看具体问题。KPI类型、二级告警触发阈值和告警策略均可人工设置,并根据岛内用户使用习惯,生成不同形式的图表、报告,可呈现如KPI趋势曲线图、错误日志分布饼图、磁盘使用饼图等方式的图形化展现效果。
另外,高端岛3使用的非线性编辑工作站等设备有部分重要配件无法通过SNMP或WMI协议获取状态,例如非编板卡等。但这些配件的状态能够直接反应非编工作站的I/O状态,这是业务管理人员尤为关心的。对此,监控系统的实现方式为:在非编工作站安装自启动后台代理端,由代理端调用非编板卡sDK获取板卡温度、锁相状态、电压状态等KPI,通过thrift消息发送给监控采集端,经由集中监控端分析后展现在前台页面。
同时,对于协议监控和代理监测存在交叉监测的部分,例如非编工作站在线状态及设备整体告警状态等,为保证监测的准确性,监控系统按照表1所列状态真值表计算后,展示最终监测结果。
2.2制作服务监控
对于高端岛3中的非编制作系统,除了设备硬件状态外,业务管理人员同时还较关心与业务相关的制作服务是否正常。这些状态包括:每台非编工作站的登录人员、登录时间、是否出现丢帧、工作站连接数据库是否正常等。
这类监测指标由于其特殊性,监控系统无法直接通过监测协议或代理程序从非编工作站获取,而是通过调用非编系统服务查询Web Service接口获得所有业务状态后统一分析,按照IP地址等一致性条件将业务状态与通过其他渠道采集的设备状态整合后,统一展现在非编系统监控界面,见图3、图4。
3.存储设备监控的实现
3.1存储设备状态监控
在极端情况下,高端岛3的36台精编工作站需要各自同时进行4轨实时播放,这是比较考验存储系统压力的,所以对存储系统的状态监控是本系统的一项重点任务。高端岛3选用的是国内某著名存储品牌的分布式NAS存储产品,使用见图5,硬件平台包括网络和物理节点及节点内的硬盘、网卡、NVDIMM、内存等。该存储硬件部分采用全对称架构设计,最小的独立存储单元是节点,每个节点提供38T有效容量和500MB/s的带宽输出,支持3~288节点弹性无缝扩展,高端岛3此次采购了8个节点。
该存储系统能够比较完善地支持SNMP协议监控,监控系统可根据协议获取存储的各项KPI指标。但由于存储系统结构较复杂、监测指标众多,如何将数据有效地组织和展现为业务管理人员需要的形式,是需要监控系统合理设计的。
为了实现这一点,本监控系统对存储系统的状态采集和展示建立了三级模型:第一级为整个存储系统的运行情况;第二级为存储节点的运行情况;第三级为单块硬盘的运行情况,见图6。业务人员可从第一级监控模型获取整个存储系统运行是否正常、平均资源的使用率等总体信息,当需要了解节点或硬盘的详细运行情况时可通过模型不同层级的链接跳转。
另外,由于存储的监控指标数量庞大,若统一以较小的时间间隔按照SNMP协议轮询,可能会对存储与监控间的通讯造成压力。例如存储含8个节点,每节点38块硬盘,每块硬盘包括温度、转速、使用率等10多项KPI,因此,仅硬盘一项需要查询的KPI指标就达数千项。对此,监控系统采用对KPI重要性分级的方式,为不同级别的KPI按重要性分配不同时长的轮询间隔,以降低监控查询的通讯压力。为了避免低级别KPI轮询间隔较长可能造成的报警不及时问题,本监控系统将SNMP轮询和故障Trap主动上报相结合,见图7。存储系统自检到故障时通过Trap方式将故障问题点和故障描述上报,监控系统按照报文查询和显示详细故障问题,确保告警及时、详细,无漏报情况发生。
此外,对于部分存储系统无法完整提供的数据,监控系统需要从多种渠道采集信息并分析组装后呈现,见图8。例如,业务管理人员关心客户端带宽占用情况,通过监控系统的协议只能获取到各存储节点与客户端的连接带宽,但无法获取客户端主机名称等资料,直接展现该数据会给使用人员造成问题定位不便的困难。对此,监控系统将存储监控信息和机房制作设备监控信息结合分析,按照一致性条件进行数据整合展示,方便用户查询。
3.2存储配额监控
除硬件性能指标外,高端岛3存储系统的配额管理功能也是业务管理人员非常关心的。高端岛3为实现有效的空间管理,每个制作栏目以及单集节目的存储空间会被分配以硬配额、软配额等存储空间限制指标,栏目配额使用超出计划时监控系统需要及时提醒管理人员处理。
高端岛3节目配额的管理实现,是由管控系统配置相关数据后调用存储系统的配置接口,最终由存储系统在文件底层实际控制配额空间的使用管理。对此,监控系统可通过数据库视图查询和Web Service接口调用方式从管控系统中获取配额元数据,并以SNMP协议从存储系统获取配额使用情况,同时综合Trap形式的配额告警信息,将以上各项数据整合为业务管理人员可读的配额信息后进行大屏展现,并在配额超出阈值时,对相应的栏目存储使用空间做出及时告警,从而实现与配额相关的存储业务监控,见图9。
4.制作流程监控的实现
4.1流程进度监控
高端岛3的制作业务中,各节点是由多种入岛和出岛流程串联而成的,这些流程主要靠服务总线系统驱动。一旦制作流程出现问题,会对岛内的制作业务产生严重的影响,所以,将流程的数量、状态、详情、报错等信息综合反映在制作监控系统中是极有必要的。
对流程加以监管,至少要满足两点要求:一是监控角度能着眼全局,覆盖整个流程节点,形成宏观视角;二是能够对海量细节数据进行综合分析,兼顾微观视野。只有满足以上两点,监控人员才能在流程发生问题时迅速定位问题并分析和解决问题。对此,监控系统采用从总线系统读取数据视图的方式获取流程相关数据,并经过分析后加以展现。
对于流程监控的全局视角,监控系统可监测所有类型业务流程的运行状态,并按照运行、暂停、出错、完成等情况进行分类显示和告警,使业务管理人员全面掌握流程数量和状态,同时及时掌握流程出错环节,做出相应的有效处理。其实现方式为:
(1)监控系统从总线系统数据视图中获取所有流程定义,并按照业务需求进行入岛流程和出岛流程的分类;
(2)按照流程定义获取当前所有运行中的流程实例,并按照运行状态分类展现;
(3)对于出错的流程实例,关联查询其所涉及的流程节点实例,并按照出错类型和出错数量统一展现。
对于流程监控的微观视角,监控系统可分析和展现流程中所涉及的所有流程变量,业务管理人员通过详细查询流程变量,可了解该流程实例的健康详情,对于出错流程,可通过查看流程变量值分析错误原因并排查故障。
4.2多系统流程复合数据分析及报警
除了对高端岛3内流程类型、数量及状态的及时展现和告警外,在日常的业务管理工作中,工作人员对流程数据往往还有更多的监控需求,以便在流程故障发生之前及时定位问题并分析原因,例如:流程所涉及节目的送播关门时间、提交人员信息、打包合成等能力系统任务处理状态、执行进度、带宽占用、配额占用等。而以上各项数据仅从总线系统的数据库视图中无法获取,这就需要监控系统从更多的渠道获取信息并综合分析流程状态后进行统一展现。
为保证岛内节目能够在规定时间内及时送达播出系统,监控系统需要在以下各种情况下对流程状态进行告警,以便提醒工作人员及时处理异常情况:对于播前24小时仍未发起入库流程的节目进行低级别警告;对于播前12小时仍未发起入库流程的节目进行高级别报警;对于播前24小时的所有流程进行分色高亮提示。由于总线系统的数据库中只能查询到已发起的流程,同时节目的播出时间存储于管控系统而不是总线系统中,所以监控系统需要对总线系统和管控系统进行跨库联合查询,按照节目代码、关门时间、是否正常发起流程等条件对节目信息进行综合分析,并按照告警策略配置筛选出问题节目,分级别在告警界面进行统一展现和提示,见图10。
另外,高端岛3的流程中通常包含外系统任务调用节点,这是因为素材在入出库过程中需要在总线系统之外的能力系统中完成素材打包渲染、MD5计算、迁移等处理任务。此类任务通常处理时间较长,所以它们的任务执行状态是否出错、任务执行进度百分比、打包效率是否正常,以及相应节目素材的存储带宽占用、存储配额占用等具体数值信息往往是值班管理人员关心的。对此,能力系统、打包合成系统、存储系统均提供了WebService或其他服务查询任务状态、任务进度、带宽占用、配额占用等数据,供监控系统调用。
在监控系统中,如果监测到流程进行到了外系统任务调用节点并出现停留等待,监控系统会根据流程定义确认外系统任务类型,并根据配置分别调用相应的查询接口,或使用SNMP协议读取相关后台应用服务器的读写带宽,将任务执行状态、任务执行进度、配额占用、带宽占用等信息统一显示在流程监控界面,方便值班业务人员进行管理查询,如图11。
通过高端岛3监控系统项目的设计和实现,岛内监控工作的有效实行有力保障了每周提供40小时高清成片的生产能力,初步实现了项目规划的目标。 作者简介:
韩桂芝,2000年起任中央电视台技术制作中心录制二部视频编辑,现任该部网络管理员,主要负责监看制作区设备、保障制作流程顺利运转和制作岛节目安全播出。