我安装了几年前安装的 MRTG,它可以显示 PAN 防火墙外部接口上的带宽使用情况。它作为我们的 Windows 管理盒上的服务运行,结果显示在同一盒上的 IIS 站点中。
最近,我们被告知,为了检测违规行为或可能的数据泄露,最好根据出站和入站相同防火墙接口的数据量(字节数)执行类似的操作,也许可以使用ifHCInOctets 和 ifHCOutOctets?我在 Google 上搜索了一遍,但并没有真正找到对像我这样 MRTG 技能有限的人有用的东西。我发现的最有前途的帖子是这个:
https://marc.info/?l=mrtg&m=126376490605781&w=2
其中谈到获取每日流量图表。由于我已经从这些接口收集数据来显示带宽,有没有办法利用现有数据或基础设施来制作这种类型的图表?它可以使用相同的 Perl 和 MRTG 安装来做到这一点吗?谁能建议我可以参考的任何内容或资源来帮助我入门?感谢您的宝贵时间!
您现有的 MRTG 正在收集并绘制传入和传出吞吐量的图表,以每秒字节(或位)为单位,并且您的图表显示了随着您从每日、每周到每年的逐渐变大的时间窗口的平均值。
您需要的是一种识别“总”入站流量和出站流量之间“差异”的方法;您链接的示例在每日级别执行此操作。因此,您确实有兴趣查看(入站-出站)的 1 天增量总数,或者换句话说,
86400 * ( avg[1day](inbound) - avg[1day](outbound) )
MRTG 年度图表已将每秒入站和出站速率平均到 1 天的粒度,但您需要获取差值并将其乘以一天中的秒数 (86400) 以获得每日总数区别。
要在 MRTG 中执行此操作,您需要
定义一个新目标,定义为(传入计数-传出计数)
为此抑制每日和每周图表
Target[xxxx]: ifHCInOctets.1&PseudoZero:community@router - ifHCOutOctets.1&PseudoZero:community@router
Factor[xxxx]: 86400
Title[xxxx]: Net traffic difference per day
Suppress[xxxx]: dwm
YLegend[xxxx]: bytes/day
ShortLegend[xxxx]: /d
Options[xxxx]: noo nopeak
Legend1[xxxx]: Traffic difference
LegendI[xxxx]: Net
此时数据库将保存接口1的每秒平均流量差;该图表将仅显示每年的值,乘以 86400 以显示当天的总数(抑制第二个值和峰值线,因为它们毫无意义)。
如果您使用 RRDTool 作为后端,并且可能使用 Routers2 作为前端,那么您还有其他关于如何制作自定义图表的选项,但这是使用 vanilla MRTG 的基本方法