zabbix监控tcp连接数
系统:centos6.5zabbix:2.4.4
首先创建脚本
系统:centos6.5
zabbix:2.4.4
首先创建脚本
# vim /usr/local/scripts/tcp_connections.sh
#!/bin/bash
stat() {
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S}'
}
case $1 in
TIME_WAIT)
stat |grep 'TIME_WAIT' |awk '{print $2}'
;;
CLOSE_WAIT)
stat | grep 'CLOSE_WAIT' |awk '{print $2}'
;;
FIN_WAIT1)
stat | grep 'FIN_WAIT1' |awk '{print $2}'
;;
ESTABLISHED)
stat | grep 'ESTABLISHED' |awk '{print $2}'
;;
SYN_RECV)
stat |grep 'SYN_RECV' |awk '{print $2}'
;;
LAST_ACK)
stat |grep 'LAST_ACK' |awk '{print $2}'
;;
LISTEN)
stat |grep 'LISTEN' |awk '{print $2}'
;;
*)
echo "Usage: TIME_WAIT CLOSE_WAIT FIN_WAIT1 ESTABLISHED SYN_RECV LAST_ACK LISTEN"
;;
esac
# vim /usr/local/scripts/tcp_connections.sh
#!/bin/bash
stat() {
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S}'
}
case $1 in
TIME_WAIT)
stat |grep 'TIME_WAIT' |awk '{print $2}'
;;
CLOSE_WAIT)
stat | grep 'CLOSE_WAIT' |awk '{print $2}'
;;
FIN_WAIT1)
stat | grep 'FIN_WAIT1' |awk '{print $2}'
;;
ESTABLISHED)
stat | grep 'ESTABLISHED' |awk '{print $2}'
;;
SYN_RECV)
stat |grep 'SYN_RECV' |awk '{print $2}'
;;
LAST_ACK)
stat |grep 'LAST_ACK' |awk '{print $2}'
;;
LISTEN)
stat |grep 'LISTEN' |awk '{print $2}'
;;
*)
echo "Usage: TIME_WAIT CLOSE_WAIT FIN_WAIT1 ESTABLISHED SYN_RECV LAST_ACK LISTEN"
;;
esac
测试脚本是否可用
# chmod +x tcp_connections.sh
# ./tcp_connections.sh ESTABLISHED
125
# chmod +x tcp_connections.sh
# ./tcp_connections.sh ESTABLISHED
125
编辑zabbix_agentd配置
# vim /usr/local/etc/zabbix_agentd.conf.d/monitor_tcp_connections.conf
UserParameter=tcp.time_wait,/usr/local/scripts/tcp_connections.sh TIME_WAIT
UserParameter=tcp.close_wait,/usr/local/scripts/tcp_connections.sh CLOSE_WAIT
UserParameter=tcp.fin_wait1,/usr/local/scripts/tcp_connections.sh FIN_WAIT1
UserParameter=tcp.established,/usr/local/scripts/tcp_connections.sh ESTABLISHED
UserParameter=tcp.syn_recv,/usr/local/scripts/tcp_connections.sh SYN_RECV
UserParameter=tcp.last_ack,/usr/local/scripts/tcp_connections.sh LAST_ACK
UserParameter=tcp.listen,/usr/local/scripts/tcp_connections.sh LISTEN
# vim /usr/local/etc/zabbix_agentd.conf.d/monitor_tcp_connections.conf
UserParameter=tcp.time_wait,/usr/local/scripts/tcp_connections.sh TIME_WAIT
UserParameter=tcp.close_wait,/usr/local/scripts/tcp_connections.sh CLOSE_WAIT
UserParameter=tcp.fin_wait1,/usr/local/scripts/tcp_connections.sh FIN_WAIT1
UserParameter=tcp.established,/usr/local/scripts/tcp_connections.sh ESTABLISHED
UserParameter=tcp.syn_recv,/usr/local/scripts/tcp_connections.sh SYN_RECV
UserParameter=tcp.last_ack,/usr/local/scripts/tcp_connections.sh LAST_ACK
UserParameter=tcp.listen,/usr/local/scripts/tcp_connections.sh LISTEN
重启服务
# /etc/init.d/zabbix_agentd restart
Shutting down zabbix_agentd: [确定]
Starting zabbix_agentd: [确定]
# /etc/init.d/zabbix_agentd restart
Shutting down zabbix_agentd: [确定]
Starting zabbix_agentd: [确定]
测试监控是否有数据
# zabbix_get -s localhost -k tcp.established
126
# zabbix_get -s localhost -k tcp.established
126
然后在web里创建模版,方便以后多台添加
填写模版名称
创建监控项
创建图形
模版创建完成后,要关联到监控主机
点击主机,选择模版
等一会儿数据图形就会出现
页:
[1]