zabbix监控tcp连接数

Posted by Yancy on 2016-06-21

系统环境:

CentOS release 6.7 (Final)

zabbix.3.0.3

zabbix-server端:

首先创建脚本 Shell

1
2
mkdir /usr/local/zabbix/scripts
[root@zabbix scripts]# vim /usr/local/zabbix/scripts/tcp_connections.sh

script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash
stat() {
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
}
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

测试脚本是否可用

1
2
3
[root@zabbix scripts]# chmod +x tcp_connections.sh
[root@zabbix scripts]# ./tcp_connections.sh ESTABLISHED
59

zabbix-agent端:

1
[root@zabbix scripts]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/monitor_tcp_connections.conf

编辑server端zabbix_agentd配置

1
2
3
4
5
6
7
UserParameter=tcp.time_wait,/usr/local/zabbix/scripts/tcp_connections.sh TIME_WAIT
UserParameter=tcp.close_wait,/usr/local/zabbix/scripts/tcp_connections.sh CLOSE_WAIT
UserParameter=tcp.fin_wait1,/usr/local/zabbix/scripts/tcp_connections.sh FIN_WAIT1
UserParameter=tcp.established,/usr/local/zabbix/scripts/tcp_connections.sh ESTABLISHED
UserParameter=tcp.syn_recv,/usr/local/zabbix/scripts/tcp_connections.sh SYN_RECV
UserParameter=tcp.last_ack,/usr/local/zabbix/scripts/tcp_connections.sh LAST_ACK
UserParameter=tcp.listen,/usr/local/zabbix/scripts/tcp_connections.sh LISTEN

重启服务

1
2
3
[root@zabbix scripts]# /etc/init.d/zabbix_agentd restart
Shutting down zabbix_agentd: [确定]
Starting zabbix_agentd: [确定]

测试监控是否有数据

1
2
/usr/local/zabbix/bin/zabbix_get -s localhost -k tcp.established
ZBX_NOTSUPPORTED: Unsupported item key.

出现这个错误,提示我key值有问题。
所以我检查了下配置。

添加了一条目录。

1
2
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

然后测试:

1
2
[root@zabbix scripts]# /usr/local/zabbix/bin/zabbix_get -s localhost -k tcp.established
64

然后在web里创建模版,方便以后多台添加

选择配置-模板-右上角.创建模板

填写模版名称

创建监控项


可以克隆创建监控项。

创建图形

模版创建完成后,要关联到监控主机

点击主机,选择模版

等一会儿数据图形就会出现

其他机器也是一样直接添加模板即可。在agentd下面添加key键值重启服务就行。

可参考:

zabbix监控tcp连接数

zabbix-server2.4服务端编译安装 zabbix-server服务端编译安装

zabbix2.4监控80端口状态 : zabbix监控80端口状态

zabbix+Grafana安装使用监控结合 :zabbix+Grafana安装使用监控结合

zabbix监控MySQL-添加自定义监控项 : zabbix监控MySQL-添加自定义监控项

zabbix的ICMP_Ping模版实现对客户端网络状态的监控 : zabbix的ICMP_Ping模版实现对客户端网络状态的监控

zabbix性能监控故障总结 zabbix性能监控故障总结