Unix/Linux 网络监控与日志管理全解析
1. 计算重传率
在网络监控中,计算 TCP 重传率是一项重要任务。可以通过解析netstat输出获取所需数据。以下是示例代码:
@myrec = split(" ", $_); $tcpoutsegs = $myrec[0]; } if(/segments retransmited/) { @myrec = split(" ", $_); $tcpretsegs = $myrec[0]; } } close(MY_NETSTAT); # calculate ratio $retransratio = (($tcpretsegs * 100)/$tcpoutsegs); # write to file open(MY_LOG, ">>$varpath/$thelogfile") or die "$0: couln't open log file: $!"; print MY_LOG "$retransratio\n"; close(MY_LOG); # EOF在 GNU - Linux(如 SuSE 8.2)中,可以使用-t选项过滤netstat输出以获取 TCP 统计信息。通过搜索输出中的segments send out和segments retransmited字符串来获取所需值。
2. 理解 TIME_WAIT 状态
TCP