zabbix监控TCP连接
编辑监控脚本
vim /app/zabbix/sh/check_tcp.sh
#!/bin/bash
tcp_conn_status(){
TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2)
if [ -z $TCP_STAT_VALUE ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
main(){
case $1 in
tcp_status)
tcp_conn_status $2;
;;
*)
echo "$0 + tcp_status + STATUS"
esac
}
main $1 $2
添加执行权限
chmod a+x /app/zabbix/sh/check_tcp.sh
测试脚本是否能在SHELL运行
bash /app/zabbix/sh/check_tcp.sh status 80 active
添加监控脚本
vim /app/zabbix/etc/zabbix_agentd.conf
UserParameter=tcp.status[*],/app/zabbix/sh/check_tcp.sh $1 $2 $3
测试脚本是否能在zabbix运行
/app/zabbix/bin/zabbix_get -s 192.168.1.10 -p 10050 -k "tcp.status[status,LISTEN]"
5.点击刚刚新建的模板,创建应用集,名称随便填
6.创建监控项,监控项需要每一个键值都创建一次,这里举例一个
名称:tcp_listen
类型:zabbix客户端(主动式)
键值:tcp.status[status,LISTEN]
信息类型:数字(无正负)
更新时间:1m
历史数据保留时长:90d
趋势储存时间: