Zabbix监控TCP十一状态实战指南

在现代网络环境中,确保服务的可用性和性能至关重要。TCP(传输控制协议)作为互联网的基础通信协议之一,其连接状态直接关系到服务的质量。Zabbix作为一个强大的开源监控工具,可以用来监控TCP连接的状态。本文将介绍如何使用Zabbix监控TCP连接的十一种有限状态机,并探讨其实现方法。

标题监控TCP 十一种有限状态机

TCP 十一种有限状态机

bash 复制代码
ESTABLISHED
SYN_SENT
SYN_RECV
FIN_WAIT1
FIN_WAIT2
TIME_WAIT
CLOSE
CLOSE_WAIT
LAST_ACK
LISTEN
CLOSING

实现自定义监控项

先准备脚本实现自定义监控项实现连接数

bash 复制代码
[root@zabbix-agent ~]#cat /etc/zabbix/zabbix_agentd.d/test.conf 
UserParameter=tcp_state_estab,ss -ant|grep -c ESTAB
[root@zabbix-agent ~]#systemctl restart zabbix-agent.service 
[root@zabbix-server ~]#zabbix_get  -s 192.168.1.70 -p 10050 -k "tcp_state_estab"
7


自定义监控项实现监控TCP 状态的连接数

修改监控项的脚本为以下形式,可以实现一个脚本实现多个自定义监控项

bash 复制代码
[root@rocky9 ~]#cat /etc/zabbix/zabbix_agent2.d/tcp.sh
#!/bin/bash
tcp_state () {
    ss -atn|grep -c $1
}
tcp_state $1
#ss -nat|awk -v STATE=$1 '$NF ~ STATE{state[$NF]++}END{for(i in state){print state[i]}}'
[root@rocky9 ~]#chmod +x /etc/zabbix/zabbix_agent2.d/tcp.sh
[root@rocky9 ~]#vim /etc/zabbix/zabbix_agent2.d/test.conf
UserParameter=tcp_state[*],/etc/zabbix/zabbix_agent2.d/tcp.sh $1
[root@rocky9 ~]#systemctl restart zabbix-agent2.service 

[root@zabbix-server ~]#zabbix_get  -s 192.168.1.7 -p 10050 -k "tcp_state[ESTAB]"
2



自定义模板实现监控

对于主机和监控项众多时,直接将监控项关联至主机的方法,是比较繁琐的。

可以通过将自定义的监控项加入到自定义的模板或已有的模板中,再将此模板关联至需要监控的主机,从而提高效率。

点击监控项


创建自定义触发器

选择指定的模板中创建触发器

创建触发器



自定义图形



在主机中验证结果

导出模板

将自定义的模板导出,可以在其它Zabbix Server导入进行复用

通过以上步骤,你就可以用Zabbix有效地监控TCP连接的十一状态,从而更好地了解网络和服务的健康状况,及时发现并解决潜在问题。希望这篇文章能帮助你深入了解如何使用Zabbix对TCP连接状态进行监控,并为你的网络管理提供实用指导。