1、使用脚本获取TCP连接数相关参数信息
vim /usr/local/zabbix/etc/tcp_connections.sh
#!/bin/bash
#netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "ESTABLISHED" |cut -d" " -f2
#netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "TIME_WAIT" |cut -d" " -f2
#netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "LISTEN" |cut -d" " -f2
ARGS=1
if [ $# -ne "$ARGS" ];then
echo "Please input one arguement:"
fi
case $1 in
ESTABLISHED)
result=`netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "ESTABLISHED" |cut -d" " -f2`
echo $result
;;
TIME_WAIT)
result=`netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "TIME_WAIT" |cut -d" " -f2`
echo $result
;;
LISTEN)
result=`netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' | grep -w "LISTEN" |cut -d" " -f2`
echo $result
;;
*)
echo "Usage:$0(TIME_WAIT|ESTABLISHED|LISTEN)"
;;
esac
2、修改zabbix_agentd.conf,允许自定义键值
vim /usr/local/zabbix/etc/zabbix_agentd.conf
# 添加以下内容
UnsafeUserParameters=1 # 允许自定义键值
UserParameter=tcp.status[*],/usr/local/zabbix/etc/tcp_connections.sh $1 $2
3、登录Zabbix Server,使用Zabbix测试是否可以正常获得自定义的键值
[root@zabbix-17 ~]# zabbix_get -s 192.168.1.48 -p 10050 -k "tcp.status[LISTEN]"
8 # 成功获得的键值
4、登录Zabbix的Web端,配置相应的监控项即可