`
chinamming
  • 浏览: 151237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

awk分析nginx日志,获取pv

 
阅读更多

最近在深入系统运维的事情,从服务器配置、调优、维护,到各种脚本编写。实现自动化智能运维的目标还要很远。

从nginx的日志中分析每日有效的pv和各搜索引擎爬虫的请求数。脚本用awk实现。

函数库文件 stat_func.sh

  1. #!/bin/bash
  2. stat_log_path=/usr/local/qqsa/result
  3. stat_nginx_log()
  4. {
  5. localbasename=`basename$1`
  6. localnewfile="${stat_log_path}/${basename%%.*}.pv.`date+'%Y-%m-%d'`"
  7. awk-F/"'
  8. {
  9. if($2~/css|txt|ico/)res["static"]++;
  10. elseif($6~/Baiduspider/){res["baidu"]++;res["spider"]++;}
  11. elseif($6~/Googlebot/){res["google"]++;res["spider"]++;}
  12. elseif($6~/Yahoo!Slurp/){res["yahoo"]++;res["spider"]++;}
  13. elseif($6~/Sogouwebspider/){res["sogou"]++;res["spider"]++;}
  14. elseif($6~/Sosospider/){res["soso"]++;res["spider"]++;}
  15. elseif($6~/YodaoBot/){res["youdao"]++;res["spider"]++;}
  16. elseif($6~/msnbot/){res["msnbot"]++;res["spider"]++;}
  17. elseif($6~/iaskspider/){res["sina"]++;res["spider"]++;}
  18. elseres["good"]++;
  19. }
  20. END{
  21. for(iteminres)printitem":"res[item]
  22. }'$1>$newfile
  23. }

执行文件 stat_every_day.sh

  1. #!/bin/bash
  2. ../stat_func.sh
  3. date=`date+'%Y-%m-%d'`
  4. find/data/cs_log_backup/${date}-name"*.access.*"|/
  5. whilereadfile
  6. do
  7. $(stat_nginx_log"$file")
  8. done

crontab -e

最下面增加一行

00 3 * * * /usr/local/maintain/stat_every_day.sh > /dev/null 2 >& 1

参考文献:

http://tech.foolpig.com/2008/07/09/linux-shell-char/ shell字符串的截取

http://storysky.blog.51cto.com/628458/270671用AWK来过滤nginx日志中的特定值

http://storysky.blog.51cto.com/628458/271560用SED+AWK来分析NGINX日志

http://book.douban.com/subject/1236944/sed与awk

转载http://blog.csdn.net/LongMarch12/archive/2011/02/24/6204550.aspx

最近在深入系统运维的事情,从服务器配置、调优、维护,到各种脚本编写。实现自动化智能运维的目标还要很远。

从nginx的日志中分析每日有效的pv和各搜索引擎爬虫的请求数。脚本用awk实现。

函数库文件 stat_func.sh

  1. #!/bin/bash
  2. stat_log_path=/usr/local/qqsa/result
  3. stat_nginx_log()
  4. {
  5. localbasename=`basename$1`
  6. localnewfile="${stat_log_path}/${basename%%.*}.pv.`date+'%Y-%m-%d'`"
  7. awk-F/"'
  8. {
  9. if($2~/css|txt|ico/)res["static"]++;
  10. elseif($6~/Baiduspider/){res["baidu"]++;res["spider"]++;}
  11. elseif($6~/Googlebot/){res["google"]++;res["spider"]++;}
  12. elseif($6~/Yahoo!Slurp/){res["yahoo"]++;res["spider"]++;}
  13. elseif($6~/Sogouwebspider/){res["sogou"]++;res["spider"]++;}
  14. elseif($6~/Sosospider/){res["soso"]++;res["spider"]++;}
  15. elseif($6~/YodaoBot/){res["youdao"]++;res["spider"]++;}
  16. elseif($6~/msnbot/){res["msnbot"]++;res["spider"]++;}
  17. elseif($6~/iaskspider/){res["sina"]++;res["spider"]++;}
  18. elseres["good"]++;
  19. }
  20. END{
  21. for(iteminres)printitem":"res[item]
  22. }'$1>$newfile
  23. }

执行文件 stat_every_day.sh

  1. #!/bin/bash
  2. ../stat_func.sh
  3. date=`date+'%Y-%m-%d'`
  4. find/data/cs_log_backup/${date}-name"*.access.*"|/
  5. whilereadfile
  6. do
  7. $(stat_nginx_log"$file")
  8. done

crontab -e

最下面增加一行

00 3 * * * /usr/local/maintain/stat_every_day.sh > /dev/null 2 >& 1

参考文献:

http://tech.foolpig.com/2008/07/09/linux-shell-char/ shell字符串的截取

http://storysky.blog.51cto.com/628458/270671用AWK来过滤nginx日志中的特定值

http://storysky.blog.51cto.com/628458/271560用SED+AWK来分析NGINX日志

http://book.douban.com/subject/1236944/sed与awk

转载http://blog.csdn.net/LongMarch12/archive/2011/02/24/6204550.aspx

分享到:
评论

相关推荐

    awk测试从nginx查询qps的测试日志.log

    awk测试从nginx查询qps的测试日志

    nginx日志分析技巧.zip

    通过分析日志,我们可以找出性能瓶颈,优化服务器配置,提升服务效率。 **蜘蛛抓取统计**对于网站SEO(搜索引擎优化)具有重要意义。记录并分析搜索引擎爬虫的访问频率和行为,可以调整网站内容更新策略,提高搜索...

    统计Nginx日志里前一个小时的IP数量以及IOS占比

    Nginx作为一款高性能的Web服务器,其日志记录了服务器与客户端交互的详细信息,这些信息对于监控、性能优化、安全分析等至关重要。本话题将围绕“统计Nginx日志里前一个小时的IP数量以及iOS占比”这一主题展开,讲解...

    nginx-log-analysis:用于分析 nginx 日志文件的很棒的 linux shell 命令的精选列表

    它的日志记录了服务器与客户端之间的交互详情,通过分析这些日志,我们可以获取到宝贵的性能数据、安全信息以及故障排查线索。本篇文章将详细介绍如何利用Linux shell命令来分析Nginx的日志文件。 首先,了解Nginx...

    nginx日志测试使用 access.log.zip

    分析日志文件通常使用命令行工具,如`grep`、`awk`、`sort`和`uniq`,或者使用专门的日志分析软件如Logstash、Splunk和ELK(Elasticsearch、Logstash、Kibana)堆栈。对于大型日志,可能需要实时分析,这时可以考虑...

    java版本awk日志分析

    环境:linux 优点:可分析大日志,大量文件,避免java分析大日志的数据量过大导致的内存泄漏问题。 高效,调用linux shell预筛选,不需... 快速,2-3G的文件可在几十秒内完成筛选,相对java代码分析日志速度明显提升。

    shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    本文将介绍一个用于分析`nginx`日志的`shell`脚本,该脚本能够帮助我们找出访问次数最多和最耗时的页面,从而针对性地进行优化。这个脚本类似于`MySQL`中的慢查询日志分析,但针对的是Web页面的慢访问情况。 首先,...

    使用MongoDB分析Nginx日志的方法详解

    总的来说,使用MongoDB分析Nginx日志提供了一种高效且灵活的方法,可以帮助开发者深入了解网站的访问情况,及时发现潜在问题,并为优化性能、提高用户体验提供数据支持。通过结合其他工具和语言,如Python的...

    linux Nginx 日志脚本

    Nginx日志切割脚本主要用于定期处理Nginx产生的日志文件,包括旧日志文件的归档压缩、新日志文件的创建等操作,以减少日志文件占用的空间,同时方便后续的日志分析。 **脚本内容分析:** 1. **变量定义:** - `...

    分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)

    以下是对Nginx日志分析及IP屏蔽配置的详细说明。 首先,分析Nginx日志是识别潜在采集者IP的关键步骤。`nginx.access.log`是Nginx服务器默认的日志文件,记录了所有HTTP请求的信息。通过`awk`命令,我们可以提取出IP...

    多线程自定义规则 Nginx Access Log 分析器(比AWK快)

    在IT行业中,日志分析是一项至关重要的任务...总的来说,通过使用Java的多线程能力和自定义规则,我们可以构建一个高效且灵活的Nginx Access Log分析器,超越传统的AWK解决方案,为IT运维人员提供强大的日志处理工具。

    windows下Nginx日志处理脚本

    1. Nginx日志处理:该文件提到了针对Nginx服务器日志的处理,这是一个对网站管理员十分重要的任务,因为分析服务器日志有助于监控网站运行状况、了解访问者行为、进行安全审计以及优化网站性能。 2. Windows环境下...

    Nginx日志统计分析的常用命令总结

    本文主要给大家总结了关于Nginx日志统计分析的一些常用命令,分享出来供大家参考学习,下面来一起看看详细的介绍: 一、IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一...

    详解NGINX如何统计网站的PV、UV、独立IP

    对于独立IP的统计,可以通过分析日志文件,将一天内出现多次的相同IP地址进行去重处理。在日志输出格式中,$remote_addr变量代表了客户端IP地址,通过日志分析工具或者脚本来统计每天独立出现的IP地址数量,即可得到...

    linux下shell处理nginx日志自动生成ip黑名单

    #shell脚本处理nginx日志自动生成ip黑名单 ##统计访问量前10名的ip并写入文件 #!/bin/bash data=`date +%Y-%m-%d` #统计访问量最高的前10ip awk '{print $1}' '/PATH/'$data'.log' | sort -n |uniq -c | sort -rn | ...

    shell版Nginx日志蜘蛛爬取查看脚本

    Shell脚本是Linux/Unix系统中用于自动化任务的编程语言,它可以帮助用户高效地处理文本文件,例如Nginx的日志文件。在这个特定的场景中,我们有一个专门用于查看Nginx日志中搜索引擎蜘蛛爬取活动的shell脚本。Nginx...

    nginx--centos6.5(日志功能)安装文档以及安装文件

    tail -f /var/log/nginx/access.log | awk '{print "UTF-8:" $0}' > /var/log/nginx/access_utf8.log ``` 这样,`access_utf8.log`文件将会以UTF-8编码存储日志信息,从而避免中文乱码。 总结来说,安装Nginx并...

    awk-for-apache-nginx-logs:适用于Apache Nginx日志的AWK

    该awk脚本处理的日志格式与Apache和Nginx Web服务器经常使用的“组合”日志相匹配。 如果您的日志文件格式不同,请进行相应的修改,但这是此脚本默认期望的组合格式,以供参考: %h %l %u %t "%r" %>s %b "%{...

Global site tag (gtag.js) - Google Analytics