如何使用rsyslog将任意文件转发到graylog2

我有一些随机文件,我想收集并转发到我的日志logging服务器。 这些应用程序并不真正支持GELF,所以我试图用rsyslog转发这些文件:

# Apache access log input(type="imfile" File="/var/log/misc/blah.log" Tag="Apache Access Log" StateFile="statefile1") *.* @@log.ospreyreach.com:12514 

一些问题/问题:

  1. 这将转发所有的系统日志文件。 我怎样才能指定某些特定的文件来转发?
  2. 这似乎并没有从我定义的文件中收集任何数据。 我看到在我的graylog服务器上popup常规的syslog消息,但没有看到那个文件。

试试这个LEGACY rsyslog格式的版本:

 # Forward apache logs to graylog2 server $ModLoad imfile # needs to be done just once $InputFileName /var/log/httpd/access.log $InputFileTag ApacheAccessLog: $InputFileStateFile access.log.statefile $InputFileFacility local4 $InputFileSeverity info $InputRunFileMonitor $InputFileName /var/log/httpd/error.log $InputFileTag ApacheErrorLog: $InputFileStateFile error.log.statefile $InputFileFacility local4 $InputFileSeverity error $InputRunFileMonitor local4.* @@log.ospreyreach.com:12514 

您可以为其他日志文件执行类似的条目。

之后,在您的graylog2服务器上为12514 / TCPinput创build一些提取器。 这会给你一些图的细粒度选项等。