1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 网络流量分析利器-可视化网络-netflow【6】-生产网流量监控架构设计

网络流量分析利器-可视化网络-netflow【6】-生产网流量监控架构设计

时间:2022-06-09 18:01:24

相关推荐

网络流量分析利器-可视化网络-netflow【6】-生产网流量监控架构设计

拓扑图

监控点选择

监控点的选择主要取决于要监控的数据流,如果将监控点放在公网口,则捕获的地址均为公网地址,如果监控点部署在负载均衡内网口,则捕获的数据有公网地址和内网地址两种。

选在公网口,此时要注意,如果想使用fprobe进行1:1采样,需要将流量镜像到一台linux物理服务器上,虚拟机应该是不可以的,因为虚拟机会将非目标地址的数据包丢弃,无法捕捉镜像下来的数据包,如果使用多线bgp对接运营商的话,请先查看交换机文档,再进行镜像配置,避免镜像口拥塞影响业务口的数据包进出。

选在负载均衡内网口,如果负载均衡是linux服务器,可以直接将fprobe部署在linux服务器上,如果无法使用fprobe,那就需要镜像数据到一个linux物理服务器上,再通过fprobe的处理。

选在交换机网关上,直接使用交换机的netflow配置即可,不过要注意采样比,防止cpu内存等消耗过大,影响生产。

基于交换机采集的配置

详细配置请查看各交换机netflow文档

基本知识及思路:网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置

配置举例

flow record trydescription testmatch ipv4 source addressmatch ipv4 destination addressmatch ipv4 protocolmatch transport sourceportmatch transport destinationportcollect counter bytescollect counter packets longcollect timestamp sysuptime firstcollect timestamp sysuptime lastflow exporter try_exporterdescription test_exdestination 10.136.76.117source Loopback1transport udp 9999template data timeout 30flow monitor trydescription testexporter try_exportercache type immediaterecord trysampler test1mode deterministic 1 outof 2interface GigabitEthernet0/0/4ip flow monitor try sampler test1 inputip flow monitor try sampler test1 output

基于fprobe采集的配置及自启动监控

安装方法请查看网络流量分析利器-可视化网络-netflow【5】-linux下数据采集器fprobe

配置举例

fprobe -i eth0 -e 10 10.2.82.60:9999

自启动脚本:

为了防止进程异常或者重启导致fprobe失效,使用一下脚本生成crontab作业,进行定期检查。脚本通过查找端口为9999端口来确定fprobe的启动命令。请确保已经启动了fprobe进程。

## 检查基本配置并生成jian_netflow文件夹ll /jian_netflow/ps -ef | grep fpro | grep -v grepcrontab -l|grep netflowmkdir /jian_netflowcd /jian_netflow ## 生成do_netflow.sh脚本res=$(ps -ef | grep fpr|grep -v grep|grep -o fpro.*999)echo 'res_ps=$(ps -ef | grep fprobe | grep -v grep)' > do_netflow.sh echo 'if [ -z "$res_ps" ];then' >> do_netflow.sh echo '/usr/sbin/'$res >> do_netflow.sh echo 'fi' >> do_netflow.sh cat do_netflow.sh chmod 755 do_netflow.sh echo '*/1 * * * * cd /jian_netflow/&&/bin/bash do_netflow.sh'>>/var/spool/cron/root ##配置crontab作业## 检查生成结果ll /jian_netflow/do_netflow.sh ## 检查do_netflow.sh是否存在tt=$?ps -ef | grep fpro | grep -v grep ## 检查fprobe进程是否启动ff=$?crontab -l|grep netflow ## 检查crontab作业是否存在nn=$?echo result:$tt'|'$ff'|'$nn ##返回处理结果,如果是全0就正确ls ##查看/jian_netflow下的文件,应该看到do_netflow.sh这个脚本

nfdump配置及高可用

安装方法请查看网络流量分析利器-可视化网络-netflow【4】-接收器nfdump简介

nfdump基本配置(监听9999端口):

nfcapd -w 1 -t 60 -D -p 9999 -T all -S 0 -l /data1/netflow/netflow_neiwang -P nfcapd_neiwang.pid

高可用:

这里使用keepalived软件生成Vip,其实使用的是vrrp协议,请查看【连接(我还没写)】,两台nfdump接收器,同时使用keepalived软件,效果是其中一台服务器上承载Vip,另一台处于热备状态,一旦主设备宕机,备设立马承载Vip。

安装并启动:

yum -y install keepalived service keepalived start

确定Vip,并配置(Vip请使用同网段且冲突地址,)

