集群流量视频的制作思路

去年解决过一次线上的问题,因为实际分析起来比较麻烦,机器又非常多。当时表象是代理服务器的负载不均衡引起的后端服务器雪崩。不过后来通过制作集群的流量视频进行回放,对分析原因很有帮助。简单的说一下思路。

比如有10个代理服务器,后端共挂了1000个服务器,那么要分析一段时间内后端所有服务器在每秒的请求量大小。那么就把代理服务器上的日志统统放到一起,使用脚本解析出每个服务器在每秒内的请求量,以机器序号为横坐标,单机每秒的访问量为纵坐标,然后按照时间递增,把每秒的情况都画一个图,输出多一个文件夹内(脚本里面使用gnuplot会非常方便的,可以设置好title里保护时间之类的),然后使用ffmpeg就可以把所以的图片合并成一个视频文件,为了演示方便可以使用flv文件。把这样的文件放到nginx服务器上面,在主目录下写一个html文件,引用这样的视频文件就可以直接页面演示了。
ffmpeg -f image2 -i %d.png -s 1366×768 xxx.flv

[html]
<html>
<body>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="500" height="400">
<param name="movie" value="http://test1.net/flvplayer.swf" />
<param name="quality" value="high" />
<param name="allowFullScreen" value="true" />
<embed src="http://test1.net/flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=http://test1.net/tbapi.flv&IsAutoPlay=1&LogoUrl=images/logo.jpg" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="960" height="540">
</embed>
</object>

</body>
</html>

[/html]
html里迁入视频参考了这里

此条目发表在nginx分类目录。将固定链接加入收藏夹。

发表回复