一、背景阿里云SLS用来采集kong、nginx、JVM等格式的日志配置要采集的机器和日志路径然后解析日志的时候选择对应的解析插件。最近遇到一个需求因为存储的日志量越来越大需要对部分Uri的采集给与排除在外以此减少存储量来节省费用。该日志的路径request_uri /data/wifi.html, 每天的请求量在百万级别而这个日志打印对我们排除问题没用。所以要么kong不打印该日志要么sls不采集它。在尝试了kong的修改关闭日志无果后决定还是简单些从采集端入手。二、SLS采集的配置新增过滤处理的插件参考其官方文档数据过滤类插件因为kong access log 没有级别的概念但是有uri仿照官方的示例很容易写出自己的过滤规则。2、sls数据过滤插件sls采集增加过滤插件request_uri .^(?!.(/data/wifi.html)).*保存配置后期的日志就不会被采集到SLS了。查询验证三、kong配置虽然不太建议修改kong access log配置但还是简单说明。# vi /usr/local/share/lua/5.1/kong/templates/nginx_kong.lua# 关闭该日志(不好实现)location /data/wifi.html{access_log off;...... // 略}# kong check# kong reload注意 虽然kong的配置文件是/usr/local/kong/nginx-kong.conf, 但是你不能直接修改会在Kong reload之后被nginx_kong.lua所覆盖。kong 作为生产在实时运行的怎么说去修改它都是一个风险。最保险的方式还是修改采集端因为我们的目标是减少费用。如此kong机器上有原始的日志sls因为排除掉了该日志也不会产生费用。可谓是一举两得的好事。
SLS采集日志时,使用过滤插件排除指定日志
发布时间:2026/6/10 23:03:39
一、背景阿里云SLS用来采集kong、nginx、JVM等格式的日志配置要采集的机器和日志路径然后解析日志的时候选择对应的解析插件。最近遇到一个需求因为存储的日志量越来越大需要对部分Uri的采集给与排除在外以此减少存储量来节省费用。该日志的路径request_uri /data/wifi.html, 每天的请求量在百万级别而这个日志打印对我们排除问题没用。所以要么kong不打印该日志要么sls不采集它。在尝试了kong的修改关闭日志无果后决定还是简单些从采集端入手。二、SLS采集的配置新增过滤处理的插件参考其官方文档数据过滤类插件因为kong access log 没有级别的概念但是有uri仿照官方的示例很容易写出自己的过滤规则。2、sls数据过滤插件sls采集增加过滤插件request_uri .^(?!.(/data/wifi.html)).*保存配置后期的日志就不会被采集到SLS了。查询验证三、kong配置虽然不太建议修改kong access log配置但还是简单说明。# vi /usr/local/share/lua/5.1/kong/templates/nginx_kong.lua# 关闭该日志(不好实现)location /data/wifi.html{access_log off;...... // 略}# kong check# kong reload注意 虽然kong的配置文件是/usr/local/kong/nginx-kong.conf, 但是你不能直接修改会在Kong reload之后被nginx_kong.lua所覆盖。kong 作为生产在实时运行的怎么说去修改它都是一个风险。最保险的方式还是修改采集端因为我们的目标是减少费用。如此kong机器上有原始的日志sls因为排除掉了该日志也不会产生费用。可谓是一举两得的好事。