我知道有很多像这样的主题,但我有一个特殊的需求:我需要将所有日志从 Linux 服务器发送到中央登录服务器。
问题 1:在中央服务器上,我需要以以下格式存储日志:
<root_dir>/<server_name>/<year>/<month>/<day>/{messages, mail, auth, httpd, etc}.log (the exact original file name of the log file)
rsyslog 服务器配置如下
$template RemoteHost,"/var/log/remotes/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/%PROGRAMNAME%.log" which creates the folder structure ok but for some logs it doesn't work (httpd logs)
问题 2:我需要发送所有日志。在远程服务器 (centOS) 上,我配置了经典
*.* @@<central-server-hostname>:5544
但我看到 httpd 日志没有发送(我想是因为过滤器。并且 httpd 日志被命名为“httpd_acces”并且与过滤器不匹配。
你知道这是否可能吗?
答案1
Apache 默认不使用syslog
,它只是默认写入 Apache 配置中定义的一些文件。
您可以配置 Apache 将日志传送到 syslog,例如通过logger
或配置rsyslog
监视 Apache 文件并将内容发送到远程服务器。