Wardon&ET 博客

服务器上的一些统计数据

1) 统计80端口连接数
netstat -nat | grep -i "80" | wc -l

2)统计php-fpm协议连接数
ps -ef | grep php-fpm | wc -l

3)统计已连接上的,状态为established
netstat -na | grep ESTABLISHED | wc -l

4) 查看和本机80端口建立连接并状态在established的所有ip
netstat -an |grep 80 |grep ESTA |awk '{print$5 "\n"}' |awk 'BEGIN {FS=":"} {print $1 "\n"}' |sort |uniq

5) 查看系统tcp连接中各个状态的连接数
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

    LAST_ACK 5
    SYN_RECV 30
    ESTABLISHED 1597
    FIN_WAIT1 51
    FIN_WAIT2 504
    TIME_WAIT 1057
  
    其中的
    SYN_RECV表示正在等待处理的请求数;
    ESTABLISHED表示正常数据传输状态;
    TIME_WAIT表示处理完毕,等待超时结束的请求数。


6) 输出每个ip的连接数,以及总的各个状态的连接数。
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'