平时运维遇到最多的就是nginx的日志分析了,要时常做系统监控,检查IP的访问次数是否有异常,防止恶意访问。

假设我的nginx日志如下:

.......

211.253.43.23 - - [03/Jun/2019:11:41:02 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:41:25 +0800] "POST

211.253.43.23 - - [03/Jun/2019:11:41:25 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:41:26 +0800] "GET

39.100.41.229 - - [03/Jun/2019:11:41:56 +0800] "GET

39.100.41.229 - - [03/Jun/2019:11:41:56 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:41:56 +0800] "POST

211.253.43.23 - - [03/Jun/2019:11:41:57 +0800] "GET

39.100.41.229 - - [03/Jun/2019:11:42:00 +0800] "POST

211.253.43.23 - - [03/Jun/2019:11:42:00 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:42:08 +0800] "POST

211.253.43.23 - - [03/Jun/2019:11:42:11 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:42:11 +0800] "GET

211.253.43.23 - - [03/Jun/2019:11:42:12 +0800] "GET

......

下面是各种统计访问次数的shell代码:

1.2019年8月6日期间访问次数最多的7个IP:

[root@hostname ~]# cat nginx.log | grep '03/Jun/2019' | awk '{print $1}'| sort | uniq -c | sort -k 1 -nr | head -7

2597 211.253.43.23

64 39.100.41.229

19 118.112.56.37

15 223.72.99.60

10 118.112.58.225

9 182.148.58.232

6 116.236.146.22

#

2.2019年8月6日期间访问次数大于等于10次的所有IP地址:

[root@hostname ~]# cat nginx.log | grep '03/Jun/2019' | awk '{print $1}'| sort | uniq -c | awk '{if ($1 > 10) print $2}' | sort -nr

223.72.99.60

211.253.43.23

118.112.56.37

39.100.41.229

3.日志文件中访问次数最多的10个请求(日志每行GET后面的内容)例如 /s?defs=ascii&project=linux-3.18.6,注意不允许有空行,不包含 /robots.txt,.js,.css,*.png 这类静态文件、图片等访问。

[root@hostname ~]# cat nginx.log | grep "GET" | grep -Ev 'txt|js|png|css ' | awk '{ print $7}'| sort | uniq -c | sort -k 1 -n -r | head -11 | awk 'NR>1 {print $2}' >output3.txt

**暂无数据**

4.日志文件中访问状态为 404 的所有访问请求地址:

[root@hostname ~]# cat nginx.log | grep "404" | grep -Ev 'txt|js|png|css ' | awk '{print $7}' | sort | uniq -c |awk '{print $2}' >output4.txt

**暂无数据**

ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本相关推荐

  1. python分析nginx日志的ip(中篇一)

    2019独角兽企业重金招聘Python工程师标准>>> 利用python的数据分析pandas,numpy,matplotlib模块进行可视化分析,画出图表,这几个模块需要独立安装, ...

  2. PHP独立ip统计,通过nginx日志统计独立ip的个数 新乡独立ip 独立ipvps 独立公网i

    使用uniq命令可以过滤掉文本文件中重复的行以及统计等等功能,同时它也接受来着管道的输入.借助awk,甚至可以对行中的列进行操作,例如统计nginx日志信息中独立ip数.列出访问次数最多的ip等.需要 ...

  3. 通过nginx日志统计独立ip的个数

    使用uniq命令可以过滤掉文本文件中重复的行以及统计等等功能,同时它也接受来着管道的输入.借助awk,甚至可以对行中的列进行操作,例如统计nginx日志信息中独立ip数.列出访问次数最多的ip等.需要 ...

  4. CentOS 7.2下ELK分析Nginx日志生产实战(高清多图)

    注:本文系原创投稿 本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名 ...

  5. 烂泥:利用awstats分析nginx日志

    昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割nginx日志>这篇文章. 今天打算分析下nginx日志,要分析nginx日志,我们可以通过shell脚本 ...

  6. 利用awstats分析nginx日志

    今天打算分析下nginx日志,要分析nginx日志,我们可以通过shell脚本和第三方软件awstats进行分析,在此我们选择的是通过第三方软件awstats进行分析. 要使用awstats分析ngi ...

  7. python 正则分析nginx日志

    有个需求要分析nginx日志,也懒得去研究logstach之类的开源工具,干脆直接写一个脚本,自己根据需求来实现: 先看日志格式:我们跟别人的不太一样,所以没办法了: 12.195.166.35 [1 ...

  8. 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]

    如何分析apache日志[access_log(访问日志)和error_log(错误日志)] 发布时间: 2013-12-17 浏览次数:205 分类: 服务器 默认Apache运行会access_l ...

  9. python分析nginx日志

    利用python脚本分析nginx日志内容,默认统计ip.访问url.状态,可以通过修改脚本统计分析其他字段. 一.脚本运行方式 python count_log.py -f med.xxxx.com ...

最新文章

  1. “勤奋”,是能让你走出低谷最有效的方法
  2. 进程状态控制-进程的撤销
  3. java实现微信企业付款到银行卡_微信企业付款到银行卡实现方式 - 黎明互联-官方博客 - 黎明互联 - 区块链培训,PHP培训,IT培训,职业技能培训,追求极致!改变您的职业生涯!...
  4. CentOS7下安装pssh并使用
  5. [云炬创业管理笔记]第二章测试3
  6. Windows + Eclipse + Gtk 环境(总结)
  7. [Linux]ARP协议
  8. 过拟合问题——正则化方法
  9. LeetCode 4. 寻找两个有序数组的中位数(二分查找,难)
  10. java非检查性异常有哪些_Java异常处理-检查性异常、非检查性异常、Error
  11. 线程锁定CPU linux,linux 线程与CPU绑定
  12. SQLServer 延迟事务持久性
  13. Python文本数据分析与挖掘,外版畅销书中文版火爆上市
  14. 【备忘】最新区块链开发入门到精通视频教程下载
  15. 引力波是怎样产生的?
  16. nodejs 传递参数
  17. 浙江省2013计算机教师招聘试题,2013年浙江省教师招聘考试真题(教育基础知识)省统考中学...
  18. Java毕设项目艾灸减肥管理网站计算机(附源码+系统+数据库+LW)
  19. 在intellij上运行java_如何解决无法在IntelliJ中运行java 11示例程序?
  20. Python 编写max()函数

热门文章

  1. postgresql数据类型转换
  2. 从零开始:iOS(三)
  3. DIY协同办公平台(C/S)系列4之通讯录篇
  4. [导入]将Byte数组转化为String
  5. vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?
  6. 牛客 21302 被3整除的子序列 (动态规划、Python)
  7. NAT与DHCP协议
  8. 读取bmp格式数据--实践思考
  9. html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注
  10. 刚安装完的ubuntu安装谷歌浏览器