监控三次握手连接
要用到的会话连接命令如下
[root@mysql ~]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1610/smbd tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 78742/zabbix_agentd tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1610/smbd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1732/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1608/sshd tcp 0 0 192.168.1.201:10050 192.168.1.200:40278 TIME_WAIT - tcp 0 0 192.168.1.201:10050 192.168.1.200:40272 TIME_WAIT - tcp 0 0 192.168.1.201:10050 192.168.1.200:40314 TIME_WAIT - tcp 0 0 192.168.1.201:10050 192.168.1.200:40322 TIME_WAIT - tcp 0 0 192.168.1.201:10050 192.168.1.200:40302 TIME_WAIT -
然后我们稍稍改改得到如下TIME_WAIT连接数量
[root@mysql ~]# netstat -antp |awk 'NR>2{print $6}' |grep "TIME_WAIT"|wc -l
37
之后我们在将稍微修改过后的命令写入客户端的配置文件中
[root@mysql ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
UserParameter=TIME_WAIT,netstat -ant |awk 'NR>2{print $6}' |grep "TIME_WAIT"|wc -l UserParameter=LISTEN,netstat -ant |awk 'NR>2{print $6}' |grep "LISTEN"|wc -l UserParameter=ESTABLISHED,netstat -ant |awk 'NR>2{print $6}' |grep "ESTABLISHED"|wc -l
原理如下
重启客户端的zabbix-agent服务
[root@mysql zabbix_agentd.d]# systemctl restart zabbix-agent
在服务端查询
[root@tz ~]# zabbix_get -s 192.168.1.201 -k TIME_WAIT 42
添加自定监控项
继续添加其他的键值
克隆
改下名称跟键值即可
注意最好使用现在检查,确定没有问题在更新
正常情况都已启用
在监测-最新数据-选择应用集查看
创建触发器
设置连接数大于40就告警
选择表达式构造器
选择测试
输入测试值可以看到结果为TRUE
可以看到已经触发告警