nginx访问日志过滤客户端访问

322 阅读1分钟

需求

本地项目开发使用kong,但是kong容器访问日志中存在大量kube-probe的日志记录,该日志是k8s探针进行健康校验发送的请求,可以不用记录。因此需要过滤掉此类日志。

方案

nginx的access_log可以通过if进行过滤,kong是以nginx为基础的、面向API网关的应用。

为了使用access_log的if,需要在http指令内设置map,这里对客户端进行设置

map $http_user_agent $agent { 
    ~^kube 0;
    default 1;
}

设置access_log指令

access_log ${{ACCESS_LOG}} combined if=$agent;

引用