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

相關內容