通过nginx日志统计IP访问情况--前端运维

需求:统计web服务器的IP访问情况。

场景:服务器是centos,前端代理服务器nginx,nginx日志路径/var/log/nginx

思路:将多个日志的gz压缩文件解压合并到一个文件,筛选文件内容并格式化,保存结果到新建文件。

具体操作:

进入包含Nginx日志文件的目录

在命令行连上服务器后,输入cd /var/log/nginx,回车

查看日志文件

输入ll,回车(说明:英文小写字母l,其大写为L),可以看到nginx日志都在这。

复制日志压缩文件到logs文件夹

输入mkdir logs,回车,然后就创建了logs目录

创建logs目录
创建了logs目录

输入cp -rf access.log-*.gz /var/log/nginx/logs/,回车(只统计access.log-20240803.gz格式的文件,所以只复制这些文件)

输入cd logs,回车

输入ll,回车

看到access.log-20240803.gz格式的文件都复制了。

合并并解压所有gzip压缩的日志文件

输入cat *.gz | gzip -d > combined_log.txt,回车。这样就讲gz解压后的内容写到 combined_log.txt了。后续分析该文件。

匹配访问了/commons/attachment/download/123456格式的行

接下来可用两种方式操作:分别是grep+awk,awk,二选一即可。

法一:输入grep '/commons/attachment/download/[0-9]* ' combined_log.txt | awk '{print$0}',回车。该命令用正则匹配了combined_log.txt文件中有/commons/attachment/download/[0-9]* 的行,并通过awk命令输出,{print$0}表示输出整行。

法二:输入awk '/\/commons\/attachment\/download\/\w+\s/ {print$0}' combined_log.txt,回车。同理。

简化输出,仅输出IP

从上一个截图看到,IP在第一列

法一:输入grep '/commons/attachment/download/[0-9]* ' combined_log.txt | awk '{print$1}',回车。就是将{print$0}改成了{print$1},表示输出第一列,第一列就是IP

法二:输入awk '/\/commons\/attachment\/download\/\w+\s/ {print$1}' combined_log.txt,回车。

IP排序,去重并统计出现次数

法一:输入grep '/commons/attachment/download/[0-9]* ' combined_log.txt | awk '{print$1}' | sort | uniq -c,回车。

法二:输入awk '/\/commons\/attachment\/download\/\w+\s/ {print$1}' combined_log.txt | sort | uniq -c,回车。

按出现次数再次排序

法一:输入grep '/commons/attachment/download/[0-9]* ' combined_log.txt | awk '{print$1}' | sort | uniq -c | sort -n,回车。

法二:输入awk '/\/commons\/attachment\/download\/\w+\s/ {print$1}' combined_log.txt | sort | uniq -c | sort -n,回车。

将上一步结果输出到文件

法一:输入grep '/commons/attachment/download/[0-9]* ' combined_log.txt | awk '{print$1}' | sort | uniq -c | sort -n > result.txt,回车。

输入cat result.txt,回车。看到结果已经输出到result.txt了。

法二:输入awk '/\/commons\/attachment\/download\/\w+\s/ {print$1}' combined_log.txt | sort | uniq -c | sort -n > result.txt,回车。

输入cat result.txt,回车。看到结果已经输出到result.txt了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容