我想在 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 还允许您输出到多个日志。如果您担心标准日志格式,请保留它并混合其他自定义格式以完全满足您的需要。同时记录到两个日志。