apache2 不通过 rsyslog 将日志发送到远程服务器

apache2 不通过 rsyslog 将日志发送到远程服务器

apache 访问和 apache 错误日志均未到达中央服务器。但某些日志已成功到达,包括:auth、authpriv、cron、daemon、kern、syslog 日志。我还需要做什么才能使 apache 日志集中化?

这是我的测试实验室设置 -> 服务器和客户端是:在 Ubuntu Server 20.04 Linux 5.4.0-42 上运行的 Apache/2.4.41。rsyslog 服务器和客户端是:8.2001.0。只有防火墙是默认的 iptables 和 ufw 安装。

服务器 rsyslog 配置文件是 /etc/rsyslog.d/01-server.conf:

$ModLoad imtcp
$InputTCPServerRun 514
$template RemoteServer, "/var/log/%HOSTNAME%/%SYSLOGFACILITY-TEXT%.log"
*.* ?RemoteServer
local3.*                        /local/logs/httpd-error
local4.*                        /local/logs/httpd-access

客户端 rsyslog 配置文件是 /etc/rsyslog.d/01-client.conf:

$WorkDirectory /var/log/rsyslogspools
$ActionQueueFileName fwdRule1
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
local3.* @@192.168.1.88:514
local4.* @@192.168.1.88:514
*.*     @@192.168.1.88:514

客户端 apache 配置文件 /etc/rsyslog.d/apache.conf 是:

$ModLoad imfile
# Default Apache Error Log
$InputFileName /var/log/httpd/error_log
$InputFileTag httpd-error-default:
$InputFileStateFile stat-httpd-error
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
# Default Apache Access Log
$InputFileName /var/log/httpd/access_log
$InputFileTag httpd-access-default:
$InputFileStateFile stat-httpd-access
$InputFileSeverity info
$InputFileFacility local4
$InputRunFileMonitor
$InputFilePollInterval 10

本实验在 VirtualBox 上运行,rsyslog 客户端服务器可以处理大多数日志,但不能处理 Apache

答案1

您的 apache 文件监控应该使用 ubuntu/debian 路径而不是 red-hat/centos (/var/log/httpd/error_log VS /var/log/apache2/error.log)

因此将 /etc/rsyslog.d/apache.conf 更改为

$ModLoad imfile
# Default Apache Error Log
$InputFileName /var/log/apache2/error.log
$InputFileTag httpd-error-default:
$InputFileStateFile stat-httpd-error
$InputFileSeverity info
$InputFileFacility local3
$InputRunFileMonitor
# Default Apache Access Log
$InputFileName /var/log/apache2/access.log
$InputFileTag httpd-access-default:
$InputFileStateFile stat-httpd-access
$InputFileSeverity info
$InputFileFacility local4
$InputRunFileMonitor
$InputFilePollInterval 10

相关内容