mysql - 如何在 rsyslog 中仅插入来自常规日志的 mac 地址?

标签 mysql regex rsyslog

您好,如何从常规日志中仅插入这样的 mac 地址 '22:22:22:22:22:22'?

我的 rsyslog 模板:

$template fw,"insert into fw(Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag, EventID) values ('%msg%', %syslogfacility%,'%fromhost%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%', '123')",SQL

我尝试像这样使用正则表达式,但我在 mysql 表中只得到字符串“src-mac”

%msg:R,ERE,0,FIELD:src-mac--end%

log text msg 是这样的:

Pay: srcnat: in:(none) out:wan, src-mac 22:22:22:22:22:22, 
proto TCP (SYN), 10.5.50.100:1111->111.11.111.11:443, len 52

最佳答案

摄取数据的标准策略是在执行 INSERT 之前用某种应用程序语言“清理”它。

除非你有带有 regexp_replace() 的 MariaDB,否则在 SQL 中没有简单的方法来挑选 mac 地址。

关于mysql - 如何在 rsyslog 中仅插入来自常规日志的 mac 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31761220/

相关文章:

php - AWS 上的 Cron(或一般的分布式系统)

php - 使用分页 Codeigniter 时过滤数据

python - 如何打印 div data-reactid?

javascript - 有人可以解释为什么这个正则表达式与不同的正则表达式风格匹配不同吗?

logging - Centos6.3 Rsyslog 写入自定义日志和/var/log/messages

mysql - INSERT INTO 语法错误 SQL

php - sql语法错误检查手册

javascript - 日期输入 |在日期后添加破折号

logging - JBoss AS 7 配置日志记录到 Syslog Appender

docker - docker容器内的rsyslog => "rsyslogd is not running ... failed"