快生活 - 生活常识大全

网络流量监控与分析工具和


  2.2 网络流量监控与分析工具 Notp 和 Notpng
  对于单个服务器网络故障的排查,iftop 工具可以轻松实现,但是在监控一个庞大的服务器网络,并且要分析每个主机以及端口的网络状态时,iftop 就显得爱莫能助了,这个时候就需要一个高效的网络管理系统了。Notp 就是一款功能强大的流量监控、端口监控、服务监控管理系统。
  2.2.1 Notp 与 MRTG 的异同
  对于 MRTG,读者可能并不陌生,它是一款监控网络链路流量的工具,通过 SNMP 协议得到设备的流量信息,并将信息通过图形展示给用户。MRTG 配置简单,容易使用,它的优点是耗用的系统资源小,可以非常直观地显示流量负载,但是它也有很多缺点,例如: 只能用于 TCP/IP 网、数据不能重复使用、无法记录更详细的流量状态、没有管理功能等, 而这些刚好是 Notp 最擅长的地方。
  Notp 是网络流量监控中的新贵,它是一种网络嗅探器,在监测网络数据传输、排除网络故障方面功能十分强大。它通过分析网络流量来判断网络上存在的各种问题,还可以监控是否有黑客正在攻击网络,如果网络突然变缓慢,通过 ntop 截获的数据包,可以确定是什么类型的数据包占据了大量带宽,数据包的发送时间、数据包传送的延时、数据包的来源地址等,通过这些信息,运维人员可以及时、迅速地做出响应,或者对网络进行调整,从而保证网络正常、稳定运行。
  2.2.2 Notp 与 Notpng 的功能介绍
  Notp 提供了命令行界面和 Web 界面两种工作方式,通过 Web 界面,可以清晰展示网络的整体使用情况、网络中各主机的流量状态与排名、各主机占用的带宽以及各时段的流量明细、局域网内各主机的路由、端口使用情况等。
  根据官方的介绍,Notp 主要提供以下几个功能:
   可以自动从网络中获取有用的信息。
   可以将获取的数据包信息转换为可识别的格式。
   可以记录网络的通信时间和过程。
   可以对网络中失败的通信进行分析。
   可以发现网络环境中通信的瓶颈。
   可以自动识别客户端正在使用的操作系统。
  通过对 Notp 功能的介绍,不难看出,它就是从分析网络流量角度来确定网络上存在的各种问题,说得更简单一点,就是一个抓包工具,然后通过归纳和绘图实现了更多的功能。在 Notp 版本更新到 Notp5.x 之后,官方宣布停止 Notp 版本的更新,继而推出替代版本Notpng。Notpng 在 Notp 版本的基础上,去掉了一些拖沓冗长的功能,同时新增了网络流量实时监控功能,并将各个功能进行重新梳理和整合,使整个流量展示更加智能化和合理化。
  Notpng 使用 Redis 键值服务按时间序列存储统计信息,通过这种方式实现了流量状态实时展示。与 Notp 类似,Notpng 也内置 Web 服务功能,同时,也支持命令行界面和 Web 界面两种工作方式,但是 Notpng 降低了对 CPU 和内存的使用率,资源消耗更少。Notpng 除了可以实现 Notp 的所有功能外,新增的功能如下:
   以图形的方式动态展示流量状态。
   实时监控网络数据并实时汇总。
   以矩阵图的方式显示 IP 流量。
   可以生成基于 HTML5/AJAX 的网络流量统计。
   支持历史流量数据分析。
   基于 HTML 5 的动态图形用户界面。
  下面分别介绍一下 Notp 和 Notpng 的安装及使用技巧。
  2.2.3 安 装 Notp 与 Notpng
  1. 安装 Notp
  Notp 可以支持 win32 、Linux 、UNIX 、BSD 等平台。可以在 Notp 官方站点http://www.ntop.org/ 下载对应的版本。Notp 的安装可以通过 yum 方式和源码编译安装两种方式实现,为了能够使用最新的稳定版本,这里采用源码编译的方式来安装,安装过程如下:
  (1) 安装 Notp 必需的软件包
  这里安装的操作系统环境为 Centos6.3 x86_64 版本。为了能顺利完成源码编译,需要安装 Notp 必需的一些软件包,操作如下:
  [root@monitor ~]#yum -y install libpcap libpcap-devel libtool libpng gdbm gdbm-devel glib libxml2-devel pango pango-devel gd zlib zlib-devel
  [root@monitor ~]#yum -y install svn rrdtool rrdtool-devel python python-devel GeoIP GeoIP-devel
  (2) 编译安装 Notp
  这里下载的是 ntop-5.0.1 版本,编译安装过程如下:
  [root@monitor ~]# tar zxvf ntop-5.0.1.tar.gz
  [root@monitor ~]# cd ntop-5.0.1
  [root@monitor ~]# ./autogen.sh --with-tcpwrap
  [root@monitor ~]# make
  [root@monitor ~]# make install
  其中,--with-tcpwrap 选项用于支持 TCP Wrappers 访问控制,以保证 Notp Web 访问的安全。
  (3)简单配置 Notp
  在 Notp 安装完成后,默认的数据存放目录为/usr/local/var/nto。为了保证安全,建议以低权限用户 nobody 身份运行 Notp 进程,因此,可能需要对 Notp 默认的数据存放目录进行权限调整,执行如下命令即可:
  [root@monitor ~]# chown -R nobody /usr/local/var/ntop
  通过 Notp 的 Web 页面可以修改 Notp 的设置或关闭 Notp 服务,但是必须要通过管理员用户的验证,Notp 默认的管理员为 admin,密码为空,因此,需要为其设置一个密码。通过如下命令即可设置 admin 用户的密码:
  [root@monitor ~]# ntop –A
  然后重复输入两次密码即可。
  Notp 的 Web 页面在默认情况下没有访问限制,有时候为了网络的安全,建议设置授权访问,只有授权的主机才能访问此 Web 页面,这可以通过 Linux 系统本身的 TCP Wrapper 功能实现,授权过程如下:
  [root@monitor ~]#vim /etc/hosts.allow ntop: 192.168.12.188
  [root@monitor ~]#vim /etc/hosts.deny ntop: ALL
  这里设置只允许 IP 地址为 192.168.12.188 的主机可以访问 Notp 的 ntop 服务,其他所有IP 的访问全部禁止。
  2. 安装 Notpng
  Notpng 是目前官方的主推版本,可以从 http://www.ntop.org/ 下载目前最新的ntopng-1.1 源码版本进行编译安装。不过为了安装方便,官方推出了 Notpng 的 yum 源仓库,通过 yum 源仓库可以轻松安装 Notpng,这里就采用 yum 源方式进行安装。
  (1) 设置 yum 源
  首先为 ntopng 创建一个 yum 源仓库,内容如下:
  [root@localhost ~]# cat /etc/yum.repos.d/ntop.repo [ntop]
  name=ntop packages baseurl=http://www.nmon.net/centos/$releasever/$basearch/ enabled=1
  gpgcheck=1
  gpgkey=http://www.nmon.net/centos/RPM-GPG-KEY-deri
  然后下载一个 epel 的 yum 源:
  [root@localhost ~]# wget
  > http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@localhost ~]# rpm –Uvh epel-release-6-8.noarch.rpm
  (2) 开始安装 Notpng
  在设置好两个 yum 源后,安装 Notpng 就变得十分简单了,只需执行如下操作即可:
  [root@localhost ~]# yum clean all [root@localhost ~]# yum update
  [root@localhost ~]# yum install pfring n2disk nProbe ntopng ntopng-data nbox
  (3) 配置 Notpng
  在 Notpng 安装完成后,默认的配置文件模板是/etc/ntopng/ntopng.conf.sample,可
  以将此文件重命名为 ntopng.conf,然后在这个配置文件中添加一些配置信息,例如: [root@localhost ~]# cat /etc/ntopng/ntopng.conf
  -G=/var/tmp/ntopng.gid
  --local-networks "192.168.12.0/24"
  --interface em2
  --user nobody
  --http-port 3000
  相关参数含义如下:
   -G 指定存储 ntopng 进程号的文件路径。
   --local-network 指定要监控的本地子网段。
   --interface em2 指定监听 em2 网卡上的流量。
   --user 指定运行 ntopng 服务所使用的账户。
   --http-port 指定 ntopng 的 Web 服务端口号,如果不指定,默认端口为 3000。
  (4) 启动 ntopng 服务
  在启动 Notpng 服务之前,需要先启动 redis 服务。redis 的功能之前介绍过,主要为 ntopng
  提供键值存储。下面首先启动 redis 服务,然后启动 Notpng 服务,执行操作如下:
  [root@localhost ~]# service redis start
  [root@localhost ~]# service ntopng start
  为了保证 redis 和 ntopng 服务在以后可开机自启动,还需要执行如下操作:
  [root@localhost ~]# chkconfig ntopng on
  [root@localhost ~]# chkconfig redis on
  最后,就可以通过 Web 方式:http://IP:3000 来访问 Notpng 提供的服务了,默认登录用户名和密码均为 admin,可在登录后进行修改。
  2.2.4 Notp 和 Notpng 的使用技巧
  在完成 Notp 安装后,执行如下命令即可启动 Notp 服务:
  [root@networkserver ~]# ntop -i em1 -L –d
  这里通过 Notp 命令监控网卡 em1 的流量状态,相关参数的含义将在后面章节详细介绍。在执行此命令后,Notp 服务的日志输出将重定向到系统的/var/log/messages 文件中,同时将开启默认的 3000 端口作为 Web 界面服务端口,执行 http://IP:3000 即可访问 Notp 提供的 Web监控界面。
  1. Web 界面下 Notp 的使用方法与技巧
  Notp 的 Web 界面主要有 7 个主栏目组成,下面主要介绍下每个栏目中需要重点关注的功能点。
  "About"栏目是对 Notp 的简单介绍和一些在线手册等帮助信息。
  "Summary"栏目是对目前网络流量的一个整体概况,其中子栏目"Traffic"可以显示全局流量统计,主要包含网络接口流量统计、协议流量分布、应用协议流量统计等,网络流量会以柱面图、曲线图和明细表格的形式展示出来。
  图 2-3 显示的是 L2/L3 协议对应的流量分布图。
  图 2-3 Notp 根据协议进行的流量分布统计"Summary"下的子栏目"Host"主要显示所有可监控主机的 IP 地址、地理位置、MAC地址、数据发送接收量、目前活动连接数等各种信息,在主机流量监控方面,可通过 Bytes方式统计,也可以用 packets 方式统计,要了解每个主机的详细流量信息,只需点击对应的Host 便可查看,图 2-4 就是某主机在某时刻的流量连接流视图。
  图 2-4 通过 Notp 展示某主机在某时刻的连接流视图
  通过图 2-4 可以非常清晰地了解某主机在某时刻的连接状态,中间的竖柱表示的是 IP 为"125.76.237.248"这台主机,然后以竖柱为中心,分成左右两个部分,左边部分表示外部 IP 与"125.76.237.248"这台主机之间的发送、接收数据流量,右边部分表示"125.76.237.248"这台主机与外部 IP 之间的发送、接收数据流量,连接的宽度表示发送或接收数据量的大小。
  在"Summary"下的子栏目"Host"中,在查看每个主机的详细流量页面上有一个按时段的流量统计功能,这个功能非常有用,通过这个统计可以查看某主机在一天任意一个小时内发送、接收的数据流量,同时还通过饼状图进行集中汇总。
  "Summary"下的子栏目"Network Load"用于网络负载统计,通过该项功能可以查看最近 10 分钟、一小时、一天、一个月的网络流量信息。图 2-5 展示的是一个小时内的网络负载统计。
  图 2-5 Notp 展示的一个小时内的网络负载
  "All Protocols"栏目主要用于查看各主机发送、接收的数据量,并将数据以 TCP、UDP、 ICMP 的方式进行分类统计。其中,子栏目"Throughput"主要显示所有可见主机的吞吐量,子栏目"activity"主要显示当前网络可见主机在 24 小时中每小时的流量状态,并且每个时段根据流量的大小分别用不同的颜色进行标注。
  "IP"栏目主要对各个主机中应用层协议产生的流量进行统计。例如,子栏目"Summary"主要对各主机中 HTTP、FTP、Mail、SSH、DNS 等服务产生的流量进行详细统计,同时还可以统计多播信息、流量分布等;子栏目"Traffic Directions"主要用于统计端到端的流量信息,可以统计本地到本地、本地到远端、远端到本地、远端到远端的流量状态;子栏目"Local"主要是统计局域网络内各主机使用状况,比如可以统计本地路由使用信息,本地端口使用信 息、Active Sessions 连接信息等。
  "Utils"栏目主要有 RRD 参数的配置、转存 Notp 的统计信息,以及查看 Notp 运行日志信息几个功能。
  "Plugins"栏目用于继承 Notp 插件工具,默认安装的插件有 NetFlow、rrdPlugin、sFlow等,其中,NetFlow 插件可用于设置、激活、停用 NetFlow 支持,在启用 NetFlow 后,Notp 就可以统计 Netflow 的详细信息,包括 netflow 的格式、数据量及端口流量。而 rrdPlugin 插件主要用于生成流量图,它比 MRTG 更灵活,非常适合用 shell、perl 等程序来调用,以生成所需的图片。sFlow 是一种新的网络监测技术,可适应超大网络流量下的流量数据分析, 在 Notp 中启用 sFlow 支持后,不但可以降低实施成本,也可以解决网络管理中面临的很多问题。
  最后一个栏目"admin"是一个管理选项,访问此栏目时需要提供管理员密码,有 Notp的参数配置、登录 Notp 的密码设置、配置用户访问 Notp 的页面、Notp 的启动与关闭等几个功能选项。这些 ntop 的配置与管理功能非常简单,这里不过多讲述。
网站目录投稿:问芙