我们可以配置 Apache 将日志直接发送到日志分析系统吗?

我们可以配置 Apache 将日志直接发送到日志分析系统吗?

我想配置 Apache 将访问日志发送到日志分析系统,因此是否可以通过配置 Apache 来实现,或者我必须使用 Syslog 工具来发送日志。

答案1

就像上面所解释的,Apache 可以立即将其日志发送到 syslog,而不是让 syslog 处理 Apache 日志。Apache 配置系统日志

这已经足够了:

CustomLog "|/usr/bin/logger -t httpd -p <facility>.<priority>" <log format name>

如果这些消息的标准处理不够充分,您可能需要配置系统日志。

答案2

您没有提到具体的日志分析软件,我认为您希望通过 syslog 协议来实现这一点。因此,您需要在 syslog 客户端(apache webserver)上执行以下操作。

  1. 在 /etc/rsyslog.d/apache_access.log.conf 下创建一个配置文件

对于 access.log:

$ModLoad imfile
$InputFileName /var/log/apache2/access.log
$InputFileTag apache_access:
$InputFileStateFile stat-apache-access
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
$InputFilePollInterval 10
local3.* @@ip-analysis-system:<portnumber-ip-analysis-system>

对于 error.log

/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /var/log/apache2/error.log
$InputFileTag apache_error:
$InputFileStateFile stat-apache-error
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
$InputFilePollInterval 10
local3.* @@ip-analysis-system:<portnumber-ip-analysis-system>
  1. 使用以下命令重新启动 syslog:

    systemctl 重启 rsyslog

    现在,来自 local3 设施的所有数据都已发送到您的分析服务器。

顺便说一句:我认为您的问题是重复的。请查看下面的链接。

如何使用 rsyslog 将 /var/log 之外的特定日志文件转发到远程服务器?

相关内容