zabbix4.0监控TCP状态

 

简介

 tcp的连接状态对于web服务器来说很重要,我们可以根据tcp状态判断服务器是否受到了攻击,打开的连接是否过多等。

tcp状态

LISTEN:等待从任何远端TCP 和端口的连接请求。 
SYN_SENT:发送完一个连接请求后等待一个匹配的连接请求。 
SYN_RECEIVED:发送连接请求并且接收到匹配的连接请求以后等待连接请求确认。 
ESTABLISHED:表示一个打开的连接,接收到的数据可以被投递给用户。连接的数据传输阶段的正常状态。 
FIN_WAIT_1:等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。 
FIN_WAIT_2:等待远端TCP 的连接终止请求。 
CLOSE_WAIT:等待本地用户的连接终止请求。 
CLOSING:等待远端TCP 的连接终止请求确认。
LAST_ACK:等待先前发送给远端TCP 的连接终止请求的确认(包括它字节的连接终止请求的确认) 
TIME_WAIT:等待足够的时间过去以确保远端TCP 接收到它的连接终止请求的确认。 
TIME_WAIT 两个存在的理由: 
1.可靠的实现tcp全双工连接的终止; 
2.允许老的重复分节在网络中消逝。 
CLOSED:不在连接状态(这是为方便描述假想的状态,实际不存在)

主机安排

主机名

IP地址

功能

n1

192.168.231.20

zabbix-server

n2

192.168.231.21

zabbix-agent

zabbix-agent客户端配置

获取tcp连接状态命令

[root@n4 ~]# ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
LISTEN 7
ESTAB 1
TIME-WAIT 22

创建获取tcp连接状态的脚本

[root@n4 ~]# mkdir /etc/zabbix/scripts
[root@n4 ~]# mkdir /etc/zabbix/tmp

改变tmp文件属主和属组为zabbix

[root@n4 ~]# chown -R zabbix.zabbix /etc/zabbix/tmp

[root@n4 ~]# vim /etc/zabbix/scripts/tcp_status.sh

#!/bin/bash
#tcp_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
ss_file=/etc/zabbix/tmp/ss.txt
tcp_status_fun(){
  tcp_stat=$1
  ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s)print k,s[k]}' > ${ss_file}
  tcp_stat_value=$(grep ${tcp_stat} $ss_file | awk {'print $NF'})
  if [ -z "$tcp_stat_value" ];then
    tcp_stat_value=0
  fi
  echo $tcp_stat_value   
}
tcp_status_fun $1

赋予执行权限

[root@n4 ~]# chmod +x /etc/zabbix/scripts/tcp_status.sh

创建自定义的key

[root@n4 ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

UserParameter=tcp_status[*],/etc/zabbix/scripts/tcp_status.sh $1

修改客户端配置文件

[root@n4 ~]# egrep -v "^$|#" /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.231.20  #zabbix-server的IP地址
ServerActive=127.0.0.1
Hostname=192.168.231.23  #设置主机名
Include=/etc/zabbix/zabbix_agentd.d/*.conf

重启zabbix-agent

[root@n4 ~]# systemctl restart zabbix-agent.service

zabbix-server服务端配置

获取ESTAB,打开的连接数

[root@n1 ~]# zabbix_get -s 192.168.231.23 -p 10050 -k tcp_status[ESTAB]

2

zabbix-server的web界面设置

配置-》主机-》创建主机

图片.png

创建应用集(这里已经创建过)

图片.png

图片.png

创建监控项(名称自定义,键值为客户端设置的,"[ ]"中填写tcp状态变量)

图片.png

创建完成的11个tcp状态监控项

图片.png

创建图形

图片.png

查看,监测-》图形-》选择群组,主机,图形

图片.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

real向往

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值