我正在尝试设置 syslog-ng 以将 tomcat 日志(以及所有其他系统日志)发送到日志服务器,但它似乎不起作用,这是我所拥有的行:
destination d_tomcat { file("/opt/tomcat/logs/*.log"); };
当然还有这个:
log { source(s_src); destination(d_net); };
和这个
destination d_net { tcp("x.x.x.x" port(1514) log_fifo_size(1000)); };
答案1
您需要一个源来读取 tomcat 日志,并将其发送到您的日志服务器。因此,假设 tomcat 登录到一个文件,您需要类似以下内容:
source s_file { file("/opt/tomcat/logs/tomcat.log" multi-line-mode(indented)); };
(请注意,“/opt/tomcat/logs/*.log”目前无法在 syslog-ng 开源版中使用,因为它尚不支持源中的通配符 - 您必须指定要读取的文件)然后是目标:
destination d_net { tcp("x.x.x.x" port(1514) log_fifo_size(1000)); };
查看syslog-ng 文档更多细节。
以及连接它们的日志语句:
log { source(s_file); destination(d_net); };