CentOS 7部署nfsen监控netflow

article/2025/9/30 19:53:53

转载来源 :部署nfsen监控netflow :
https://www.jianshu.com/p/011258907081

介绍

netflow和sflow可以帮助我们分析网络中的流量构成,抓取实施带宽使用情况,帮我们找出"hog"。作为collector的软件一般都是收费的,例如solarwinds NTA,sflowTrend-Pro,ntopng商业版等。不过也有开源的解决方案,例如ntopng社区版和nfsen。

以下是基于cenos7.5部署nfsen的过程:

一、安装nfsen 需要以下依赖:

rrdtool和perl模块及所需组件

使用以下yum命令安装:

yum -y install httpd php perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc perl-Socket6 perl-MailTools perl-Mail-Sender perl-Sys-Syslog perl-Module-Install.noarch

perl-Mail-Sender-0.8.23-1.el7.noarch.rpm和rrdutils-5.2.1-1.el6.rf.noarch.rpm 这两个文件为rrdutils和perl-Mail-Sender,yum源无法安装这两个的时候使用,rpm -ivh 安装即可。

二、Web环境的部署:

vi /etc/httpd/conf/httpd.conf #修改apache配置文件

添加以下语句:

AddType application/x-tar .tgz #查找AddTypeAddType application/x-httpd-php .phpindex.php nfsen.php #查找index.html将index.php和nfsen.php加至句末

编写测试页面:

vi /var/www/html/index.php

内容如下:

<?phpphpinfo();?>

关闭防火墙或放通80端口,关闭selinux

systemctl stop firewalldsetenforce 0

重新启动httpd使配置生效

systemctl restart httpd

打开浏览器输入该服务器的IP地址,可查看到界面为php测试界面即apache+php环境配置完毕。
在这里插入图片描述

三、安装Nfdump工具----用于抓包主要软件

wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.11/nfdump-1.6.11.tar.gz 下载

或使用附件:nfdump-1.6.11.tar.gz

使用以下命令安装:

tar -zxf nfdump-1.6.11.tar.gzcd nfdump-1.6.11./configure --enable-nfprofile --enable-nftrack --with-rrdpath=/usr/local/rrdtoolmakemake installcp bin/nftrack /usr/local/bin/ #后面配置Portracker插件的时候需用到

使用nfdump -V命令能看到版本信息,表示安装完成:
在这里插入图片描述

四、安装并配置Nfsen

wget http://iweb.dl.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz

下载

或使用附件:nfsen-1.3.6p1.tar.gz

mkdir -p /usr/local/nfsentar zxvf nfsen-1.3.6p1.tar.gzcd nfsen-1.3.6p1/cp etc/nfsen-dist.conf etc/nfsen.conf

修改Nfsen配置文件:

vi etc/nfsen.conf

内容如下:

