企业级Zabbix应用监控实践–TCP连接状态 [ 七 ]

2017年10月23日15:23:32 发表评论 2,494 views
广告也精彩

Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB;或者是syn_recv值,详细的TCP连接状态解释: ☟☟☟

TCP连接11种状态详解
举例:
Syn_recv值较大的话可能是遭受到攻击了
time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值比较高的话,需要调优,因为会消耗掉系统上大部分端口,所以今天我们就TCP的连接进行监控,防范于未然.

[root@linux-node1 ~]# cd /etc/zabbix/scripts
[root@linux-node1 scripts]# vim tcp_status.sh
#!/bin/bash
############################################################
# $Name:         tcp_status.sh
# $Version:      v1.0
# $Function:     TCP Status
# $Author:       邱月涛
# $organization: www.dgstack.cn
# $Create Date:  2017-10-23
# $Description:  Monitor TCP Service Status
############################################################
[ $# -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;

添加执行权限

[root@linux-node1 scripts]# chmod +x tcp_status.sh

2.监控项linux_tcp.conf的配置文件如下:

[root@linux-node1 ~]# cat /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp_status[*],/bin/bash /etc/zabbix/scripts/tcp_status.sh "$1"

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

[root@linux-node1 ~]# systemctl restart  zabbix-agent

4.Server测试Agent是否能获取到值,通过Zabbix_get(不要直接执行脚本)

[root@linux-node1 scripts]# zabbix_get -s 192.168.90.11 -k tcp_status[ESTAB]
8

5.添加所有监控项(记得将模板关联主机)
企业级Zabbix应用监控实践–TCP连接状态 [ 七 ]
6.查看图形(图形是自定义创建)
企业级Zabbix应用监控实践–TCP连接状态 [ 七 ]

通过上述方法,就有效的对tcp状态监控,后续会介绍关于,Zabbix报警阈值、报警通知方式,请关注Zabbix相关文章
7.模板下载:《QQ讨论群文件共享》

搜索 zbx_netstat-tcp_templates.zip 下载即可使用。

然后在添加主机 应用这些模块即可。

  • QQ精品交流群
  • weinxin
  • 微信公众号
  • weinxin
广告也精彩
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: