【问题标题】:How can I prevent apache to log Health Checks in Docker? [closed]如何防止 apache 在 Docker 中记录健康检查? [关闭]
【发布时间】:2021-02-22 08:05:42
【问题描述】:

我部署了一个 dockerized web 应用程序,一切正常,记录每个请求,包括大量的健康检查,这些检查被配置为点击页面/health,一个空白页面。

我认为这是一个常见问题,我发现 this 问题针对不同的堆栈 (Elastic Beanstalk)。

我想要一个完全自动的解决方案,可能在Dockerfile

【问题讨论】:

    标签: apache docker


    【解决方案1】:

    首先,我需要一个额外的Apache配置文件,我们称之为apacheLogFilter.conf

    内容将非常简单,但可以根据需要自定义,定义自定义规则。诀窍是定义一个自定义环境变量,如果存在,它将停止该请求的日志记录

    SetEnvIf Request_URI "^/health$" dontlog
    

    一旦定义了这个新配置,我们需要将它直接插入到apache中Dockerfile,添加以下行:

    FROM php:7.2-apache
    
    ...
    
    # Copy the log-filtering configuration in the right place
    COPY  apacheLogFilter.conf /etc/apache2/conf-enabled
    
    # Change the standard logging entry of all the available sites to use the variable 
    RUN sed -ri -e 's!combined!combined env=\!dontlog!g' /etc/apache2/sites-available/*.conf
    
    ...
    

    这样,配置文件会在启动时被apache加载,每个请求都会检查定义的规则,万一其中一个触发,请求不会被记录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多