远程Apache日志logging

我一直在研究apache日志的远程日志logging,而且我发现的所有东西都涉及pipe道到日志logging器。

两个问题:

  1. 有没有其他的方式来远程loginApache日志?
  2. 配pipelogging器稳定?

谢谢!

杰夫

1)如标签所示,rsyslog可以做到这一点。 将日志写入文件并使用http://www.rsyslog.com/doc/imfile.html

2)是的。 logger是一个稳定的程序apache的pipe道机制是稳定的(例如,pipe道rotatelogs已被使用相当长一段时间)。

我们使用logstash ,一个开源的日志聚合工具。 它可以从多台机器中获取Apache日志,也可以从其他许多应用程序中获取日志。 最好的方法是用json格式格式化apache httpd日志的输出,如下所示:

 LogFormat "{ \"@timestamp\": \"%{%Y-%m-%dT%H:%M:%S%z}t\", \"@fields\": { \"client\": \"%{X-Forwarded-For}i\", \"virtualhost\": \"%{Host}i\", \"duration_usec\": %D, \"status\": %s, \"request\": \"%U%q\", \"method\": \"%m\", \"referrer\": \"%{Referer}i\" } }" logstash_json 

然后安装logstash并将其收集到中央服务器中。 这是可靠的,生存networking中断(logstash记得起床),并具有非常漂亮的用户界面与search能力。

2)配pipelogging器是否稳定?

许多程序将其输出输出到logger 。 它和任何其他软件一样稳定。

logger很简单,只是工作。 logger利用您现有的系统日志configuration。 它不需要对syslog或rsyslog进行任何调整,也不需要为需要日志的用户授予超级用户权限。 logging器将日志发送到本地系统上的syslog,syslog处理其余部分。

请注意,系统日志历史上使用UDP,UDP旨在成为一个低开销,“不可靠”的协议。 请参阅RFC5426 – “通过UDP传输系统日志消息” ,第4.“可靠性考虑事项”一节。 如果您需要可靠的系统日志,请使用TLS,请参阅RFC5425传输层安全(TLS)传输映射(适用于Syslog) 。