通过syslog-ng转发日志

问题描述 投票:0回答:1

我正在尝试使用syslog-ng将日志转发到中央syslog服务器。但它不起作用。

这是我在syslog-ng.conf中添加的行

source s_access { file("/var/log/httpd/access_log" follow_freq(10) flags(no-parse)); };
destination logserver { udp("xxxxxx.amazonaws.com" port(514)); };
log { source(s_access); destination(logserver); };

但是当我重新启动时,出现以下错误。

[root@ip-10-244-143-226 ~]# /etc/init.d/syslog-ng restart
Stopping syslog-ng:                                        [  OK  ]
Starting syslog-ng: syntax error at 79
Parse error reading configuration file, exiting. (line 79)
                                                           [FAILED]

第79行是定义源s_access的行。

可能是什么问题?

[请有人帮我:(下一行是问题所在。源s_access {file(“ / var / log / httpd / access_log” follow_freq(10)标志(无语法,validate-utf8)); };

但是我不知道哪里出了问题。

我有apache,tomcat和一些自定义应用程序,我需要将这些日志发送到远程中央syslog服务器。

linux syslog splunk syslog-ng graylog2
1个回答
1
投票

[如果您尝试将Apache事件记录到syslog-ng,则会丢失一些内容。 LogZilla here中有一篇博客文章,介绍了执行该操作的步骤。您应该能够适应您的需求。但是为了完整起见,如果博客页面被删除,我将在此处重新发布:

此方法不仅限于Apache,而是适用于任何通用日志格式日志。以“通用日志格式”存储的文件中的每一行都具有以下语法:

host ident authuser date request status bytes

第一步是将新的源添加到您的syslog-ng配置中。在/etc/syslog-ng/conf.d目录中,我们将创建一个文件并将其命名为apache.conf。

cd /etc/syslog-ng/conf.d 
 vi apache.conf

一旦在编辑器中打开文件,我们将首先添加源。

source s_apache {
 file("/var/log/apache2/access.log");
 file("/var/log/apache2/error.log");
 };

如果已在Web服务器上启用了ssl-access.log,也可以添加它。在同一文件中,我们需要添加目标。

log { source(s_apache);
 destination(d_tls);
 };

在此示例中,目标是在上一教程中创建的TLS隧道。保存文件并退出,然后重新启动syslog-ng。

service syslog-ng restart

您现在应该在Logzilla服务器上收到apache事件,但是看起来有些不对劲。那是因为它们还没有被格式化。为此,我们需要编辑apache配置。此步骤仅适用于Apache。对于其他Common Log Format源,每个源都有自己的格式化解决方案。

cd /etc/apache2
 vi apache2.conf

在该文件中,您会找到这样的一行:

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %v" combined

它需要添加一些内容(它将忽略预设日期)。

LogFormat "Jan 12 12:12:12 %v apache[666]: %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %v" combined

保存文件并重新启动Apache,您的日志应如下所示:

0 www user notice apache None 97.76.75.78 - - [07/Nov/2013:15:14:41 -0500] "GET /highslide/highslide.css HTTP/1.1" 304 209 
"http://www.yourserver.com/" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; EIE10;ENUSMSN)" 
www.yourserver.com
© www.soinside.com 2019 - 2024. All rights reserved.