centos6中shell计算web日志中平均连接时间

今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk: fatal: division by zero attempted这样的错误,毛了就自己改了下shell命令.
原shell脚本例子:

cat access.log|grep "connect cbp" |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count, sum/count)}'

修改后的shell:

cat access.log |awk '{sum+=$10;count+=1} END{print "SUM:"sum"\nAVG:"sum/count"\nCOUNT:"count}'

执行结果:

SUM:33403166
AVG:7951.24
COUNT:4201

当然直接改原来的也可以:

cat access.log |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count, sum/count)}'

执行结果:
sum=33403166,count=4201,avg=7951.241609

可以看到原shell脚本求的结果更加精确些.有需要的可以自己拿去试试.

时间: 2024-09-20 19:33:40

centos6中shell计算web日志中平均连接时间的相关文章

web日志中的频繁访问日志挖掘

web访问日志 主要是指用户在访问某网站的时候产生的日志信息,采集方式包括前端Javascript埋码采集和后端服务器日志采集两种. 前端采集目前主要以javascript为主,收集用户数据. 后端服务器日志根据网站架构,一般以nginx和tomcat等加上业务日志的采集为主. 对于数据的权威和准确性而言,应该首先以后端服务器产生的数据为主,配合前端采集的数据来进行整体的分析和挖掘. 日志分析流程 日志分析流程如下: 数据采集:包括埋码和业务数据收集两种. 数据传输:包括实时和离线传输两种. 存

linux中Shell分析Nginx日志 找出被阻止的IP

在日常运维中会发现流量突增现象或者服务器负载升高等现象,为找到原因,需要使用nginx limit模块 对访问的Ip进行限制,然后可以分析日志. 配置nginx限制IP访问,可配置多个zone. limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s; 对产生的nginx日志进行分析 脚本. ##提供默认日志路径和名称 logsFile="日志名称" ##配置多个zoneName zoneName="alli

ASP.NET中动态修改web.config中的设置项目(CS页代码)

朋友们可以自行测试,我这里都没有问题了,鳖了一上午的问题总算解决了 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System

ASP。NET程序中动态修改web.config中的设置项目 (后台CS代码)

web|程序|动态|后台|项目 朋友们可以自行测试,我这里都没有问题了,鳖了一上午的问题总算解决了 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebContr

linux中shell条件判断if中的-a到-z的意思

shell if判断中常用的也就是绿色部分,尾部部分越看越不懂.从百度文库转载. [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果

来篇文章:ASP。NET程序中动态修改web.config中的设置项目 (后台CS代码)

朋友们可以自行测试,我这里都没有问题了,鳖了一上午的问题总算解决了using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.

二、ASP。NET程序中动态修改web.config中的设置项目 (前台页面代码)

web|程序|动态|项目|页面 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

asp.net2.0中如何修改web.config中指定的键值?

问题描述 <?xmlversion="1.0"?><configuration><configurations><appSettings><!--按钮样式(蓝色:Blue/Style.css,银色:Silver/style.css,浅绿色:Cyan/style.css)--><addkey="ButtonStyleRoot"value="Blue/Style.css"/>&l

linux中shell脚本提取路径中提取目录名、文件名及扩展名

编写脚本(Shell)时,经常会遭遇包括全路径的文件名里提取路径名.文件名等. 在这里包括全路径的文件名为 /usr/local/apach2/etc/httpd.conf 定义为 FILE="/usr/local/apach2/etc/httpd.conf" (1)提取文件名 FILENAME=${FILE##*/} ##*/ 表示删除从最前面开始至最后一个/出现的部分,因此FILENAME为httpd.conf. (2)提取文件扩展名 EXT=${FILE##*.} 和(1)一样,