Don';t在Apache access.log中记录某些请求

Don';t在Apache access.log中记录某些请求,apache,matomo,Apache,Matomo,我最近用自托管分析工具Piwik取代了谷歌分析 这意味着,每当有人连接我的网站时,客户端就会执行一个Javascript跟踪代码,调用我的Piwik服务器 结果: 在我服务器的Apacheaccess.log上,有一行关于,这很正常 在我的Piwik数据库中,存储了关于这次访问的信息,这是正常的 在我的服务器的Apacheaccess.log上,有一行关于我的Piwik服务器收到跟踪请求(由客户端使用JS执行) 日志记录第3部分。这显然太过分了! 从现在起,自从安装了Piwik in,我的acc

我最近用自托管分析工具Piwik取代了谷歌分析

这意味着,每当有人连接我的网站时,客户端就会执行一个Javascript跟踪代码,调用我的Piwik服务器

结果:

  • 在我服务器的Apache
    access.log
    上,有一行关于,这很正常
  • 在我的Piwik数据库中,存储了关于这次访问的信息,这是正常的
  • 在我的服务器的Apache
    access.log
    上,有一行关于我的Piwik服务器收到跟踪请求(由客户端使用JS执行)
  • 日志记录第3部分。这显然太过分了! 从现在起,自从安装了Piwik in,我的
    access.log
    的大小是原来的两倍


    如何删除Apache登录access.log并记录到的连接?i、 e.客户端JS跟踪代码Piwik服务器?

    Apache手册包含一节关于条件日志记录的内容


    您需要做的是在满足条件时设置一个环境变量(路径是piwik/piwik.php)?然后可以在apache日志文件配置中使用该环境变量。

    解决方案是禁用某些请求的日志记录(例如在
    /etc/apache2/sites available/000 default.conf
    带Debian 8):

    
    服务器名www.mywebsite.com
    DocumentRoot/home/www/mywebsite
    ...
    SetEnvIf请求URI“^/piwik(.*)$”dontlog
    CustomLog${APACHE_LOG_DIR}/other_vhost_access.LOG vhost_combined env=!唐特洛
    
    在Apache日志文件中禁用跟踪日志不是最好的主意。如果你的Piwik因某种原因崩溃,或者你的追踪在一段时间内(如周末)无法工作,你将丢失你的数据

    Apache日志可以将您保存在此处,然后您可以使用LogAnalytics重播您的流量:


    最好采用合理的日志文件存储策略,然后从日志中删除数据。

    您可以使用
    grep
    对日志文件进行后期处理……我认为最好不要记录这些请求,而不是记录它们,然后对日志进行后处理以删除它们。
    如果您的Piwik因某种原因或您的跟踪而崩溃在一段时间内(如周末)无法工作,您将丢失数据。
    不,您可能误读了问题。我不想删除我网站的传统apache
    access.log
    logging(我问题的第一部分)。我只想删除Piwik跟踪数据包本身的日志记录(第3部分),即访问
    http://www.mywebsite.com/piwik/piwik.php
    。我当然想保留1。我确实理解你的问题。跟踪数据包对Piwik来说可能是有价值的数据,我会把它们作为备份保存。但这是您的服务器。好吧,对不起,我以为您没有详细阅读;)
    Apache日志可以将您保存在这里,然后您可以使用LogAnalytics回放您的流量
    =>是的,但是对于这一点(即,
    import_logs.py
    ),我们使用第1部分。在我的问题中(即网站访问本身的传统
    access.log
    logging)。第三部分。从来没用过,对吗?简而言之,登录访问网站本身,好吧,但是登录访问网站的跟踪包,在我看来这是多余的。但是我很想知道其他人对此的政策。有些请求可能是多余的,就像
    piwik.js
    资源的请求一样,但是所有跟踪请求对于
    LogAnalytics
    都是有价值的。所有跟踪请求都在URL
    query
    中包含数据负载。你需要它来跟踪事件。另外,如果您希望
    LogAnalytics
    能够通过页面跟踪用户,则需要用户id
    \u id
    ,该id被传递到看似冗余的跟踪请求中。我可以使用此概念停止图像、css和js的日志记录<代码>setenif请求URI“^.*(\.jpg\.png\.gif\.css\.js\.svg)。*“dontlog
    <VirtualHost *:80>
      ServerName www.mywebsite.com
      DocumentRoot /home/www/mywebsite
      ...
      SetEnvIf Request_URI "^/piwik(.*)$" dontlog
      CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined env=!dontlog
    </VirtualHost>