作者
中国农业银行艾明浩、矫宏鹤责编
Carol封图
CSDN下载自视觉中国当前市面直播平台百家争鸣,直播监控系统是判断一个直播平台是否完善的必要条件。文章简要介绍了笔者搭建的一套基于SRS的直播平台,并从设计思路、实现方法与实现过程等方面重点介绍了针对此直播平台建设的监控系统,对相关直播平台监控系统的建设具有一定的参考价值。直播平台与其监控系统简介国内直播行业自年“井喷”式发展以来,在各行各业遍地开花,秀场、娱乐、游戏、教育、电商等行业应用尤为突出。笔者与时俱进,准备研究一下企业级视频直播技术应用,目前已经搭建了一套直播平台。在技术选型上,出于性能、文档完善性等方面考虑,我们选择了开源直播框架SRS作为直播服务器。SRS是由国人Winlin大神在Github上开源的一款流媒体服务器软件,定位于运营级互联网直播服务器集群,目前已经更新至V4版本,V3版是其稳定版本。我们在SRS已实现的基本RTMP等协议推拉流的基础上,开发了用户系统、直播房间管理、防盗链功能、弹幕系统、点赞系统、礼物系统等功能,并开发了Android、iOS、PC、Web直播客户端,实现了一个大致完善的视频直播平台。随着功能的增多,在开发调试及测试的过程中,我们发现,必须拥有一套针对直播平台的监控管理平台,以增加平台的健壮性、可用性与易用性。该监控管理平台用来对SRS集群进行统一配置管理,对服务器资源、网络流量、多媒体流、房间信息等进行统一监控,以方便后台人员对整个平台进行把控;同时,拥有一系列预警机制以应对大流量、网络中断、服务器断电等突发事件。监控数据的获取要进行平台的监控,需考虑需要监控哪些指标,能够从平台获得什么数据,采用什么方式从平台获取数据等问题。针对基于SRS开发的直播服务平台,我们采集获取监控数据的方式主要有3种:基于SRS提供的HTTPApi获取、从数据库及Redis获取、程序中埋点输出获取。1.基于SRS提供的HTTPApi获取监控数据。SRS提供了一套HTTPApi,供外部程序获取数据及管理服务器,支持跨域访问。以下是SRS官方提出的HTTPApi设计原则:
只提供json数据格式接口,要求请求和响应的数据全都是json。
不提供html数据,譬如运行SRS后,浏览器打开HTTP接口或HTTP服务地址,看到的是json,不是html。
发生错误时,支持HTTP错误码,或者json中的code错误码。
通过查阅SRS官方文档及源码,SRSHTTPApi可获取的数据如下表:调用SRS提供的HTTPApi,需要在SRS服务器配置中增加