2017-08-16 64 views
0

everyone, 我正在从事个人项目,我想知道连接到我的服务器的每个IP(用户)的bandwitdh用法。如何通过用户ip从Icecast服务器获取带宽消耗?

我想要做这样的事情:

IP    PORT  BandWidth  Quota  Connection_time 
192.168.1.10  8000  988,478 Gb  1,000 Gb 720:01:20.956 
192.168.1.12  8001  98,478 Gb  1,000 Gb 01:01:20.956 
192.168.1.216  8003  9,784 Gb  1,000 Gb 00:59:25.545 

你有一个想法?


我有我的服务器上许多的Icecast(webradio流),我想知道每个无线

我的主要焦点的每个听众的消费,是在显示用户的带宽消耗它的档案,也检查他是否达到了配额。

+2

我会建议使用一些工具,如bmon或nload。它适用于设备而不适用于特定用户... –

+0

好的,但我的目标是检查用户是否已达到极限。 另外,我想在其配置文件中显示其消耗量。 – outstore

+1

您首先需要准确定义用户是什么以及您测量的带宽消耗量。很可能PHP并没有涉及很多带宽,因此需要一些挂钩到实际服务的Web服务器。这取决于实际的Web服务器。 – deceze

回答

0

我建议解析Icecast access.log,因为它既记录连接的音量和持续时间。

您也可以使用URL验证挂钩来记录东西。

+0

谢谢,但我的icecast的access.log如下所示:168.XX36 - - [28/Aug/2017:02:44:01 +0200]“GET/HTTP/1.1”200 1399“ - ”“ - ” 0 158.XX126 - - [28/Aug/2017:23:41:41 +0200]“GET/HTTP/1.1”200 1399“ - ”“ - ”0 – outstore

+0

是的,这意味着转移了1399个字节在'0'秒内。这并不令人惊讶,因为它是状态页面。 – TBR

+0

好的,谢谢,我会解析这个。 – outstore