jonsk:~# apt-get install ntop apache
需要安装22个包
apache、 apache-common 、apache2-utils、libapr1、libaprutil1 、libexpat1、libfreetype6 、libgd2-noxpm 、libglib1.2 、libjpeg62 、libkrb53 、libmagic1 、libpcap0.7、libpcre3 、libpng12-0 、libpq4 、libsqlite3-0 、lynx 、mime-support 、ntop 、perl、perl-modules
debian的包管理还是不是很理想,到连lynx都装上了,明明用不到嘛。
设置ntop的管理密码
jonsk:~# ntop --set-admin-password
Mon Jul 30 23:59:52 2007 NOTE: Interface merge enabled by default
Mon Jul 30 23:59:52 2007 Initializing gdbm databases
ntop startup - waiting for user response!
Please enter the password for the admin user:在这里输入admin的密码
Please enter the password again: 再次输入
Mon Jul 30 23:59:58 2007 Admin user password has been set
jonsk:~# /etc/init.d/ntop start 启动ntop服务
OK,现在打开你的浏览器输入你的IP地址加端口号3000就可以查看你的网络流量了例:
http://一定要指定http的头,要不然浏览器不知道使用使用协议来连接
ntop默认监听端口号是3000。
现在有空顺便再来说一下ntop的常用参数
-d : 放入后台执行。 常用
-L : 输出讯息写入系统记录文件。
-r : 设定页面的自动更新频率,预设每 3 秒更新一次. 。
-w : 使用其它端口 (预设是 3000) 。
-W : 同 -w , 不过这个是使用 SSL 联机 。
-u : 指定使用其它身份执行 。
-i : 指定 ntop 监听的网卡,"," 隔开多个网卡。
-M : 使用 -i 指定多张网卡时, 预设是合并统计.
ntop的页面说明
o About: 在线手册。
o Summary : 目前网络的整体概况
- Traffic : 流量
- Hosts : 所有主机使用概况
- Network Load : 各时段的网络负载
- Netflows : 网络流量图。
o IP Summary : 各主机的流量状况与排名明细
- Traffic : 所有主机的流量明细
- Multicast : 多点传送情况。
- Domain : 域名
- Distribution : 通讯量状况
- Local >>Local 本地流量。
- Local>>Remote : 所有主机对外的明细
- Remote>>Local :
- Remote>>Remote :
o All Protocols : 查看各主机占用的频宽与各时段网络使用者等的明细
- Traffic : 流量。
- Throughput : 频宽使用明细表 (点选主机,可以看到该主机详细的信息及使用状况)
- Activity : 各时段所有主机使用流量(状况). (点选主机,可以看到该主机详细的信息及使用状况)
o Local IP : 局域网络内各主机使用状况.
- Routers : 路由器状况。3.2版的ntop中已经好像没有这一项了
- Ports Used : 端口使用情况。
- Active TCP Sessions : 目前正在进行的联机 。
- Host Fingerprint : 主机快照情况。
- Host Characterization : 主机描述。
- Local Matrix : 局域网络内各主机间的流量明细。
- Fibre Channel 光纤通道,企业级存储时使用的东西
oPlugins 一些插件
ICMPWATCH: 用于端口检测很多人都已经知道了可以借助 NETSTAT -AN来查看当前的连接与开放的端口,但NETSTAT并不万能,比如你的Win2000遭到OOB攻击的时候,不等NETSTAT你就已经死机了。为 此,出现了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技术,但却能解决一些局部问题。
NetFlow: 近年来,很多服务提供商一直使用NetFlow。因 为 NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决 服务和安全问题方面所表现出来的价值,为服务计费提供基础。NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据 流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。但是, NetFlow也不是万能的,比如它无法提供应用反应时间。
rrdPlugin: 用于生成流量图。RRD的作者,也是MRTG的作者,RRD可以简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shell、perl等程序来调用,成生所要的图片。
sFlow: sFlow(RFC 3176)是基于标准的最新网络导出协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的“永远在线”技术,可以将 sFlow技术嵌入到网络路由器和交换机ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施 费用,同时可以使面向每一个端口的全企业网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视 数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影 响也非常小。snmpPlugin:这个大家都知道,就不说是
最后说一下,ntop确实很消耗资源,建议找专门找台闲置的PC做这个,而且主机放置的位置最好是在路由器边上,如果是交换机上,哪么最好将交换机出口做一个端口镜象,将镜象的端口用来连接ntop
附上ntop的运行后的服务情况jonsk:/# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 37164 15184 24732 0 0 7 9 255 16 0 2 98 0
0 0 0 37164 15184 24740 0 0 0 0 238 13 0 0 100 0
0 0 0 37164 15184 24740 0 0 0 0 234 8 1 1 99 0
0 0 0 37164 15192 24732 0 0 0 20 238 17 0 1 99 0
0 0 0 37164 15192 24740 0 0 0 0 240 17 0 0 100 0
参考:
www.ntop.org
服务器应用:用NTOP精确监控网络
scirpt -qf ssh.log
一个很好的性能监测工具dstat
无意中发现一个很好的性能监测工具dstat,实在是太强大了,可以完成vmstat,iostat,netstat等等工具才能完成的任务,而且是彩色 显示的,各种情况一目了然,更美妙的它可通过参数来指定显示哪些内容,如只显示CPU、内存等等,一切都可以定制,实在是方便,不过有些功能还是要用像 iostat这样的工具来做,不过还是强列推荐dstat确实不错。
安装命令apt-get install dstat
参数真多啊,说一下常用的吧
Dstat options:
-c, --cpu 显示CPU情况
-C 0,3,total include cpu0, cpu3 and total
-d, --disk 显示磁盘情况
-D total,hda include hda and total
-g, --page enable page stats
-i, --int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, --load enable load stats
-m, --mem 显示内存情况
-n, --net 显示网络情况
-N eth1,total 可以指定网络接口
-p, --proc enable process stats
-s, --swap 显示swap情况
-S swap1,total 可以指定多个swap
-t, --time enable time counter
-y, --sys enable system stats
--ipc 报告IPC消息队列和信号量的使用情况
--lock enable lock stats
--raw enable raw stats
--tcp enable tcp stats
--udp enable udp stats
--unix enable unix stats
-M stat1,stat2 enable external stats
--mods stat1,stat2
-a, --all 使用-cdngy 缺省的就是这样显示
-f, --full 使用 -C, -D, -I, -N and -S 显示
-v, --vmstat 使用-pmgdsc -D 显示
--integer show integer values
--nocolor disable colors (implies --noupdate)
--noheaders 只显示一次表头以后就不显示了,使用重定向写入文件时很有用
--noupdate disable intermediate updates
--output file 写入到CVS文件中
上个运行结果:
jonsk:~# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq|_read _writ|_recv _send|__in_ _out_|_int_ _csw_
13 49 29 8 1 1| 424k 23k| 0 0 | 0 0 | 275 200
0 1 95 3 0 1|8192B 0 | 297B 70B| 0 0 | 241 33
0 1 99 0 0 0| 0 0 | 92B 0 | 0 0 | 243 14
0 1 99 0 0 0| 0 0 | 395B 0 | 0 0 | 244 20
很简单,一看就明白了,要说明的是如果当usr和sys的数值大于80时说明cpu的负载过重,这个软件和vmstat很像,不过和vmstat相 比好像少了io部份的显示dstat只能显示磁盘的吞吐量而不是显示负载情况,dstat和几乎所有监控软件一样,只能对整个系统进行监控而不能对某一个 进程或某一个程序进行深入分析。如果你知道如何设置,请通知我。
我常使用的参数是
dstat -cdlmnpsy
在1024×768的屏幕上正好全部显示出来,最好是将上面的命令设置成别名
alias dstat='dstat -cdlmnpsy'