Ubuntu
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
你的 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