Zabbix自带的对于Linux系统基础监控模板虽然常见的CPU、内存、磁盘、网卡、进程等都有监控,但是没有网络连接状态监控和磁盘IO监控。下面给出网络连接状态监控方法。
在zabbix-agent端/etc/zabbix/zabbix_agentd.d/目录下添加一个配置文件。
cat /etc/zabbix/zabbix_agentd.d/userparameter_tcp.conf
1
cat/etc/zabbix/zabbix_agentd.d/userparameter_tcp.conf
UserParameter=socket.tcp_listen,ss state all |grep "\bLISTEN\b" |wc -l
UserParameter=socket.tcp_synsent,ss state all |grep "\bSYN-SENT\b" |wc -l
UserParameter=socket.tcp_synrecv,ss state all |grep "\bSYN-RECV\b" |wc -l
UserParameter=socket.tcp_established,ss -s |awk '/estab/ {print $4}' |cut -d',' -f1
UserParameter=socket.tcp_finwait1,ss state all |grep "\bFIN-WAIT1\b" |wc -l
UserParameter=socket.tcp_finwait2,ss state all |grep "\bFIN-WAIT2\b" |wc -l
UserParameter=socket.tcp_closewait,ss state all |grep "\bCLOSE-WAIT\b"|wc -l
UserParameter=socket.tcp_closing,ss state all |grep "\bCLOSING\b" |wc -l
UserParameter=socket.tcp_lastack,ss state all |grep "\bLAST-ACK\b" |wc -l
UserParameter=socket.tcp_timewait,awk '/TCP:/ {print $7}' /proc/net/sockstat
#####
UserParameter=socket.total_sockets,awk '/sockets:/ {print $3}' /proc/net/sockstat
UserParameter=socket.tcp_inuse,awk '/TCP:/ {print $3}' /proc/net/sockstat
UserParameter=socket.tcp_orphan,awk '/TCP:/ {print $5}' /proc/net/sockstat
UserParameter=socket.tcp_alloc,awk '/TCP:/ {print $9}' /proc/net/sockstat
UserParameter=socket.tcp_mem,awk '/TCP:/ {print $11}' /proc/net/sockstat
UserParameter=socket.udp_inuse,awk '/UDP:/ {print $3}' /proc/net/sockstat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
UserParameter=socket.tcp_listen,ssstateall|grep"\bLISTEN\b"|wc-l
UserParameter=socket.tcp_synsent,ssstateall|grep"\bSYN-SENT\b"|wc-l
UserParameter=socket.tcp_synrecv,ssstateall|grep"\bSYN-RECV\b"|wc-l
UserParameter=socket.tcp_established,ss-s|awk'/estab/ {print $4}'|cut-d','-f1
UserParameter=socket.tcp_finwait1,ssstateall|grep"\bFIN-WAIT1\b"|wc-l
UserParameter=socket.tcp_finwait2,ssstateall|grep"\bFIN-WAIT2\b"|wc-l
UserParameter=socket.tcp_closewait,ssstateall|grep"\bCLOSE-WAIT\b"|wc-l
UserParameter=socket.tcp_closing,ssstateall|grep"\bCLOSING\b"|wc-l
UserParameter=socket.tcp_lastack,ssstateall|grep"\bLAST-ACK\b"|wc-l
UserParameter=socket.tcp_timewait,awk'/TCP:/ {print $7}'/proc/net/sockstat
#####
UserParameter=socket.total_sockets,awk'/sockets:/ {print $3}'/proc/net/sockstat
UserParameter=socket.tcp_inuse,awk'/TCP:/ {print $3}'/proc/net/sockstat
UserParameter=socket.tcp_orphan,awk'/TCP:/ {print $5}'/proc/net/sockstat
UserParameter=socket.tcp_alloc,awk'/TCP:/ {print $9}'/proc/net/sockstat
UserParameter=socket.tcp_mem,awk'/TCP:/ {print $11}'/proc/net/sockstat
UserParameter=socket.udp_inuse,awk'/UDP:/ {print $3}'/proc/net/sockstat
这个配置文件就是创建各种key,然后取出对应的值,在zabbix-agent端测试一下,先记得重启一下zabbix-agent。
$ zabbix_agentd -t socket.tcp_established
socket.tcp_established [t|10]
1
2
$zabbix_agentd-tsocket.tcp_established
socket.tcp_established[t|10]
返回结果如上就表示配置没有问题了,接下来就是直接在zabbix服务端引用就OK了。
在zabbix页面创建一个模块或者引用现有的模板都行,直接添加一个item即可,如下图。
更新完,这个item就可用了。最后要做的就是把模板链接到对应的主机上即可。
按照上面这个方法,把userparameter_tcp.conf配置文件里面的key全部手动添加一下即可。最终结果如下图:
如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。