zabbix对tcp状态监控

1、先编写一个获取tcp状态的脚本文件,脚本放在/usr/lib/zabbix/alertscripts/
vim /usr/lib/zabbix/alertscripts/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
ss_file=/home/zabbix/tmp/ss.txt
tcp_status_fun(){
[ $1 == "ESTABLISHED" ] && TCP_STAT="ESTAB" || TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > $ss_file
TCP_STAT_VALUE=$(grep ${TCP_STAT} $ss_file|awk {'print $NF'})
if [ -z "$TCP_STAT_VALUE" ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
tcp_status_fun $1

2、相关目录创建以及权限操作

mkdir /home/zabbix/tmp/
chown zabbix:zabbix /home/zabbix/tmp/
chmod +x /usr/lib/zabbix/alertscripts/tcp_status.sh
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/tcp_status.sh

创建一个自定义的key:
创建一个tcp_status的key
vim /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf

#!/bin/bash
UserParameter=tcp_status[*],/usr/lib/zabbix/alertscripts/tcp_status.sh $1

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf 

重启agent客户端
/etc/init.d/zabbix_agentd restart

在proxy端或者服务端做抓取数据测试:
#因为我都是做的通过proxy代理,然后让客户端主动发送数据的形式,所以我在proxy节点上面抓取数据。
#/usr/local/zabbix/bin/zabbix_get -s 192.168.217.20 -p 10050 -k tcp_status[LISTEN] #LISTEN就作为$1传参到脚本里面去了

web界面操作
创建模板template-->创建item-->创建graph-->创建action

 

转载于:https://www.cnblogs.com/wclwcw/p/8329893.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值