了解现代 Linux 系统中 Apache 日志消息的一天

Mar*_*tin 6 logs systemd apache-httpd

systemd基于现代的 Linux 系统中,Apache 日志消息的一天是什么样的?我希望它是这样的:

  1. Apache 守护进程使用以下命令写入日志消息 syslog(3)
  2. 此日志消息写入 /run/systemd/journal/dev-log
  3. systemd-journald 从中读取日志消息 /run/systemd/journal/dev-log
  4. systemd-journald 写到 /run/systemd/journal/syslog
  5. rsyslogd或者syslog-ng监听/run/systemd/journal/syslog,获取消息,然后根据他们的配置进行处理

我错过了什么吗?Apache 是否有可能将日志(例如访问日志消息)直接记录到文件中,完全绕过整个日志系统?

Mar*_*erg 9

这取决于 Apache 配置。如mod_log_config 中所述CustomLog可用于将日志直接发送到文件或通过管道将它们发送到命令。该命令可以反过来将内容通过管道传送到syslog守护程序,甚至可以传送到systemd journal.

尚未发布的 Apache 2.5 允许直接systemd通过mod_journald.