• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell

统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了nginx 日志,nginx日志切割,查看nginx日志,nginx日志分析,nginx 日志格式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell


1、目标

按照要求统计某一时段内nginx日志中各服务的http总请求数、成功数和失败数

2、脚本说明

  • 服务名称由name变量给出,shell脚本调用给出name变量的值
  • 统计周期,可以为某一时刻,可以为秒、分、小时、天,由调用shell给出

3、awk脚本内容

#!/bin/awk -f#分类按秒统计nginx日志中request/mts/query20/query30/rvs/rs/mts等等的http总请求数、成功数、错误数#BEGIN{          #name变量从shell脚本中获取          nginx[name]=0;          nginx_suc[name]=0;          mts[name]=0;          mts_suc[name]=0;          query20[name]=0;          query20_suc[name]=0;          query30[name]=0;          query30_suc[name]=0;          rvs[name]=0;          rvs_suc[name]=0;          rs[name]=0;          rs_suc[name]=0;          rtei[name]=0;          rtei_suc[name]=0;          #debug          #name="03/Nov/2012:09:00:01";          #print name,argv[1],argv[2]     }{ #access.log #第七列为用户请求连接 #统计nginx当前秒的总请求数 nginx[name]++ #统计nginx当前秒的成功总请求数 if($9<400)       {         nginx_suc[name]++       } #计算mts的当前秒的请求次数 if(substr($7,2,8)=="MTServer")        {           #counter_rs_all数组存放对应rvs数组时间段的RouterServer的请求次数          mts[name]++;          #debug          #print name;          #print rs[name],counter_rs_all[name];        } #计算mts的当前秒的成功请求次数 if(substr($7,2,8)=="MTServer" && ($9<400))                {          mts_suc[name]++;          #debug          #print name;          #print rs[name],counter_rs_suc[name];        }  #计算query2.0总数 if(substr($7,2,14)=="QueryServer2.0")        {           query20[name]++;          #print name,query20[name];        } #计算query20成功总数 if(substr($7,2,14)=="QueryServer2.0" && ($9<400))                {          query20_suc[name]++;          #debug          #print name,query20[name];        } #计算query3.0总请求次数 if(substr($7,2,14)=="QueryServer3.0")        {          query30[name]++;          #debug          #print name,query30[name];        } #计算query30成功次数 if(substr($7,2,14)=="QueryServer3.0" && ($9<400))        {          query30_suc[name]++;          #debug          #print name,query30_suc[name];        }  #计算rvs总数 if (substr($7,2,11)=="RVServer3.0")        {           rvs[name]++;          #print name,rvs[name];        } #计算rvs成功总数 if (substr($7,2,11)=="RVServer3.0" && ($9<400))        {          rvs_suc[name]++;          #debug          #print name,rvs_suc[name];        } #计算rs总请求次数 if(substr($7,2,12)=="RouteServer4")        {          rs[name]++;          #debug          #print name,rs[name];        }  #计算rs成功次数  if(substr($7,2,12)=="RouteServer4" && ($9<400))        {          rs_suc[name]++;          #debug          #print name,rs_suc[name];        } #计算rtei总请求次数        if(substr($7,2,10)=="RTEIServer")        {          rtei[name]++;          #debug          #print name,rtei[name];        } #计算rtei成功次数      if(substr($7,2,10)=="RTEIServer" && ($9<400))        {          rtei_suc[name]++;          #debug          #print name,rtei_suc[name];        } #计算advert总请求次数  if(substr($7,2,14)=="navidog2Advert")        {          advert[name]++;          #debug          #print name,advert[name];        } #计算advert成功次数 if(substr($7,2,14)=="navidog2Advert" && ($9<400))        {          advert_suc[name]++;          #debug          #print name,advert_suc[name];        }#计算navidog2Goods总请求次数  if(substr($7,2,13)=="navidog2Goods")        {          goods[name]++;          #debug          #print name,goods[name];        } #计算navidog2Goods成功次数 if(substr($7,2,13)=="navidog2Goods" && ($9<400))        {          goods_suc[name]++;          #debug          #print name,goods_suc[name];        } #计算http 400次数 if ($9==400)        {          http400++;          #debug          #print http400;        } #计算VoiceInfoServer请求次数 if (substr($7,2,15)=="VoiceInfoServer")        {          voiceinfo[name]++;          #debug          #print name,voiceinfo[name];        }  #计算VoiceInfoServer请求成功次数  if (substr($7,2,15)=="VoiceInfoServer" && ($9<400))        {          voiceinfo_suc[name]++;          #debug          #print name,voiceinfo_suc[name];        } }      END{        #打印统计结果,        print name,nginx[name]+0,nginx_suc[name]+0,mts[name]+0,mts_suc[name]+0,query20[name]+0,query20_suc[name]+0,query30[name]+0,query30_suc[name]+0,rvs[name]+0,rvs_suc[name]+0,rs[name]+0,rs_suc[name]+0,rtei[name]+0,rtei_suc[name]+0,advert[name]+0,advert_suc[name]+0,goods[name]+0,goods_suc[name]+0,http400+0,voiceinfo[name]+0,voiceinfo_suc[name]+0   } 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • nginx 1.12 stream 日志设置
  • 统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell

相关文章

  • 2017-05-26Android程序中--不能改变的事情,android程序--改变
  • 2017-05-26自定义控件详解(四):Paint 画笔路径效果,paint画笔
  • 2017-05-26支持缩放的fresco图片控件 —— fresco sample: ZoomableDraweeView,
  • 2017-05-26项目总结手机号+短信验证码登录,手机号验证码
  • 2017-05-26KeyEvent机制(按键),keyevent机制按键
  • 2017-05-26Android窗口机制分析与UI管理系统,androidui
  • 2017-05-26安卓GreenDao框架一些进阶用法整理,安卓greendao
  • 2017-05-26android.view.InflateException: Binary XML file line #34: Error inflating class,
  • 2017-05-26浅谈Windows下SVN在Android Studio中的配置和基本使用,svnandroid
  • 2017-05-26Android系统的“程序异常退出”,android退出

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android Android性能优化之如何避免Overdraw,androidoverdraw
    • 关于安卓的一些初步认识,安卓认识
    • Android基于回调的事件处理
    • Android Butterknife 8.4.0 使用方法总结,butterknife8.4.0
    • 安卓学习----使用okHttp(get方式)---下载图片,
    • Android一些不太常用XML文件属性的总结
    • 【Android】由浅到深理解AIDL
    • Android热补丁技术—dexposed原理简析(手机淘宝采用方案)
    • Android开发文档翻译之-Services
    • Android系统四层架构分享,android四层架构

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有