我每5分钟有一个上个月的netflow数据文件,我想对所有这些流量进行数据包配置文件。我需要1个数据包流,2个数据包流等的百分比表示。可以在1个数据包流,1-100个数据包流,100个或更多的类别中进行...它不是那么重要。但我的问题是如何做到这一点。如何做我无法加在一起的数据的百分比表示?像每个文件的百分比表示,然后从中做一些平均值?
答案 0 :(得分:0)
“我不能加在一起”是什么意思?实际上,如果查看手册,可以使用nfdump执行此操作: -R expr / dir / file1:file2读取从file1到file2的所有文件。对于istance
nfdump -R /yournetflowfolder/nfcapd.201204051609:nfcapd.201204051639
将从16:09到16:39收集NetFlow信息。然后,您可以对该数据执行任何查询。
答案 1 :(得分:0)
听起来你正在描述直方图:你用原始计数创建你描述的大小的“箱子”。箱柜的总数是总会话数。要获得总流量的百分比,只需将每个bin除以总流量计数即可归一化。
所以,如果你做一个双bin直方图,其中第一个bin是所有会话的计数< 100个数据包流和另外100个数据包流(注意不能有间隙或重叠),它在前者中有30个流,在后者中有60个流,那么流的总数是90,而你有33%的流量少于100个数据包。
使用多个文件时,诀窍是始终使用相同的bin描述,并尽可能长时间地存储和处理原始计数,并且只导出%s作为最后一步。您可以毫无困难地添加直方图,只要它们的容器具有相同的含义,然后在规范化结果时,每个容器都包含所有文件的总百分比。如果您需要添加文件,只需跟踪原始计数,以便在有新数据时重新标准化。
你可以很容易地在像Matlab这样的工具中做到这一点,但要小心,因为许多这些工具会非常友好地为你自动确定bin宽度。因此,一个文件的直方图可能具有区间{x< 100,100< = x< 100< 200,x> = 200}和另一个文件{x< 90,90< = x< 180,x> = 180},您将无法一起添加结果。