zabbix监控tcp状态

Posted 你很棒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix监控tcp状态相关的知识,希望对你有一定的参考价值。

(1)agent端配置

  • agent端脚本获取监控项
#vim /etc/zabbix/zabbix_agentd.d/tcp_status.sh
#bin/bash 
[ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1
tcp_status_fun(){
	TCP_STAT=$1
	ss -ant | awk \'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}\' > /tmp/ss.txt
	TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/ss.txt | cut -d \' \' -f2)
	if [ -z "$TCP_STAT_VALUE" ];then
		TCP_STAT_VALUE=0
	fi
	echo $TCP_STAT_VALUE
}
tcp_status_fun $1;
  •   修改脚本权限
    
#chmod +x /etc/zabbix/zabbix_agentd.d/tcp_status.sh
  • 修改agent配置文件
#vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
UserParameter=tcp_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/tcp_status.sh "$1"
  • agentd重启服务
systemctl restart zabbix-agent

注意:/tmp/ss.txt文件的属主是zabbix

(2)server端配置

思路:定义tcp_status模板--->定义应用集nginx_status--->定义监控项---->定义图形--->定义触发器---->添加主机或主机关联这个模板

  • zabbix-server端zabbix_get测试获取
# zabbix_get -s 192.168.1.32 -p10050 -k tcp_status[ESTAB]
2
  • 键值
tcp_status[ESTAB]
tcp_status[CLOSE-WAIT]
tcp_status[CLOSED]
tcp_status[CLOSING]
tcp_status[FIN-WAIT-1]
tcp_status[FIN-WAIT-2]
tcp_status[LAST-ACK]
tcp_status[LISTEN]
tcp_status[SYN-RECV]
tcp_status[SYN-SENT]
tcp_status[TIME-WAIT]
  • 定义监控项:只写一个,其它的就是键值不同
  • 定义图形
  • 验证

以上是关于zabbix监控tcp状态的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix 监控 tcp 连接状态的第二版(python+zabbix_sender)

zabbix自定义变量传参监控项--监控主机TCP连接状态

zabbix监控tcp状态

ZABBIX监控TCP连接状态

Zabbix之TCP状态监控

ZABBIX 3.2 监控服务器TCP连接状态