是否有任何标准日志格式包括处理请求所花费的时间?我可以在不破坏标准日志文件解析器的情况下添加它吗?

是否有任何标准日志格式包括处理请求所花费的时间?我可以在不破坏标准日志文件解析器的情况下添加它吗?

我想在 apache 2 中记录%D和记录格式字符串。%O

它们是处理请求所需的时间(以微秒为单位)和发送的总字节数。

这对于生成服务器文件服务速度的统计数据并查看与某些 IP 段的连接是否可能存在问题非常有用。我还计划根据指标进行一些负载调整。我还更改为每日日志文件扩展名和每日日志,以便更好地进行解析。

不幸的是,似乎没有任何标准日志格式包含这两个值。或者有一个?

我真的很想保留相同的日志并使其与 awstats、webalizer 或可能出现的其他各种工具兼容。

所以如果我只是改变

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %D" vhost_combined

常规的 Takes 是否还能正常工作?我记得我曾经听说过,Web 服务器日志文件有某种约定,只要在最后添加内容,就可以更改格式。

  • 有人可以证实/反驳这一点吗?
  • 您认为这通常是一个好主意吗?结果应该准确吗?
  • 您是否知道一些可能更简单的替代方法?某种 iptables 日志记录之类的?

答案1

我不确定这是否可行,但我会尝试一些不同的东西。设置另一个 LogFormat 和 CustomLog 仅用于收集指标。

LogFormat "%O %D" metrics
CustomLog "|/usr/local/bin/gather_metrics" metrics

答案2

我非常有信心,如果您仅将值附加到行尾,那么普通的日志解析器就可以做得很好。

Apache 还允许您输出到多个日志。如果您担心标准日志格式,请保留它并混合其他自定义格式以完全满足您的需要。同时记录到两个日志。

http://httpd.apache.org/docs/current/logs.html#multiple

相关内容