Articles of Apache

制表符分隔的Apache 2.2x的Logformat的潜在问题?

我的雇主拥有一个CustomLogpipe道处理程序,可将静态Web内容机器访问日志缩减并准备好转换为可以转储到hadoop / hive中的kosher格式。 不幸的是,它取决于一个正则expression式,将日志格式与一些有些复杂的逻辑一起转换,以应对互联网可能导致的最糟糕的情况。 修复是取代当前的脚本,并使整个pipe道更持久。 我有一个想法是取消正则expression式的一部分,做一些事情: LogFormat "%v:%p\t%h\t%l\t%u\t%t\t\"%r\"\t%>s\t%O\t\"%{Referer}i\"\t\"%{User-Agent}i\"" vhost_combined_tabs 诀窍是,每个字段将被制表符分隔。 因此,在脚本语言中,“\ t”上的简单拆分可以可靠地中断访问日志。 即使其中一个字段返回为“”,该选项卡也会保持logging的完整性。 问题是,我无法find任何提及这样做的谷歌。 对我来说,直接从源头上打破工作,而不是脚本处理问题。 我在这里错过了什么?

Apache单一ErrorLog,许多VirtualHosts

我有一个networking服务器与许多(数千)VirtualHosts。 使用当前configuration,Apache为每个VirtualHost填充2个文件:error.log + access.log。 Apache工作在prefork模式,为了避免同时打开多个文件描述符,我希望所有的VirtualHost都有一个access.log和error.log。 CRON任务将每天为每个VirtualHost分割文件,所以我需要* .log文件的每行上的VirtualHost名称。 access.log非常简单: LogFormat "%V:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined CustomLog /var/log/apache2/vhosts_access.log vhost_combined %V给我的VirtualHost名称,这足以分裂文件。 但是我找不到ErrorLog的等效设置。 问题: 在你看来,它是相关的尝试确定每个error.log行的来源 你知道一个解决scheme吗?

我如何使用Apache日志文件来重新创build使用场景

最近我安装了一个网站,请求太多,速度太慢。 网站代码已经做了许多改进,我们也买了一台新的服务器。 我想用完全相同的请求testing新的服务器,使旧的服务器变慢。 之后,我会加倍请求,做新的testing等等。 这些请求logging在Apache日志文件中。 所以,我可以parsing这些文件,并做出一些脚本来做出相同的请求。 当然,在这种情况下,请求将只能由我的电脑对服务器进行,​​但嘿,总比没有好。 问题: – 是否有一些应用程序已经这样做? – 你会用wget吗? AB? python脚本? 谢谢!

不要loggingfavicon.ico错误

我运行一个虚拟主机(50-100)的apache2服务器。 很多这些没有favicon.ico文件,像消息一样混淆错误日志 [Thu Mar 21 14:07:40 2013] [error] [client 84.xx.xx.xx] File does not exist: /var/www/somevhost/public_html/favicon.ico 有没有办法来禁用这些错误的日志logging,如果该文件是favicon.ico? 我已经读过这个问题,但问题是,所有的虚拟主机文件需要修改,这是不是很方便。

apache2访问日志,来自同一台服务器的IP的数千个日志

我正在尝试阅读我的vps 1.1.1.173服务器的Apache访问日志,我发现了一些有线,它几乎98%的来自同一个IP地址的VPS请求这里是一个日志的例子 1.1.1.173 – – [02/Feb/2012:16:39:58 +0400] "GET /css/demo_table.css HTTP/1.1" 200 9933 "-" "Serf/0.7.2 mod_pagespeed/0.10.19.5-1253" 它计算23943forms这个IP,如何解释? 笔记:我有mod的pagespeed启用

查看HTML请求到apache的标题

有没有一种很好的方式来查看到Apache的传入请求的详细版本? 至less我想检查一个特定的头的存在,并检查其值。 请求不是来自浏览器,所以要查看它们是很困难的。 我不知道我的自定义HTTP头实际上是由客户端添加,所以debugging我的rewritecond指令是困难的。

logging在反向代理之后?

目前,我们正在运行Varnish作为我们的开发网站之前的反向代理,在部署到生产之前进行testing。 我不得不面对的一个问题就是日志logging:在直接访问的世界里,Apache将客户端IP地址logging到access_log和error_log 。 当每个客户端连接来自我们的Varnish盒子时,这一点稍微有用。 我已经使用SetEnvIf和LogFormat进行了一些自定义,现在我们的access_log根据传入连接的来源智能地从REMOTE_HOST或X-Forwarded-Forlogging相应的IP。 尽pipe这对于error_log没有任何作用。 据我所知,我不能覆盖这个日志中的客户端IP。 那么,您有什么解决scheme来login逆向代理世界? 我应该几乎写下标准的Apache日志logging,并把我的努力集中在其他地方,即。 在代码中? 我对这里的使用统计和安全审计感兴趣。

Apache和mod_proxy:我怎样才能logging哪个工作人员被选中?

我们正在几个tomcats之前运行一个apache反向代理。 有时我们想知道请求被转发到哪个服务器。 因为我们使用mod_proxy_balancer。 我试过了 \"%{X-Forwarded-Server}i\" 但是这不起作用。 它显示我的loadbalancer(apache)的名称 我怎样才能logging哪个工作人员被选中?

任何方式来确定如何在Linux / Apache服务器上删除文件?

问题: 我在异地的Linux / Apache服务器上有几个丢失的目录。 我已经跟踪了他们从httpd错误日志中丢失的时间,并且我有一个到机器的SSLlogin列表(包含networking地址)。 有几个人可以在机器上访问我的帐户,所以我试图确认这些文件是否被意外删除或有意删除。 如果我可以确定会话来自外部networking地址,那么我可以确定这是故意的。 否则,我将需要更多的信息。 题: 有什么办法来确定什么用户帐户(我的根对比),networking会话,或进程删除的文件? 我不担心恢复他们最近的备份。 相关问题: 我已经尝试着为自己的帐户(除root权限以外的唯一权限)查看bash历史logging,而且似乎只能延伸到我的SSL会话开始。 这是否意味着bash的历史被篡改,还是这种正常的行为?

我如何获得Haproxy不logging本地请求?

我试图从我的机器上清除一些日志混乱,并开始删除从服务器本身生成的请求。 我有caching预热器昼夜不停地运行,我不希望这些污染日志。 我能够通过为本地IP添加一个dontlog来让apache停止logging本地请求: SetEnvIf Remote_Addr "RE\.DA\.CT\.ED" dontlog CustomLog "|logger -p local3.info -t http" combined env=!dontlog 现在我正在寻找类似于Haproxy日志的configuration。 如何防止写入Haproxy日志的127.0.0.1请求? 更新:2/15/11 我使用优秀的loggly服务来提取云中的日志,但是我看到很多这样的日志: 2011 Feb 15 06:09:42.000 [REDACTED] http: RE.DA.CT.ED – – [15/Feb/2011:06:09:42 -0500] "HEAD /search/Nevad/predictive/txt HTTP/1.0" 200 – "-" "Wget/1.10.2 (Red Hat modified)" 2011 Feb 15 06:09:42.000 127.0.0.1 haproxy[10390]: 127.0.0.1:58408 [15/Feb/2011:06:09:42] www i-5dd7a331.0 0/0/0/8/8 200 210 – – […]