在 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 目标的主要内容,如果未能解决你的问题,请参考以下文章
从 python 运行 sql 脚本时如何仅抑制 SQL*Plus 横幅消息
在 Python 日志记录模块 AKA 日志压缩中抑制具有相同内容的多条消息