拓扑图

监控点选择

监控点的选择主要取决于要监控的数据流,如果将监控点放在公网口,则捕获的地址均为公网地址,如果监控点部署在负载均衡内网口,则捕获的数据有公网地址和内网地址两种。
选在公网口,此时要注意,如果想使用fprobe进行1:1采样,需要将流量镜像到一台linux物理服务器上,虚拟机应该是不可以的,因为虚拟机会将非目标地址的数据包丢弃,无法捕捉镜像下来的数据包,如果使用多线bgp对接运营商的话,请先查看交换机文档,再进行镜像配置,避免镜像口拥塞影响业务口的数据包进出。
选在负载均衡内网口,如果负载均衡是linux服务器,可以直接将fprobe部署在linux服务器上,如果无法使用fprobe,那就需要镜像数据到一个linux物理服务器上,再通过fprobe的处理。
选在交换机网关上,直接使用交换机的netflow配置即可,不过要注意采样比,防止cpu内存等消耗过大,影响生产。

基于交换机采集的配置

详细配置请查看各交换机netflow文档
基本知识及思路:网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置

配置举例

flow record try
description test
match ipv4 source address
match ipv4 destination address
match ipv4 protocol
match transport sourceport
match transport destinationport
collect counter bytes
collect counter packets long
collect timestamp sysuptime first
collect timestamp sysuptime lastflow exporter try_exporter
description test_ex
destination 10.136.76.117
source Loopback1
transport udp 9999
template data timeout 30flow monitor try
description test
exporter try_exporter
cache type immediate
record trysampler test1
mode deterministic 1 outof 2interface GigabitEthernet0/0/4
ip flow monitor try sampler test1 input
ip 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 grep
crontab  -l|grep netflow
mkdir /jian_netflow
cd /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 keepalived
global_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 keepalived
global_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 ACCEPT
service 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
#201709291020
#date -d "2014-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/$file      timestamp=$[$timestamp+60]sleep 5elseecho 不存在$file >> log_netflow/log.log_$eedirsleep  60fi
done

定时压缩脚本

###############固定参数
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进行展示

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

  1. 网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置

    拓扑图 NetFlow监控涉及到的设备: 被监控的交换机(也可能是镜像服务器)和收集器(监控软件所在的设备) 工作原理: NetFlow使用流(flow)来完成统计数据.网络监控,甚至网络规划.流有方 ...

  2. android网络请求分析工具,android网络数据请求

    网络数据请求在android中应用很广泛,也很重要,所以我记录了上课讲的获取数据: 大家都知道,网络通信,发送请求有两种方式,GET和POST,这里也不例外. 1.HttpURLConnection的 ...

  3. 网络流量分析 NetFlow是什么 详解 科普 ~互联网业务流量监测技术的应用和设计---perfect

    前言 随着宽带互联网在中国的迅速发展,全国各大电信运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长.电信运营商需要通过可靠.有效的网络业务流量监测系统对其网络以及网络 ...

  4. IOTA--最便捷的网络流量分析工具

    IOTA–最便捷的网络流量分析工具 近年来5G技术迅速的发展,整个我们整个的网络环境将迎来巨大变革,其中网络流量和宽带的剧增是其中的重要变革.这样的变化虽然给我们的工作和生活带来诸多便利,但是也带来了 ...

  5. 网络流量分析详解(包含OSI七层模型、TCP协议及Wireshark工具用法)

    网络流量分析 Network Traffic Analysis(NTA) 这个系列讲的是整个网络流量分析流程,其中包含TCP协议.HTTP协议详解和Wireshark.Tcpdump的详细用法,现在只 ...

  6. 监控易网络管理:网络流量分析

    1.什么是网络流量分析 2.网络流量分析的作用 3.为什么要用网络流量分析功能,如何开启 什么是网络流量分析 简单的来说,网络流量分析就是捕捉网络中流动的数据包,并通过查看包内部数据以及进行相关的协议 ...

  7. 网络协议分析与仿真课程设计报告:网络流量分析与协议模拟

    公众号:CS阿吉 网络协议分析与仿真课程设计报告  题  目:网络流量分析与协议模拟 专业名称:         网络工程 班    级: 学生姓名:           阿吉 学号(8位): 指导教 ...

  8. 系统资源(CPU+GPU+内存+网络流量)分析

    目录 1.CPU与GPU分析 1.GPU渲染工具:GPU-RENDERING-PROFILE 2.GPR显示内容说明: 检查 GPU 渲染速度和过度绘制了解设备上的开发者选项如何帮助您直观地查看您的应 ...

  9. 实时监控网络流量,精准辨别网络性能瓶颈

    网络流量反映网络运作状态,是辨别网络运行是否正常的关键指标,通过对网络流量进行监测不仅能反映交换机.路由器等设备的工作状态,更能体现整个网络资源的运行性能.同时,用户在网络中的行为可以通过其承载的流量 ...

最新文章

  1. 声智科技完成2亿元B轮融资,将持续拓展语音交互产品的规模化落地
  2. 用看板工具Leangoo思维导图实现影响地图
  3. 大表ddl工具online-schema-change使用
  4. 动手造轮子:实现简单的 EventQueue
  5. mvc 一般注释_使用带有注释和JQuery的Spring MVC 3的Ajax
  6. 保卫Google!刻不容缓
  7. mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
  8. [小明带你玩儿Photon]5.服务器与客户端架构
  9. 配电网PMU优化配置与状态估计(Matlab代码实现)
  10. angular中自定义webpack配置
  11. 小象学院-人工智能机器学习
  12. ANE总结(Android+iPhone)
  13. SQL总结 学期前8周学习内容
  14. Linux下 ifconfig、ifup、ifdown使用说明
  15. IT大学生成长周报 | 第 3 期
  16. #includecstring
  17. 小程序推送服务通知(前后端代码)
  18. CL7016 – 用户能灵活添加自己应用的USB 接口音频Codec
  19. 早已过气的彩铃,还能在5G时代续命吗?
  20. 天涯明月刀手游模拟器哪个好?天涯明月刀手游PC电脑版教程

热门文章

  1. TextView 字体过长解决方案(实现手动滚动字体)
  2. Python(9)--列表·进阶使用
  3. 写个单片机软件工程师的简历
  4. 云服务器创建FTP站点
  5. mysql导入csv文件 第一行有问题_mysql 导入 csv文件中数据,只能导入第一行
  6. HTTP网页错误代码大全
  7. 笔记本内置摄像头改装外置摄像头
  8. Windows 2008 R2配置IIS环境搭建网站(二)
  9. 高速缓冲存储器Cache
  10. 联想一体机开机出现error1962:no operating system found.