Ngnix日志分析

  • cat用来读取日志内容
  • grep进行匹配的文本搜索
  • wc则进行最终的统计
  • grep与命令格式: grep -E “a.*b” file,ab条件同时成立
  • grep或命令的格式为:grep -E “a|b” file ,ab两个条件有一个成立即可

Nginx日志格式:

$remote_addr – $remote_user [$time_local] $request $status $apache_bytes_sent $http_referer $http_user_agent
127.0.0.1 - - [/Mar/::: +] "GET /fcgi_bin/xxx.fcgi?id=xxx HTTP/1.0"   "-" "Mozilla/4.0"

grep打印匹配的前后几行

$grep -C  ‘parttern’ inputfile //打印匹配行的前后5行
$grep -A ‘parttern’ inputfile //打印匹配行的后5行
$grep -B ‘parttern’ inputfile //打印匹配行的前5行

统计某接口调用的次数

$cat access.log | grep 'GET /task/showContent' | wc -l
$grep 'GET /task/showContent' access.log -c

统计所有接口的调用次数并显示出现次数最多的前二十的URL

$cat access.log|awk '{split($7,b,"?");COUNT[b[1]]++;}END{for(a in COUNT) print COUNT[a], a}'|sort -k1 -nr|head -n20

统计nginx日志中报错较多的接口

$cat nginx-ad-access.log|awk'{if($9==500) print $0}'|awk '{split($7,b,"?");COUNT[b[1]]++;}END{for(a in COUNT) print COUNT[a], a}'|sort -k  -nr|head -n10

通过日志查看当天访问页面排前10的url

$cat access.log | grep "24/Mar/2011" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 

通过日志查看当天访问次数最多的10个IP ,只需要在上一个命令后加上head命令

$cat access.log | grep "24/Mar/2011" |awk '{print $3}'|sort |uniq -c|sort -nr|head –n 

通过日志查看当天访问次数最多的10个IP

$awk '{print $1}' access.log |sort |uniq -c|sort -nr|head

通过日志查看当天指定ip访问次数过的url和访问次数

$cat access.log | grep "10.0.21.17" | awk '{print $7}' | sort | uniq -c | sort –nr

通过日志查看当天访问次数最多的时间段

$awk '{print $4}' access.log | grep "24/Mar/2011" |cut -c -|sort|uniq -c|sort -nr|head

Ngnix日志分析的更多相关文章

  1. 基于SQL的日志分析工具myselect

    基本介绍 程序开发者常常要分析程序日志,包括自己打印的日志及使用的其他软件打印的日志,如php,nginx日志等,linux环境下分析日志有一些内置命令能够使用,如grep,sort,uniq,awk ...

  2. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  3. 海量日志分析方案--logstash+kibnana+kafka

    下图为唯品会在qcon上面公开的日志处理平台架构图.听后觉得有些意思,好像也可以很容易的copy一个,就动手尝试了一下. 目前只对flume===>kafka===>elacsticSea ...

  4. ELK+Kafka集群日志分析系统

    ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...

  5. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  6. Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例 ...

  7. Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...

  8. MyCAT日志分析

    MyCAT日志对于了解MyCAT的运行信息不可获取,譬如MyCAT是否采用读写分离,对于一个查询语句,MyCAT是怎样执行的,每个分片会分发到哪个节点上等等. 默认是info级别,通过log4j.xm ...

  9. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

随机推荐

  1. CentOS 7 系统的初化始配置

    安装好CentOS7系统后我们要进行初始设置来让我们的服务器方便管理与使用,但是发现在7以前的版本都能输入的命令不能输入了,去官网查查才发发生了很大的变化,关于有哪些变化的可以点击这里查看,初始配置的 ...

  2. RHCE就该这么搞01

    RHCE就该这么搞01 学习之初:快速了解Linux Boot From Hard DiskInstallationUpgradeMore---------------Boot OpsionsStar ...

  3. 安装完office后 在组件服务里DCOM配置中找不到

    这个主要是64位系统的问题,excel是32位的组件,所以在正常的系统组件服务里是看不到的 可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到excel组件了

  4. Java编程思想 学习笔记0(忽略)

    前言 emmm...博客荒废了好久,总是有各种借口拖延,做的许多题都没有总结.买了一本厚厚的java书,所以决定先新开一个专题,逼迫自己坚持更新学习进度吧,同时也巩固一下知识,做个记录,不至于荒废时光 ...

  5. ubuntu16.04.1下安装mysql

    版本信息 ubuntu版本:16.04.1 mysql-server版本:5.7.23 安装 先查看一下apt可获取的mysql版本 ubuntu@VM-0-4-ubuntu:~$ apt searc ...

  6. Nginx 学习笔记(四)nginx-module-vts模块

    看看已经搭建好的效果图 1.基本信息 2.过滤信息 3.上游服务器 4.其他进程 1.获取组区域(默认返回json格式数据) (1)mainZones https://www.tinywan.com/ ...

  7. Linux - 网络检测

    linux 利用bmon/nload/iftop/vnstat/iptraf实时查看网络带宽状况 .添加yum源方便安装bmon # rpm -Uhv http://apt.sw.be/redhat/ ...

  8. Linux 之【辨析UPDATE/UPGRADE】和安装/卸载软件(apt-get)

    一.[辨析UPDATE/UPGRADE] UPDATE: update is used to download package information from all configured sour ...

  9. Linux新增用户过程详解

    Linux系统中,当使用useradd添加用户时,会将系统的/etc/skel目录下的所有文件复制到新添加用户的家目录中.该目录下的所有文件都是隐藏文件(以.点开头的文件). 通过修改.添加.删除/e ...

  10. Django学习手册 - 登录装饰器

    # 装饰器定义 def auth(func): def inner(request,*args,**kwargs): v = request.COOKIES.get("user") ...