Apache2 no envía registros al servidor remoto a través de rsyslog

Apache2 no envía registros al servidor remoto a través de rsyslog

Tanto el acceso a Apache como los registros de errores de Apache no llegan al servidor central. Algunos registros llegan correctamente, aunque se incluyen: registros de autenticación, authpriv, cron, daemon, kern y syslog. ¿Qué más necesito para centralizar los registros de Apache?

aquí está la configuración de mi laboratorio de pruebas -> El servidor y los clientes son: Apache/2.4.41 ejecutándose en Ubuntu Server 20.04 Linux 5.4.0-42. El servidor y los clientes de rsyslog son: 8.2001.0. Solo el firewall es la instalación predeterminada de iptables y ufw.

El archivo de configuración del servidor rsyslog es /etc/rsyslog.d/01-server.conf es:

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

El archivo de configuración del cliente rsyslog es /etc/rsyslog.d/01-client.conf es:

$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

El archivo de configuración de Apache del cliente /etc/rsyslog.d/apache.conf es:

$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

Este laboratorio se ejecuta en virtualbox, el servidor cliente rsyslog funciona para la mayoría de los registros, pero no para Apache.

Respuesta1

El monitoreo de archivos de Apache debe usar la ruta ubuntu/debian en lugar de red-hat/centos (/var/log/httpd/error_log VS /var/log/apache2/error.log)

Entonces cambie /etc/rsyslog.d/apache.conf a

$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

información relacionada