rsyslog - 操作和操作

rsyslog - 操作和操作

我想创建规则将数据发送facility到文件MySQL数据库。

怎样才能实现呢?仅通过添加第二行,例如:

syslog.*                         /var/log/syslog.log
syslog.*                         :ommysql:localhost,database,user,password

或者有更正确的方法吗?

答案1

或者有更正确的方法吗?

我不知道这是否会被认为更正确,因为我思考它是 rsyslog 的特定功能(并且它可能被认为“更正确”地尽可能以系统日志兼容的方式做事......或者可能不会)但有&符号:

syslog.*      /var/log/syslog.log
&             :ommysql:localhost,database,user,password

已记录在案这里,如果您在页面中搜索“&”。我相信“遗留描述”不是指“syslog 兼容”行为,而是指 rsyslog 的遗留行为,它现在实现了称为雷纳脚本用于编写规则。至于在这种情况下这是否真的更容易或更正确,我不能说。

答案2

编辑:这对于问题中给出的示例是有效的。它已被编辑,TAFKA 'goldilocks' 的答案是正确的。

你做对了。当您想要选择一组不同的日志条目时,您需要在单独的行上指定它,就像您所做的那样。这两个选择恰好具有相同的设施这一事实是无关紧要的。

如果您想对同一组日志条目执行两件事,则可以&在第二行使用与号 ( )。例如,如果你想存储全部文件和数据库中的系统日志消息:

syslog.*      /var/log/syslog.log
&             :ommysql:localhost,database,user,password

减少用于评估过滤器的 CPU 量。但这里的情况并非如此,因此您的解决方案是正确的。

相关内容