1. 程式人生 > >Zabbix自定義模板監控TCP連線數

Zabbix自定義模板監控TCP連線數

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端,配置相應的監控項即可