需要了解不同VM之间的通信量(hunderds ),并计划使用iptables日志来创建新连接(入站和出站)的日志。脚本可以解析日志并获取源/目标IP和端口。但是,我需要登录几天(可能是一周),以获得所有可能的连接的完整图片。计划每小时滚一次日志文件,但考虑的是性能,因为这需要在活动服务器中完成。iptables日志记录会增加大量开销吗?我是Linux的新手,您的输入将受到极大的赞赏。
发布于 2018-01-10 06:38:12
负载主要取决于需要记录的连接数量。它很小,每个连接,但如果有一个服务器需要处理一个巨大的连接速率,它可以加起来。
iptables将日志消息放入内核消息缓冲区(可以使用dmesg命令查看)。作业的其余部分通常由syslog守护进程处理。
如果是传统的syslogd/klogd对,它们将消耗所需的任何系统资源,以便按照配置将消息发送到日志文件和/或远程日志目的地。
但是在许多现代发行版中,使用的是rsyslogd,它可以对限制消息进行评级--而且在许多发行版中,对于iptables日志记录来说,这个限制级别被设置得非常低。似乎默认速率是为了保护旧的、低功耗的服务器而设计的,因此您可以安全地增加限制--但是您必须记住这样做。
如果您正在运行Java软件,他们倾向于为本地通信使用大量的网络套接字:您可能希望谨慎地设置日志规则,以避免记录这些规则,以尽量减少需要在源记录的数据量。同样,如果您知道有大量您已经了解或不关心的连接,您可能希望将它们排除在日志记录之外,以保持总数据量可管理。
如果可能,请确保每个连接只创建一个日志消息。记录所有传入和传出数据包肯定会产生显著的额外负载。
另外,不要以为经过一周的日志记录,你就会知道所有要知道的事情:根据你的站点,可能会有一些连接只发生在月底,或者是季度。
https://unix.stackexchange.com/questions/415974
复制相似问题