$BASEDIR = "/usr/local/nfsen";$HTMLDIR = "/var/www/html/nfsen/";$USER = "apache";$WWWUSER = "apache";$WWWGROUP = "apache";%sources = ('upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },'peer1' => { 'port' => '9996', 'IP' => '172.16.17.18' },'peer2' => { 'port' => '9996', 'IP' => '172.16.17.19' },); #9995为接收网络设备netflow的端口

修改完成后,保存并退出。

安装Nfsen:

./install.pl etc/nfsen.conf

执行安装命令后,回车使用默认配置安装即可。

安装时若报一个204行限制访问的错误,需要修改install.pl,注释掉203-205这三行:

vi install.plif ( scalar @out != 2 ) {die "Error getting nfdump version";}

然后重新执行安装即可。

五、Nfsen插件PortTracker配置

新建PortTracker数据存放目录:

mkdir /usr/local/nfsen/ports-dbchown -R apache:apache /usr/local/nfsen/ports-db/

编辑PortTracker.pm修改$PORTSDBDIR目录:

注意:该目录为解压nfsen-1.3.6p1.tar.gz后cd nfsen-1.3.6p1的目录。

vi contrib/PortTracker/PortTracker.pm

修改的内容如下:

my $PORTSDBDIR = "/usr/local/nfsen/ports-db";

复制PortTracker插件至相应目录:

cp contrib/PortTracker/PortTracker.pm /usr/local/nfsen/plugins/cp contrib/PortTracker/PortTracker.php /var/www/html/nfsen/plugins/

修改Nfsen配置文件添加插件信息:

vi /usr/local/nfsen/etc/nfsen.conf

内容如下:

@plugins = ([ 'live', 'PortTracker' ],);

生成PortTracker测试数据:

(执行完此命令后,需要等待一段时间)

#sudo -u apache /usr/local/bin/nftrack -I -d /usr/local/nfsen/ports-db/

执行完成后如下图所示:
在这里插入图片描述
启动Nfsen:

/usr/local/nfsen/bin/nfsen startps -ef | grep nfsen 可以看到nfsen的进程

在这里插入图片描述
让apache加载nfsen:

vi /etc/httpd/conf/httpd.conf #修改apache配置文件

修改后的内容如下:

DocumentRoot "/var/www/html/nfsen"

修改完成后,保存并退出。

重新启动httpd使配置生效

systemctl restart httpd

打开浏览器输入该服务器的IP地址,可查看到界面为nfsen的界面。
在这里插入图片描述
部署nfsen完成。

六、附加:使用flowexport把cenos网卡的流量发到9995端口就行监控

https://www.flowtraq.com/ flowtra官网,可下载flowexport

附件:flowexport_linux_x86_64.bin

上传flowexport_linux_x86_64.bin 到任意目录下

#chmod +x flowexport_linux_x86_64.bin 授权

执行以下命令:把网卡ens160的流量发到127.0.0.1的9995端口,发送间隔最小30秒最大60秒:

#./flowexport_linux_x86_64.bin -i ens160 -nf5 127.0.0.1 9995 -a 30 -e 60

ping ens160网卡的IP,即可产生一些icmp的流量,大概1分钟后,可在nfsen界面上看到流量图有流量了。

七、附加:安裝HostStats插件

用hoststats,可以根据时间来显示流量状况.

安装编译需要的环境

yum -y install gcc gcc-c++ gcc-g77

附件:libnfdump.tar.gz 和hoststats-1.1.5.tar.gz

tar zxvf hoststats-1.1.5.tar.gzcd hoststats-1.1.5

上传libnfdump.tar.gz到该目录下

./install-libnfdump.shmkdir /var/www/html/hoststats/./configuremakemake install

这个时候会提示要确认安装路径,输入/var/www/html/hoststats/

chown apache:apache -R /var/www/html/hoststats

启动

/var/www/html/hoststats/hoststats start

重新启动Nfsen:

/usr/local/nfsen/bin/nfsen stop/usr/local/nfsen/bin/nfsen start

如要添加到/etc/rc.local,开机启动:

echo ‘/var/www/hoststats/hoststats start‘ >> /etc/rc.local

以上步骤完成后,稍等几分钟,即可在plugins菜单上看到界面.
在这里插入图片描述
如出现提示错误:Fatal error: Call to undefined function mb_convert_encoding() in /var/www/html/nfsen/plugins/HostStats/libs/Nette/Utils/Strings.php on line 61

解决方法:

1.首先安装 php-mbstring库文件:

yum install php-mbstring

2.之后,修改/etc/php.ini文件,在里面加一句

extension=mbstring.so

3.保存后重启httpd服务。

service httpd restart

关于界面操作教程,以下网址参考:

http://blog.sina.com.cn/s/blog_704836f40102w9xa.html

//

11、若需修改时间显示粒度及设置filter输入框字符限制(默认50字符)可修改如下:

vim /var/www/html/nfsen/details.php1277行 <textarea name="filter" id="filter" multiline="true" wrap="phisical" rows="6" cols="50" maxlength="100"><?phpvim /var/www/html/nfsen/nfsenutil.php430行 ( time() - $_SESSION['PluginListUpdate'] < 600 ) ) {456行 ( time() - $_SESSION['ProfileListUpdate'] < 600 ) ) {633行 ( time() - $_SESSION['DefaultFiltersUpdate'] < 600 ) ) {

12、web页面如需设置用户名密码登陆可按如下配置:

vim /etc/httpd/conf/httpd.conf

在最后添加如下(开启http的访问验证功能):

<Directory /var/www/html/nfsen>Options Indexes FollowSymLinksallowoverride authconfigorder allow,denyallow from all</Directory>

然后设置访问限制配置文件:

vim /var/www/html/nfsen/.htacces

编写如下内容:

Authname "Authorized users only. All activity may be monitored and reported!"Authtype basicAuthuserfile /etc/httpd/conf/.htpasswdrequire valid-user

配置访问用户名及密码:

htpasswd -bc /etc/httpd/conf/.htpasswd 用户名 密码

其他插件安装参考:

http://www.mamicode.com/info-detail-1331877.html

附件:
在这里插入图片描述

参考链接 :部署nfsen监控netflow :
https://www.jianshu.com/p/011258907081


http://chatgpt.dhexx.cn/article/s2bjwSok.shtml

相关文章

【NetFlow】NetFlow V9协议详细分析

无意中发现了一个巨牛的人工智能教程&#xff0c;忍不住分享一下给大家。教程不仅是零基础&#xff0c;通俗易懂&#xff0c;而且非常风趣幽默&#xff0c;像看小说一样&#xff01;觉得太牛了&#xff0c;所以分享给大家。点这里可以跳转到教程。 摘自百度百科 Netflow技术最…

NETFLOW 与 SNMP两种不同的网络监控方法

SNMP&#xff08;简单网络管理协议&#xff09;和Netflow都是管理员常用的协议&#xff0c;因其能够提供网络可见性以及在某些情况下识别网络性能问题、网络瓶颈、系统资源分配问题等的原因而备受赞誉。在Netflow方面&#xff0c;像ManageEngine这样的第三方软件供应商可以极大…

NetFlow Analyzer无线网络管理

无线网络在机构中变得更加重要&#xff0c;因为它们越来越多地采用自带设备 (BYOD) 文化。机构环境中设备数量的增加使得保持最佳互联网性能变得困难。虽然有线网络监控很重要&#xff0c;但也有必要监控无线网络&#xff0c;因为它们更重要。 无论是处理安全问题还是网络性能…

网络协议之Netflow与sFlow协议

《NetFlow 与sFlow理解及比较》 &#xff08;注&#xff1a;本文是个人对两种协议的理解&#xff0c;没有太多概念性的东西&#xff0c;适合对两种协议有一些基本了解的同学阅读。当然&#xff0c;本人知识有限&#xff0c;文章中的内容不保证没有知识错误&#xff0c;如若发现…

linux下netflow软件,NetFlow Analyzer下载

NetFlow Analyzer官方版是一款高效实用的网站流量监控软件&#xff0c;NetFlow Analyzer最新版功能强悍&#xff0c;为用户带来了强大的流量构成、协议分布和用户活动分析功能&#xff0c;NetFlow Analyzer软件支持多种Flow格式&#xff0c;可解析多达100K Flow/秒的大流量数据…

Netflow相关技术

数据包和数据流 数据包是网络中传输的数据单位,每个数据段经过网络层层封装成为-个可以在网络中流动的包&#xff0c; 从源头到达目的地之后,被目标设备层层解析出来,获得里面的数据。 数据流是一个有序的数据包系列&#xff0c;它需要用一定的顺序进行读取。可以认为,数据流是…

Netflow及其及配置案例

NetFlow 是Cisco发布的一款用于分析网络数据包信息的工具包&#xff1b; 根据不同的需要定制不同的方案&#xff1b; 典型的是对网络数据的源地址、目的地址的分析&#xff0c;对流量各种应用的分析或者路由器上各个端口的负载等&#xff1b; addr、dstaddr、port、dstport、pr…

路由器安全-NetFlow

1、NetFlow介绍 提供高层次的诊断&#xff0c;分类和识别网络异常。使用NetFlow来检查哪些行为改变明显的攻击是非常有效的。就像Wiretap一样捕获数据包。NetFlow像电话账单。&#xff08;谁和谁在通话&#xff0c;通过什么协议和端口&#xff0c;多长时间&#xff0c;速度如何…

NetFlow学习笔记

NetFlow是一种数据交换方式。Netflow提供网络流量的会话级视图&#xff0c;记录下每个TCP/IP事务的信息。也许它不能象tcpdump那样提供网络流量的完整记录&#xff0c;但是当汇集起来时&#xff0c;它更加易于管理和易读。Netflow由Cisco创造。 工作原理&#xff1a;NetFlow利用…

Tableau基础操作——连接数据源

Tableau基础操作——连接数据源 Tableau基础操作——连接数据源 前言 随着大数据时代的到来&#xff0c;借助于数据分析工具深入分析并可视化呈现变得越来越重要。而Tableau以其低功能强大且学习成本低被越来越多的企业所使用 一、Tableau是什么 Tableau可以方便用户实现快速…

BW系列之数据源

SAP BI 的数据源不局限于SAP 系统&#xff0c;所有向SAP BI 传输数据的系统都称为源系统。几乎任何来源的数据可被用来在SAP BI 中进行数据抽取。如下图所示&#xff0c; 1. 源系统的类型 源系统的主要类型包括以下几种: 1) SAP 系统&#xff0c;如SAP R/3, SAP ERP, SAP CRM, …

SpringBoot动态切换数据源

1、配置文件中配置多个数据库连接 # mysql配置 spring.datasource.local.jdbc-urljdbc:mysql://192.168.1.115:3308/cq_njdd?useUnicodetrue&characterEncodingutf-8&useSSLfalse&serverTimezoneAsia/Shanghai spring.datasource.local.usernameroot spring.data…

springboot jpa 多数据源配置

1.yml多数据源配置 amdb,josdb,josdbqy&#xff0c;分别为自定义数据源名称&#xff0c;type指定数据源使用的连接池。 2.新建类DataSourceProperties用于读取yml文件中的自定义数据源属性 Component public class DataSourceProperties {Value("${spring.datasource.am…

Spring Boot使用动态数据源

文章目录 前言一、什么是动态数据源二、动态数据源实现1.实现原理2.实现过程 前言 有这样一个场景&#xff0c;现在要开发一个数据API功能&#xff0c;用户自己编写数据源脚本&#xff0c;在界面任意选择一个数据源&#xff0c;可选择的数据源列表中数据源类型是多样的&#x…

SpringBoot整合MybatisPlus多数据源

相信在很多使用MybatisPlus框架的小伙伴都会遇到多数据源的配置问题&#xff0c;并且官网也给出了推荐使用多数据源 (dynamic-datasource-spring-boot-starter) 组件来实现。由于最近项目也在使用这个组件来实现多数据源切换&#xff0c;因此想了解一下该组件是如何运行的&…

Springboot/MybatisPlus动态切换数据源

1.1 简述 最近项目中有动态切换数据源需求&#xff0c;主要是要动态切换数据源进行数据的获取&#xff0c;现将项目中实现思路及代码提供出来&#xff0c;供大家参考。当然切换数据源还有其他的方式比如使用切面的方式&#xff0c;其实大体思路是一样的。 1.2 设计思路与代码…

Spring数据源配置

目录 Spring相关的API ApplicationContext的继承体系 ApplicationContext的实现类 getBean()方法使用 Spring配置数据源(连接池) 数据源的开发步骤 加载配置文件方式创建 将DateSource的创建权交给Spring容器去完成 抽取jdbc配置文件 Spring相关的API ApplicationContex…

Java 动态数据源配置

目录 一、动态数据源介绍 1. AbstractRoutingDataSource 2. 实现逻辑 二、源代码 1. 修改配置文件类 2. 创建数据源枚举 3. 数据源切换处理 4. 继承AbstractRoutingDataSource 5. 注入数据源 6. 自定义多数据源切换注解 7. AOP拦截类的实现 8. 使用切换数据源注解 …

SpringBoot实现多数据源配置

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; SpringBoot实现多数据源配置 ⏱️ 创作时间&#xff1a; 2022年06月13…

SAP 数据源

SAP BW或者BI作为数据仓库会抽取SAP系统数据和非SAP系统数据&#xff0c;源系统的主要类型有以下几种&#xff1a; 1、SAP系统&#xff1a;R/3、S/4、CRM、等&#xff0c; 2、文本文件&#xff1a;将数据库转化为XML或者CSV文件放在FTP上&#xff0c;然后去读取数据&#xf…