zabbix3.4实现对tcp连接数及状态的监控

zabbix3.4实现对tcp连接数及状态的监控

一、获取TCP连接数相关方法

方法一:
[root@host-47-98-97-124 scripts]# netstat -an | awk '/^tcp/ {a[$NF]++} END {for (b in a) print b,a[b]}'
LISTEN 6
ESTABLISHED 64
TIME_WAIT 100

方法二:
[root@host-47-98-97-124 scripts]# ss -ant | awk 'NR>1 {a[$1]++} END {for (b in a) print b,a[b]}'
LISTEN 6
ESTAB 64
TIME-WAIT 100

总结:netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。

二、TCP状态信息描述

ESTABLISHED       socket已经建立连接  
CLOSED            socket没有被使用,无连接  
CLOSING           服务器端和客户端都同时关闭连接  
CLOSE_WAIT        等待关闭连接  
TIME_WAIT         表示收到了对方的FIN报文,并发送出了ACK报文,等待2MSL后就可回到CLOSED状态  
LAST_ACK          远端关闭,当前socket被动关闭后发送FIN报文,等待对方ACK报文  
LISTEN            监听状态  
SYN_RECV          接收到SYN报文  
SYN_SENT          已经发送SYN报文  
FIN_WAIT1         The socket is closed, and the connection is shutting down  
FIN_WAIT2         Connection is closed, and the socket is waiting for a shutdown from the remote end.  

三、实现zabbix对tcp状态监控

第一步:导入tcp状态监控模板




第二步:编写tcp状态监控脚本

猜你喜欢

转载自blog.csdn.net/m0_37814112/article/details/80701909