log Mysql连接到远程rsyslog

时间:2017-06-05 13:05:47

标签: mysql rsyslog

我需要记录登录mysql的用户。

使用imfile模块,我从本地mysql日志中读取

input(type="imfile"
    File="/var/log/mysql/mysql.log"
    Tag="mysql-general"
    Severity="warning"
    Facility="local1")

我把它发送到远程服务器(它的工作)。

但我只需要发送带有“连接”字样的行,而不是所有消息。

我试试:

if $syslogtag == 'mysql-general' and $msg contains 'Connect' then @*.*.*.*

它仍然是登录任何事物。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个可能的解决方案。 我们可以添加一个规则集:

ruleset(name="mysql_rule"){
    if $syslogtag == 'mysql-general' and $msg contains 'Connect' then @*.*.*.*
}

稍微改变输入:

input(type="imfile"
    File="/var/log/mysql/mysql.log"
    Tag="mysql-general"
    stateFile="statefile-mysql-general"
    Severity="warning"
    Facility="local1"
    ruleset="mysql_rule"
    reopenOnTruncate="on"
)