从Nginx过滤打印user-agent为clb-healthcheck的日志聊聊Nginx的日志自定义打印
原文中文,约3200字,阅读约需8分钟。
📝
内容提要
介绍如何通过Nginx配置过滤健康检查日志,以及基于不同条件进行日志过滤,包括基于域名、HTTP状态码、URI等。同时,介绍了Nginx内置变量的使用方法,以更加灵活地控制Nginx日志的输出。
🎯
关键要点
-
南北流量链路通常从云的LB到Nginx集群,开启健康检查会产生大量健康检查日志。
-
可以通过Nginx配置过滤健康检查日志,特征是用户代理(ua)为clb-healthcheck。
-
使用map指令声明规则,通过0和1表示是否匹配,access_log中通过if判断应用规则。
-
Nginx内置变量支持灵活定义,常用变量包括$host、$uri、$status等。
-
基于域名的规则可以过滤特定域名的日志。
-
基于HTTP状态码的规则可以过滤特定状态码的日志,如502、503、404。
-
基于指定URI的规则可以过滤特定URI的日志,支持正则表达式。
-
可以基于多个条件进行日志过滤,使用map和if结合配置。
-
示例中展示了如何结合用户代理和cookie进行多条件过滤。
🏷️