我写这篇文章的起因:网上介绍ntopng这款工具的博客不算很多,而且安装方法基本没一个行得通(可能是版本更新太快了),我在安装过程中遇到了一些问题,想跟大家分享下;其次,在讲使用方法方面,大部分博客都是贴一堆图,没有做太多解释,本文会参考《高性能linux服务器构建实战--系统安全、故障排查、自动化运维与集群架构》一书给出更多解释,感兴趣也可以阅读原文。
1. 介绍:Ntopng的前身是Ntop,Ntop在更新到5.x版本后就停止更新了,官方推出替代产品Ntopng。Ntop是一款可以监控大型网络、并分析局域网内每台主机及端口网络状态的网络管理系统。新版本的Ntopng去除了一些冗长功能, 增加了网络流量实时监控功能。Ntopng使用Redis键值服务,支持命令行界面和web界面两种工作方式。
2.安装
很多博客啊书啊介绍的安装方式有点老了,装的都是1.X的版本。我建议去官网上看安装方式,比较靠谱。以下摘抄官网:
http://packages.ntop.org/centos-stable/
This directory contains
stable builds
(SVN code) of 64 bit binary packages for RedHat/CentOS (latest OS version). Please use
rpm-stable.ntop.org
for stable builds.
In order to use this repository do (as root):
- cd /etc/yum.repos.d/
- wget http://packages.ntop.org/centos-stable/ntop.repo -O ntop.repo
- wget http://packages.ntop.org/centos-stable/epel-6.repo -O epel.repo
- wget https://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-6/saltstack-zeromq4-epel-6.repo
- rpm -ivh http://packages.ntop.org/rpm6/extra/hiredis-0.10.1-3.el6.x86_64.rpm http://packages.ntop.org/rpm6/extra/hiredis-devel-0.10.1-3.el6.x86_64.rpm
- wget http://packages.ntop.org/centos/epel-7.repo -O epel.repo
then do:
- yum erase zeromq3 (Do this once to make sure zeromq3 is not installed)
- yum clean all
- yum update
- yum install pfring n2disk nprobe ntopng ntopng-data cento
照着来吧。完了再把redis装上:
yum install redis
然后问题来了,没发现配置文件。一般用yum安装后在/etc/目录下都应该该有配置文件的。用find找一下:
第一个是回滚日志的设置,不用理(它的存在也说明了ntopng安装成功且有日志记录),第二个ntopng这个服务的定义,我们看下具体内容(我只截了部分):
这段大概是说服务启动都会检查是否有/etc/ntopng这个目录,没有的话就创建。配置文件/etc/ntopng.conf也会创建到这里, 虽然只有一句话 -G=/var/run/ntopng.pid
那我们开启这个服务:service redis start
service ntopng start
现在再来看,发现有配置文件了。
这两个都是配置文件,ntopng.start表示开启时需要的配置文件。简单配置一下,编辑ntopng.conf,
-G=/var/run/ntopng.pid 表示存储ntopng进程号的路径
--local-networks "192.168.1.0/24" 表示要监听的网段
--interface eth0 表示要监听eth0网卡上的流量
--user nobody 指定服务使用的账户为nobody
--http-port 3000 指定web服务端口号,默认也是3000
使用:
访问IP:3000, 打开ntopng页面,用户名和默认密码都是admin/admin,主界面中间的“Top Flow Talkers”就是一个流量实时展示的界面。
web主界面主要分为Home、Flows、Hosts、Interfaces四个主栏目。Home是从整体上展示并统计发送、接收的数据流。
flow栏目基于DPI的自动程序或服务探测程序生成的实时数据报告,主要用于统计活跃的数据流,并将数据流以协议类型、应用类型、数据量大小等方式进行详细统计,如图:
上图中也展示了每台主机的主机名、网络吞吐量、数据传输量等信息,单击每台主机的ip可以进入主机详细信息页,单击端口号也可以看到端口流量的信息。每台主机又对应很多细分:
traffic可以根据协议类型查看数据的通信量,以TCP、UDP、ICMP三种协议类型进行统计,并通过饼状图进行整体汇总。
packet栏目展示数据包发送量、接收量的分布图,也是饼状图;port、peers等栏目也大同小异,大家可以逐个看看。protocols栏目可以根据应用程序的类型进行流量统计,这个比较有用,如下图:
图中展示了各种应用协议在一段时间内的发送、接收数据量,通过此功能可以发现哪个应用程序存在问题。
最后一个主栏目是interfaces,用于对监控的网络接口的数据流量进行分析,可以查看监控接口传输数据量的总大小、接收数据包的总个数以及包大小分布状况、每个协议产生的流量大小、历史流量数据查询等,可以从整体上了解网络接口的通信状态。还有很多小栏目就不一一细说了,大家可以自己摸索下。