使用rsyslog高效记录stdin

时间:2009-07-30 03:11:16

标签: c++ perl performance centos rsyslog

我们的环境:CentOS 5,它附带Apache 2.2和rsyslog 2.0.6

为了发送Apache 2.2错误日志,我们按照此处的说明进行操作:http://wiki.rsyslog.com/index.php/Working_Apache_and_Rsyslog_configuration

它可以工作,但是包含的perl脚本效率非常低 - 它需要大量的系统资源,而且从查看Sys :: Syslog :: syslog子例程我可以想象为什么 - 它会进行大量的参数解析和移动在它实际发送消息之前。

是否有一些高效的C / C ++程序来替换这个脚本?它似乎是一个5线,但我宁愿不重新发明轮子。

其他有效发送apache ERROR日志到syslog的解决方案也是受欢迎的。

感谢。

2 个答案:

答案 0 :(得分:3)

实际上它非常冗余 - “logger”命令行实用程序将读取标准输入,并且如果未在命令行上传递消息,则将每行发送到syslog。

无论如何,欢迎你......:)

答案 1 :(得分:2)

我编写了一个C程序,它与上面链接中的perl脚本功能相同。 它似乎需要更少的资源。 该程序的源代码已上传到我的问题中的链接。