zabbix监控tcp

zabbix自定义key值,用来监控tcp

创建脚本check_tcp.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;

将脚本放到/usr/local/zabbix/shell下面并授权(目录为你安装的目录,sehll目录为标准化创建,)

chmod +x check_tcp.sh
chown zabbix.zabbix check_tcp.sh
执行脚本加参数进行测试
./check_tcp  CLOSE-WAIT

有结果返回,说明脚本是正确的,其余参数就不一一测试了。

修改agent参数

vim /usr/local/zabbinx/etc/zabbix_agetn.conf
打开下面的配置

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
路径一定要是你安装的路径一样

cd  /usr/local/zabbix/etc/zabbix_agetnt.d/
vim zabbix.conf
zabbix.conf配置文件是不存在的需要我们自己创建
添加以下配置

UserParameter=check_tcp[*],/usr/local/zabbix/shell/check_tcp.sh "$1"
脚本的路径要正确

重启agent

登录到服务端进行测试

cd /usr/local/zabbix/bin

执行如下测试命令
./zabbix_get -s agetn的ip -k check_tcp[LISTEN]

发现报错了:
/usr/local/zabbix/shell/check_tcp.sh: line 5: /tmp/ss.txt: Permission denied
12

登录到agent上面。删除/tmp、下面的ss.txt,再次到server端执行大仙报错消失(原因:因为刚才ss.txt的权限为root)
其余参数可以一一测试下。

到此,在web界面进行添加监控项。

如下:

到此添加完成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值