一、NGINX查看并发连接
1.通过WEB界面查看,
①开启status模块,即安装Nginx时加上 –with-http_stub_status_module
②修改Nginx.conf,在server节加入如下内容
location /Nginxstatus {
stub_status on;
access_log /usr/local/nginx/logs/status.log; #日志
auth_basic "NginxStatus";
}
#access_log、auth_basic均可不写
③重新加载Nginx服务,然后通过浏览器访问http://你的域名/Nginxstatus
状态说明:
Active connections //当前 Nginx 正处理的活动连接数.
server accepts handledrequests //总共处理了387142个连接,成功创建387142次握手,总共处理了4804888个请求.
Reading //nginx 读取到客户端的 Header 信息数.
Writing //nginx 返回给客户端的 Header 信息数.
Waiting //开启 keep-alive 的情况下,这个值等于active-reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.
2.通过
[root@localhost ~]# netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
状态说明:
LAST_ACK //等待所有分组死掉
SYN_RECV //一个连接请求已经到达,等待确认
ESTABLISHED //正常数据传输状态/当前并发连接数
FIN_WAIT2 //另一边已同意释放
ITMED_WAIT //等待所有分组死掉
CLOSING //两边同时尝试关闭
TIME_WAIT //另一边已初始化一个释放
参考:https://www.cnblogs.com/lianzhilei/p/6025267.html
二、netstat查看连接数,并发数
[root@localhost ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {fora in S) print a,S[a]}'
状态说明:
-a 显示所有连接和侦听端口。//常用
-b 显示在创建每个连接或侦听端口时涉及的可执行程序。//常用
在某些情况下,已知可执行程序承载多个独立的
组件,这些情况下,显示创建连接或侦听端口时涉
及的组件序列。此情况下,可执行程序的名称
位于底部[]中,它调用的组件位于顶部,直至达
到 TCP/IP。注意,此选项可能很耗时,并且在您没有
足够权限时可能失败。
-e 显示以太网统计。此选项可以与 -s 选项结合使用。//常用
-f 显示外部地址的完全限定域名FQDN)。//没用
-n 以数字形式显示地址和端口号。 //常用
-o 显示拥有的与每个连接关联的进程 ID。//没用
-p proto 显示 proto 指定的协议的连接;proto 可以是下列任
何一个: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任
何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP
或 UDPv6。
-r 显示路由表。//常用
-s 显示每个协议的统计。默认情况下,显示 //有用
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6
的统计;-p 选项可用于指定默认的子网。
-t 显示当前连接卸载状态。 //没用
interval 重新显示选定的统计,各个显示间暂停的间隔秒数。
按 CTRL+C 停止重新显示统计。如果省略,则 netstat
将打印当前的配置信息一次。
三、netstat 实时监控IP连接数
如果服务器被流量攻击,或其它需要查看IP连接数的场景,可以使用下面的命令实时监控各IP的连接数。
[root@localhost ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
四、iftop流量监控
1、iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
2、iftop相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
进入iftop画面后的一些操作命令注意大小写)
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。
参考:https://www.vpser.net/manage/iftop.html