一步:編寫監控腳本。
腳本放在:/usr/local/zabbix/scripts/ 下面,命名:tcp_status.sh vim
#!/bin/bash
#shuidi
#scripts for tcp status
function SYNRECV {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}'
}
function ESTAB {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'ESTAB' | awk '{print $2}'
}
function FINWAIT1 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'FIN-WAIT-1' | awk '{print $2}'
}
function FINWAIT2 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'FIN-WAIT-2' | awk '{print $2}'
}
function TIMEWAIT {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'TIME-WAIT' | awk '{print $2}'
}
function LASTACK {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'LAST-ACK' | awk '{print $2}'
}
function LISTEN {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'LISTEN' | awk '{print $2}'
}
$1bash
二步:添加執行權限:
[root@zabbix04 scripts]# chmod +x tcp_status.shtcp
三步:監控自定義 key 值。
[root@zabbix04 scripts]# vim /etc/zabbix/zabbix_agentd.conf
#monitor tcp
UserParameter = tcp[*],/bin/bash /usr/local/zabbix/scripts/tcp_status.sh "$1"ide
四步:重啓 zabbix-agent 修改配置文件必須重啓。
[root@zabbix04 scripts]# systemctl restart zabbix-agent測試
五步:導入模板【見 url 】
http://down.51cto.com/data/2457371ui
六步:Server測試Agent是否能獲取到值,經過Zabbix_get(不要直接執行腳本)url
[root@zabbix ~]# zabbix_get -s 192.168.10.40 -k "tcp[TIMEWAIT]"
46rest
七步:查看監控數據 。
blog