Zabbix自定義模板監控TCP連線數
阿新 • • 發佈:2019-01-03
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端,配置相應的監控項即可