cnetos 7 安装 nfsen
1.换yum源(之前尝试安装所需依赖包时,系统提示找不到包,怀疑是源的问题,本次更换是阿里源)
确认系统是否有wget命令,如果没有,用yum安装
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cent0S-Base.repo.bak
备份原始的源,为了防止更换源时出错
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载并设置更新源为阿里云的源
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
下载并设置EPEL源(此源包含更多软件)
yum clean all
清理之前的yum缓存
yum makecache
生成新的yum缓存
2.安装nfsen所需的组件
安装httpd(阿帕奇)、php(脚本语言)、gcc套件(编译工具)、rrdtool(用来调用rrd数据库)、perl(脚本语言)等组件
进入/etc/selinux/config文件
改动SELINUX变为SELINUX=disabled
SELINUX是linux的一个安全系统,会限制某些程序的权限。(防止安装出现问题,关闭SELINUX)
启动httpd
设置开机自启
创建/nfsen目录并切换到该目录下
下载nfdump(压缩包)(nfdump是一款开源的netflow收集、存储、过滤、统计分析软件)
解压nfdump
切换到nfdump目录
生成make文件(用来进行make编译,因为用wget下载的额东西系统不会自行编译,必须手动进行编译)
编译并安装
打出“nf”用tab补全,若补全成功,即安装成功
3.安装nfsen
切换到/nfsen目录并下载nfsen
解压nfsen
切换到nfsen-1.3.6p1
拷贝 etc/nfsen-dist.conf 并改名为 etc/nfsen.conf
进入etc/nfsen.conf文件找到以上选项并按照以上内容更改
创建 /data目录
把/data的所有者和所属组改成apache
生成make文件
注意!这会可能会出现以下错误
编译到nfsen.pm的42行失败,应是缺少perl组件,安装perl-Sys-Syslog即可继续编译
接着还会出现初始化mysql数据表报错问题
还是因为缺少perl插件(初始化mysql数据库的脚本是用perl编写的),安装上即可,第二条是模块拓展
接着再试一次(还会报错)
这个错误是etc/nfsen.conf配置文件中‘col’(html识别的某个参数,从报错内容上看是控制颜色的)的问题
两个解决办法
1.进入etc/nfsen.conf配置文件
注释掉peer1和peer2两条内容
2.在peer1和peer2中的IP上加两条内容(peer1和peer2是在upstream1无法转法时才用到的,这会可以直接注释掉)
再试一次,无报错
在启动文件里创建一个nfsen文件
添加以上内容
4.安装PortTracker插件(nfsen端口查看插件)
切换到/nfsen目录,把解压过的两个脚本文件cp一下
拷贝nfsen-1.3.6p1/contrib/PortTracker/PortTracker.pm 到/data/nfsen/plugins/目录
拷贝nfsen-1.3.6p1/contrib/PortTracker/PortTracker.php 到/var/www/html/nfsen/plugins/目录
创建一个目录用来存放PortTracker数据
把这个目录的所有者和所属组改成apache
执行以上命令
启动nfsen
可能会出现报错
解决方法:
找到libexec目录
用Vi打开以上两个文件
找到use Socket6更改为 Socket6->import(qw(pack_sockaddr_in6 unpack_sockaddr_in6 inet_pton getaddrinfo));(两个文件的都要改,以上是我更改过的)
之后切换到nfsen生成make文件的哪个目录
再重新生成一下make文件
再启动nfsen,成功
关闭防火墙
5.测试
这篇文档是我和我同事根据网上搜索的多篇文章,进行实验后得到的结果,而且我们在搜索文章时发现,很多文章按着做总是会出错,需要多篇文章结合,我这篇文章应该也会有不太完美的地方,欢迎指出,望不要喷