awk分析话单列子 tcp连接失败率,及失败连接的topN
# 计算话单中,tcp连接失败率,及失败连接的topN
# 第29字段为6时的话单为tcp连接
# 第85字段为1时表示连接失败
# 第28字段表示目的ip,即服务器的ip, 按目的ip计算topN
# $0表示整行, FS表示字段分割符, NF表示当前记录中的字段数量,NR表示表示当前记录的编号,awk将第一个记录算作记录号
awk -F '\t' '{
if ($29!=6)
{
next;
}
dip = $28; DIP[dip]++;
if($85==1){DIP_F[dip]++}
}END{
for (dip in DIP)
{
fail=0;
tot=DIP[dip]; fail+=DIP_F[dip];
print fail/tot, fail, tot, dip
}
}' userflow_20130410_153822_010005.log | sort -nr | more | awk '{
F+=$2;T+=$3;
if($1>0.03)
{
a++;A+=$2;
} else {
b++;}
B+=$2
} END {print a, b, a/b, A, B, A/B, F, T, F/T}'
awk -F '\t' '{
if ($29!=6)
{
next;
}
dip = $28; DIP[dip]++;
if($85==1){DIP_F[dip]++}
}END{
for (dip in DIP)
{
fail=0;
tot=DIP[dip]; fail+=DIP_F[dip];
print fail, tot, fail/tot, dip
}
}' userflow_20130410_15*_010005.log | sort -nr | more | awk '{
F+=$1;T+=$2;
if($1>5)
{
a++;A+=$1
} else {
b++;B+=$1
}
} END {print a, b, A/(A+B), A, B, F, T, F/T}'
awk -F '\t' '{
sumline+=1;
if (6==$29)
tcpconn+=1;
tcpfailconn+=$85
}END{
print sumline;print tcpconn;print tcpfailconn;print tcpfailconn/tcpconn; print tcpfailconn/sumline
}' userflow_20130410_153822_010005.log
补充:综合编程 , 其他综合 ,