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 ファイルの監視では、red-hat/centos ではなく ubuntu/debian パスを使用する必要があります (/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

関連情報