三次握手
ListenOverflows
root@b5dbe93bcb04:/opt# netstat -s | grep listen
22438 times the listen queue of a socket overflowed
tcp_v4_syn_recv_sock():三路握手最后一步完成之后,Accept queue队列(完全连接队列,其大小为min(/proc/sys/net/core/somaxconn, backlog))超过上限时加1.
ListenDrops
root@b5dbe93bcb04:/opt# netstat -s | grep LISTEN
49148 SYNs to LISTEN sockets dropped
tcp_v4_syn_recv_sock():任何原因,包括Accept queue超限,创建新连接,继承端口失败等,加1. 包含ListenOverflows的情况,也就是说当出现ListenOverflows时,它也会增加1;除此之外,当内存不够无法为新的连接分配socket相关的数据结构时,也会增加1,当然还有别的异常情况下会增加1。
AttemptFails
tcp_done():如果在SYN_SENT/SYN_RECV状态下结束一个连接,加1
tcp_check_req():被动三路握手最后一个阶段中的输入包中如果有RST|SYN标志,加1
1.试图和一个不存在的套接口建立连接时,连接失败,而TcpAttemptFails同时会加1
2.被动连接(SYN_SEND)等待第三次握手的ack应答信号超时或者为其它的错误应答时,连接将会失败,且同时TcpAttemptFails的值将加1。
ActiveOpens
客户端通过connect 发起主动打开(active open),tcp_connect(),发送SYN时,加1。
PassiveOpens
服务器必须准备好接受外来连接。通常调用的是socket,bind和listen这三个函数来完成。我们称之为被动打开(passive open)。被动三路握手完成,加1。
CurrEstab
tcp_set_state(),根据ESTABLISHED是新/旧状态,分别加减一。
EstabResets
tcp_set_state(),新状态为TCP_CLOSE,如果旧状态是ESTABLISHED/TCP_CLOSE_WAIT就加1。
doc
MIB-II TCP 组表
TCP netstat -az含义
记一次TcpListenOverflows报警解决过程
如何判断是否丢掉用户请求(转载)