我在 Linux 桥 (RHEL5) 中有一个 iptables 防火墙。我想使用 Bash 脚本从日志消息中提取 IP 地址、端口号、端口类型、日期和时间等信息,然后将其上传到 MySQL 数据库以生成报告。
我怎样才能做到这一点?有什么办法可以完成同样的事情吗?
答案1
如果你正在使用 syslog-ng,这里有一个很棒的指南这里。他设置了一个队列:syslog-ng 向其中写入数据,并且有一个使用者从队列中读取数据并执行 SQL 插入。
如果您使用 rsyslogd,它有对 mysql 的原生支持,但我还是推荐第一篇文章的消息传递方式;特别是如果您的流量高峰很高,因为数据库插入需要大量时间(相对而言)。