在 syslog-ng 中抑制重复消息到 SQL 目标

Posted

技术标签:

【中文标题】在 syslog-ng 中抑制重复消息到 SQL 目标【英文标题】:Suppress repeated messages to SQL Destination, in syslog-ng 【发布时间】:2014-04-30 09:53:18 【问题描述】:

我正在设计一个集中式系统日志服务器,用于接收来自不同设备的日志,并将它们写入 mysql。虽然重复消息太多,但我正在努力寻找解决方案。

我发现 syslog-ng >= 2.1 增加了对抑制重复消息的支持 (Change log)。但它似乎无法与 SQL 目标一起使用?

我可以在文件目标中找到抑制选项 (file-destination-doc) ,但在 SQL 目标中,我找不到此选项 (sql-destination-doc)

有没有办法抑制重复消息,到 syslog-ng 中的 SQL 目标?

【问题讨论】:

【参考方案1】:

不幸的是,SQL 目标目前不支持抑制消息。

我建议在https://github.com/balabit/syslog-ng/issues 为开发者开一个问题单

作为一个非常难看的解决方法,您可以在 syslog-ng 中创建一个循环:通过 TCP(设置了 suppress())将您的日志发送到同一个 sysog-ng 实例,然后将这些消息发送到 SQL。

HTH,

罗伯特

【讨论】:

以上是关于在 syslog-ng 中抑制重复消息到 SQL 目标的主要内容,如果未能解决你的问题,请参考以下文章

syslog-ng 向控制台和文件发送消息

从 python 运行 sql 脚本时如何仅抑制 SQL*Plus 横幅消息

SQL查询 - 如何抑制结果集中的重复值?

在 Python 日志记录模块 AKA 日志压缩中抑制具有相同内容的多条消息

syslog-ng 到 redis 问题,能够写入文件但无法写入 redis

仅将熊猫值复制到字典:抑制索引 [重复]