爬虫访问产生的日志太干扰分析 access.log 了,但又不想完全过滤掉爬虫产生的日志,所以需要将这些日志条目单独分离出来写入另外一个 bot.log,以后分析日志就方便多了。
先用一个 map 定义非爬虫访问:
map $http_user_agent $notbot {
~*Googlebot 0;
~*bingbot 0;
~*Baiduspider 0;
~*Bytespider 0;
default 1;
}
~*
的作用是不区分大小写。然后再定义一个 map,用于判断是爬虫访问:
map $notbot $bot {
0 1;
default 0;
}
最后放在 access_log
指令里就可以了:
access_log /var/log/nginx/access.log combined if=$notbot;
access_log /var/log/nginx/bot.log combined if=$bot;
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于