Zabbix 监控网络状态

2018-05-10 0 By admin

一、TCP协议状态的监控

监控Linux系统中TCP协议各种状态的连接数;当某个状态数暴增时,有可能是遭到了攻击。帮助我们更加了解服务器的运行状态,尤其是在受到黑客攻击时。

1.1、Zabbix Client 配置文件修改

修改zabbix_agentd.conf文件;包含设置子文件zabbix_agentd.conf.d目录内容
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
在zabbix_agentd.conf.d目录下建立配置tcp_status.conf文件
UserParameter=tcp_states.established[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c established $1
UserParameter=tcp_states.syn_sent[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c syn_sent $1
UserParameter=tcp_states.syn_recv[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c syn_recv $1
UserParameter=tcp_states.fin_wait1[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c fin_wait1 $1
UserParameter=tcp_states.fin_wait2[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c fin_wait2 $1
UserParameter=tcp_states.time_wait[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c time_wait $1
UserParameter=tcp_states.closed[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c closed $1
UserParameter=tcp_states.close_wait[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c close_wait $1
UserParameter=tcp_states.last_ack[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c last_ack $1
UserParameter=tcp_states.listen[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c listen $1
UserParameter=tcp_states.closing[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c closing $1
UserParameter=tcp_states.unknown[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c unknown $1
UserParameter=tcp_states.[*],sh /usr/local/zabbix/scripts/tcp_states.sh -c $1 $2

1.2、Zabbix Client 添加脚本文件

脚本文件:tcp_states

1.3、Zabbix 管理界面配置

在Zabbix管理界面中导入模板文件,对需要检查的主机管理模板。
模板文件:tcp_status

二、套接字状态的监控

获取TCP/UDP协议套接字的状态信息。

2.1、Zabbix Client配置

在zabbix_agentd.conf.d目录下建立配置sockstat.conf文件
UserParameter=sockstat.netstat,netstat -ntu |sed 1,2d |awk '{print $5}'|cut -d: -f1 |sort |uniq -c |sed '1!d'|awk '{print $1}'
UserParameter=sockstat.sockets,cat /proc/net/sockstat|grep sockets|cut -d' ' -f 3
UserParameter=sockstat.tcp.inuse,cat /proc/net/sockstat|grep TCP|cut -d' ' -f 3
UserParameter=sockstat.tcp.orphan,cat /proc/net/sockstat|grep TCP|cut -d' ' -f 5
UserParameter=sockstat.tcp.timewait,cat /proc/net/sockstat|grep TCP|cut -d' ' -f 7
UserParameter=sockstat.tcp.allocated,cat /proc/net/sockstat|grep TCP|cut -d' ' -f 9
UserParameter=sockstat.tcp.mem,cat /proc/net/sockstat|grep TCP|cut -d' ' -f 11
UserParameter=sockstat.udp.inuse,cat /proc/net/sockstat|grep UDP:|cut -d' ' -f 3
UserParameter=sockstat.udp.mem,cat /proc/net/sockstat|grep UDP:|cut -d' ' -f 5

2.2、Zabbix 管理界面配置

在Zabbix管理界面中导入模板文件,对需要检查的主机管理模板。
模板文件:sockstat

三、TCP 端口Discovery 的监控

发现Linux系统监听的TCP协议端口,并监控此端口是否正常运行。

3.1、Zabbix Client配置

1、在zabbix_agentd.conf.d目录下建立配置tcp_port_discovery.conf文件
UserParameter=tcp.port.discovery,/usr/local/zabbix/scripts/tcp_port_discovery.py
2、编辑discovery发现系统监听的端口
脚本文件:见附件

3.2、Zabbix 管理界面配置

在Zabbix管理界面中导入模板文件。
模板文件和脚本文件:tcp_port_discovery