Apache2 sendet keine Protokolle über rsyslog an den Remote-Server

Apache2 sendet keine Protokolle über rsyslog an den Remote-Server

weder die Apache-Zugriffs- noch die Apache-Fehlerprotokolle kommen auf dem zentralen Server an. Einige Protokolle kommen jedoch erfolgreich an, darunter: Auth-, Authpriv-, Cron-, Daemon-, Kern- und Syslog-Protokolle. Was benötige ich sonst noch, um Apache-Protokolle zu zentralisieren?

hier ist mein Testlabor-Setup -> Server und Clients sind: Apache/2.4.41 läuft auf Ubuntu Server 20.04 Linux 5.4.0-42. rsyslog-Server und -Clients sind: 8.2001.0. Einzige Firewall ist die Standardinstallation von iptables und ufw.

Die Server-Rsyslog-Konfigurationsdatei /etc/rsyslog.d/01-server.conf lautet:

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

Die Client-Rsyslog-Konfigurationsdatei /etc/rsyslog.d/01-client.conf lautet:

$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

Die Client-Apache-Konfigurationsdatei /etc/rsyslog.d/apache.conf lautet:

$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

Dieses Labor läuft auf Virtualbox, der Rsyslog-Client-Server funktioniert für die meisten Protokolle, nur nicht für Apache

Antwort1

Ihre Apache-Dateiüberwachung sollte den Pfad Ubuntu/Debian anstelle von Red-Hat/CentOS verwenden (/var/log/httpd/error_log VS /var/log/apache2/error.log).

Ändern Sie daher /etc/rsyslog.d/apache.conf in

$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

verwandte Informationen