zabbix应用监控实践

zabbix监控tcp
Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB;或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击,或是是time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值的话会占用太多端口,要是端口少的话后果不堪设想:所以今天我们来学学如何使用Zabbix监控tcp状态

1.编写shell脚本
cd /server/scripts/
vim tcp_status.sh
#!/bin/sh
[ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1
tcp_status_fun(){
TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/ss.txt
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/ss.txt | cut -d ' ' -f2)
if [ -z "$TCP_STAT_VALUE" ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
tcp_status_fun $1;

添加执行权限
chmod +x tcp_status.sh

2.监控项tcp_status.conf的配置文件如下
UserParameter=tcp_status[*],/bin/bash /server/scripts/tcp_status.sh "$1"

3.重启zabbix-agent 修改配置文件必须重启
systemctl restart zabbix-agent

4.Server测试Agent是否能获取到值,通过Zabbix_get(不要直接执行脚本)
[root@zabbix-server ~]# zabbix_get -s 10.0.0.7 -k tcp_status[ESTAB]
2

5.5.添加所有监控项(记得将模板关联主机)

zabbix应用监控实践_第1张图片

 

你可能感兴趣的:(zabbix应用监控实践)