实战一:实现zabbix监控TCP连接数
端口状态转换
TCP三次握手
TCP四次断开
1、配置主动模式的zabbix-agent服务器(node1主机)
(1)制作TCP连接数提取脚本
[root@node1 zabbix_agentd.d]# cat tcp_conn.sh #!/bin/bash tcp_conn_status(){ TCP_STAT=$1 ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt TCP_NUM=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2) if [ -z $TCP_NUM ];then TCP_NUM=0 fi echo $TCP_NUM } main(){ case $1 in tcp_status) tcp_conn_status $2; ;; esac } main $1 $2
(2)加上执行权限,并验证效果。
[root@node1 zabbix_agentd.d]# chmod +x tcp_conn.sh # 加上执行权限 [root@node1 zabbix_agentd.d]# bash tcp_conn.sh tcp_status LISTEN # 查看此时提取连接数的效果 12 [root@node1 zabbix_agentd.d]# bash tcp_conn.sh tcp_status WAIT-TIME # 查看此时提取连接数的效果 0
验证完成脚本后,生成在/tmp/tcp_conn.txt文件是root用户的,可以将其文件删除或者修改属主为zabbix即可。
[root@node1 zabbix_agentd.d]# rm -rf /tmp/tcp_conn.txt [root@node1 zabbix_agentd.d]# chown -R zabbix.zabbix /tmp/tcp_conn.txt
(3)在监控主动proxy模式的基础上修改/etc/zabbix/zabbix_agent.conf配置文件,主动模式的配置见上章:https://www.cnblogs.com/struggle-1216/p/12354813.html
Server=192.168.7.100,192.168.7.103,192.168.7.104 # zabbix-server服务器和主动模式proxy代理服务器 ServerActive=192.168.7.104 # 主动模式的proxy代理服务器 Hostname=192.168.7.101 #主动模式被监控的主机 UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/tcp_conn.sh $1 $2 # 定义模板名称,并调用/etc/zabbix/zabbix_agentd.d/tcp_conn.sh脚本,传递$1和$2参数。
(4)重启zabbix-agent服务
# systemctl restart zabbix-agent
(5)然后在主动模式的proxy主机上进行验证脚本的传递,显示数字之后,说明配置正确
[root@node4 ~]# zabbix_get -s 192.168.7.101 -p 10050 -k "linux_status[tcp_status,LISTEN]" 12 [root@node4 ~]# zabbix_get -s 192.168.7.101 -p 10050 -k "linux_status[tcp_status,WAIT-TIME]" 0
2、在zabbix网页上导入制作好的TCP监控模板
(1)打开zabbix网页,然后导入自制的TCP监控模板
(2)选择自制的模板
(3)将TCP监控连接数模板关联到前面主动模式监控的tomcat主机上
(4)将制作好的tcp模板关联上
(5)查看TCP监控连接数信息
来源:https://www.cnblogs.com/struggle-1216/p/12355099.html