## A设备## cat /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {}vrrp_instance GLOBAL_10_20.81.183 {state BACKUPinterface eth0virtual_router_id 212priority 190advert_int 1nopreemptauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.20.81.183}}## B设备## cat /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {}vrrp_instance GLOBAL_10_202.81.183 {state BACKUPinterface eth0virtual_router_id 212priority 190advert_int 1nopreemptauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.202.81.183}}## 配置完两台设备,需要两台设备同时重启service keepalived restart## keepalived自启动chkconfig keepalived on

keepalived配置好,如果防火墙策略没开通,会出现两台设备上同时承载Vip,这样的情况是很糟糕的,因为Vip会相互抢占,导致数据无法连续接收。执行以下命令,添加放通vrrp协议的策略

iptables -A INPUT -p vrrp -j ACCEPTservice iptables save

检查:使用ip a,查看两台设备,应该只有一边承载Vip。

整理及定时压缩脚本

作用:

**整理脚本:**对生成的nfcapd文件进行移动,记录日志等操作,请在nfcapd文件正常生成之后再运行脚本。

**定时压缩脚本:**第二天凌晨对前一天生成的nfcapd文件进行压缩,并删除过期压缩数据,这里设定删除45天前的压缩文件。

存放位置:

nfcapd指定的文件夹。本实例中存放位置为:/data1/netflow/netflow_neiwang

执行命令:

## 如果整理脚本为exchange.sh则请执行nohup sh exchange_neiwang.sh &## 如果定时压缩脚本为yasuo.sh则请执行nohup sh yasuo.sh &

整理脚本

#!/bin/bash#起始时间:# date --date=@1506651600 +%Y%m%d%H%M#09291020#date -d "-12-05 19:45:44" +%s#1417779944###############可变参数time_i=$(date -d "+1 minute" "+%Y-%m-%d %H:%M")timestamp=$(date -d "$time_i" +%s)#起始时间##############################################################固定参数save_route1=../nfdump_imfo#存储一天压缩包tgz路径####################################while [ 1 ]do#ee是指定的日期包含分钟,eedir指定的文件夹日期只有日ee=$(date --date=@$timestamp +%Y%m%d%H%M )eedir=$(date --date=@$timestamp +%Y%m%d )file=nfcapd.$eefolder_nfdump_infoname=nfdump_info_$eedir#如果没有指定的文件加,就生成一个,用于tgz存储用,按日期保存#如果没有指定的文件加,就生成一个,用于nfcapd存储用,按日期保存#如果没有指定的文件加,就生成一个,用于log存储用,按日期保存if [ ! -d "$save_route1" ];thenmkdir $save_route1fiif [ ! -d "$folder_nfdump_infoname" ];thenmkdir $folder_nfdump_infonamefiif [ ! -d "log_netflow" ];thenmkdir log_netflowfi#将生成的nfcapd文件整理到$folder_nfdump_infoname文件夹中#并记录日志#文件存在sleep 5s,不存在 sleep 60sif [ -f "$file" ];thenecho 读取$file >> log_netflow/log.txt_$eedirmv $file $folder_nfdump_infoname/$filetimestamp=$[$timestamp+60]sleep 5elseecho 不存在$file >> log_netflow/log.log_$eedirsleep 60fidone

定时压缩脚本

###############固定参数save_route1=../nfdump_imfo####################################while [ 1 ]do#eedir指定的文件夹日期只有日eedir=$(date +%Y%m%d )folder_nfdump_infoname=nfdump_info_$eedirif [ -f ${folder_nfdump_infoname}/nfcapd.${eedir}0100 ];thentime_i_yasuo=$(date -d "-1 day" "+%Y%m%d")folder_nfdump_infoname=nfdump_info_$time_i_yasuoif [ -d $folder_nfdump_infoname ];thentar -zcvf "$folder_nfdump_infoname".tgz $folder_nfdump_infoname >> log_netflow/log.tgz_$time_i_yasuoecho $(date) 生成"$folder_nfdump_infoname".tgz >> log_netflow/log.txt_$time_i_yasuomv "$folder_nfdump_infoname".tgz $save_route1echo $(date) 移动"$folder_nfdump_infoname".tgz >> log_netflow/log.txt_$time_i_yasuorm -rf "$folder_nfdump_infoname"echo $(date) 删除"$folder_nfdump_infoname"文件夹 >> log_netflow/log.txt_$time_i_yasuofi fisleep 60 time_i_delete=$(date -d "-45 day" "+%Y%m%d")folder_nfdump_infoname_delete=nfdump_info_$time_i_delete#要删除的9天前的tgz文件名 rm -rf "$save_route1"/"$folder_nfdump_infoname_delete".tgz#删除45天前的tgz文件done

流量查询

扩展(未完成)

获取到一分钟的数据包流量,可以转换成带宽,并且筛选特定地址。进行内网地址的流量成本核算。

存储(未完成)

将数据已特定格式存储到数据库中。

展示(未完成)

通过grafana进行展示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。