prometheus的TCP alloc取值
sockets: used:已使用的所有协议套接字总量
TCP: orphan:无主(不属于任何进程)的TCP连接数(无用、待销毁的TCP socket数)
TCP_mem :TCP 套接字缓冲区使用量
ESTABLISHED:
Tcp_tw:等待关闭的TCP连接数
ActiveOpens:
PassiveOpens:
Tcp_alloc:已分配(已建立、已申请到sk_buff)的TCP套接字数量
Tcp_inuse:正在使用(正在侦听)的TCP套接字数量
从prometheus的TCP连接数监控图可以看见,TCP alloc 一直呈上涨状态,
在主机执行命令进行查询:
1、cat /proc/net/sockstat
2、netstat -ant | grep ^tcp | wc -l
3、ss -s
这三条命令均可查询,并且可以发现promrtheus监控图中的TCP alloc取的是 /proc/net/socksta中的值,并不是网上很多人说的netstat中的值。
那么/proc/net/socksta中的alloc又是怎么得来的呢?
这就要用到ss得到的数值来进行计算了
alloc = s.tcp_total = s.tcp.IP + s.tcp.IPV6 + s.closed - s.tcp_tws
- 1
即:alloc=27+15+10203-1277=8968= s.tcp_total