tcp连接数过高原因 查看tcp端口连接数( 二 )


三、服务端安装部署
1、先在服务器上新建脚本vim
/etc/zabbix/tcp_connections.sh
#!/bin/bash
#netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “ESTABLISHED” |cut -d” ” -f2
#netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “TIME_WAIT” |cut -d” ” -f2
#netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “LISTEN” |cut -d” ” -f2
ARGS=1
if [ $# -ne “$ARGS” ];then
echo “Please input one arguement:”
fi
case $1 in
ESTABLISHED)
result=`netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “ESTABLISHED” |cut -d” ” -f2`
echo $result
;;
TIME_WAIT)
result=`netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “TIME_WAIT” |cut -d” ” -f2`
echo $result
;;
LISTEN)
result=`netstat -an | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ | grep -w “LISTEN” |cut -d” ” -f2`
echo $result
;;
*)
echo “Usage:$0(TIME_WAIT|ESTABLISHED|LISTEN)”
;;
esac
2、给脚本赋可执行权限
chmodx tcp_connections.sh
3、测试脚本是否正常
[root@host-172-22-22-10 zabbix]# ./tcp_connections.sh LISTEN
20
4、修改配置文件,加载脚本
vim zabbix_agentd.conf
新增一列
UserParameter=tcp.status[*],/etc/zabbix/tcp_connections.sh $1 $2
5、重启服务
[root@host-172-22-22-10 zabbix]# service zabbix-agent restart
Redirecting to /bin/systemctl restart zabbix-agent.service
四、web端配置
新建三个监控项,健值分别是
tcp.status[ESTABLISHED]
tcp.status[TIME_WAIT]
tcp.status[LISTEN]
?
配完一般1分钟后能采集到数据

猜你喜欢