分享一个linux的流量监测工具!!!
本文介绍在centos 5.x环境下通过yum源的扩展使用munin、 monit、ntop工具来监管你的应用程序和服务器。题为懒人说说的是简便的安装方式而已,将强大的功能配置简单的应用起来是很重要的,可以节省时间并提高效率。
Monit:http:#www.tildeslash.com/monit/
Munin:http:#munin.projects.linpro.no/
Ntop:http:#www.ntop.org/
当你的Linux主机投入生产环境以后,想要知道系统或者服务每天或者每周的运行情况,Munin是最佳选择。在某些情况下,监控Linux主机服务、应用程序的运行状态,是非常有必要的,尤其是应用程序或服务会出现错误,并可能开始吞噬你主机的内存和cpu,这将导致主机上的应用不能正常的运行。因此,需要其他一些程序来监控你的程序,在程序出错以后重启你的程序。在linux下解决方案,如Nagios、ganglia、HyperHQ、ZABBIX等,nagios的插件很多功能也是很强大的,需要详尽的配置实现;HyperHQ会开启JAVA的应用并对JAVA的应用服务器会自动设备,想起来JAVA对内存的的强烈需求还是会有过估计。这这了推荐使用Monit、Munin以及ntop一个简单的网络流量的监控工具。相对前面列举的强大功能需要复杂配置,本文将描述的Monit、Munin、Ntop只是需要使用yum进行安装就可以方便的使用监控主机上的资源并发出警告邮件。
Munin是一个类似cacti的性能展示工具,走的是更可靠的TCP协议。不会出现cacti基于snmp这样的监控方式会出现各种各样的问题。Munin是用Perl编写的,有很多插件功能,支持Unix操作系统的多种版本,用到很多不同的perl包;Munin和MRTG类似,也可以通过各种插件将服务器的各方面状态以图像的形式表现出来。munin画图也是使用rrdtool,因此Net::Serverperl模块和rrdtool都已经安装在了服务器上这些必须安装munin前安装完毕。
Munin的主要优点就是它能够同时提供收集信息和分析信息的功能,这样你就无需在每个节点上安装一个web服务器,并且详细信息页面底部的附加信息能够帮助你获取一些重要数据的统计信息。
Debian/Ubuntu和Fedora都附有munin安装包,不过RHEL和Centos默认没有包括munin的安装包。
Munin功能主要为收集和分析功能,这可以帮助你收集多个服务器信息并在一个中央服务器上分析所有收集到的信息,通过apt源或者yum源使其安装和更新都相当简单。
当你访问http://localhost/munin时,Munin会显示一张概览图向你展示所有连接到的节点,包括到节点的具体功能,如磁盘、网络、NFS和进程。点击节点名称会显示两行的图表,每一行都会在左边显示每日统计信息,右边显示每周统计信息,点击这些图表能够提供显示某日、某月的详细信息页面。在这项细节信息页面的底部,显示的是关于数据的更加详细的信息,包括不规则活动通知等。
Monit是一款运行于应用层功能非常丰富的用于对系统中的进程、文件、目录、以及设备等进行监视和管理的工具。Monit包含一个内嵌的HTTPSWeb界面,可以使用浏览器方便地查看Monit所监视的服务器。Monit对管理员来说可谓神器也。Monit可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。Nagios也就是在监控,而Monit不但本地监控,远程服务监控。可以做到服务就永远都能“死而复生”,是服务一直在线。Monit可以监控的主机信息如下:
*SystemServices
oCron(programtimer)
oGdm(gnomedesktopmanager)
oInetd(internetservicemanager)
oSyslogd(systemlogfiledaemon)
oXfs(Xfontserver)
oYPBind(Yellowpagebinddaemon)
oNet-SNMP(SNMPagent)
oNTP(timeserver)
oNscd(nameservicecachingdaemon)
*NameServices
oBind(chrooted)
*FTPServices
ovsftpd
*LoginServices
oSSHD
*WWWServices
oApache(webserver)
oZope(appicationserver)
oSquid(http/ftpproxy)
oPrivoxy(spamfilterproxy)
*MailServices
oPostfix(mailserver)
osendmail(mailserver)
oQpopper(pop3server)
oSpamassassindaemon(spamscandaemon)
oAmavis-new(mailvirusscanner)
oPolicyd(Postfixaccesspolicydelegationdaemon)
*VirusScanner
oSophie(virusscandaemon)
oTrophie(virusscandaemon)
oClamavd(virusscandaemon)
*PrintingServices
oLPRng(printerdaemon)
*DatabaseServices
oMySQLServer
oOpenLDAPServer
*FileServices
oSamba(windowsfile/domainserver)
*SunONEServices
oiPlanetDirectoryServer(SunONE)
oiPlanetMessagingServerprocesses(SunONE)
oiPlanetCalendarServerprocesses(SunONE)
*MiscServices
oapcupsd(APCupsdaemon)
oWebmin(remoteadminservice)
oSTunnel(SSLtunnel)
*MiscUsage
oWatchandanalyzecrashdumps(Solaris)
oWatchandanalyzecrashdumps(Linux)
oStartandstoptcpdumpbasedoncondition
oRotatetcpdumpuntilconditionoccures
oMySQLeventdrivenprocesslist
Ntop跟top监视系统活动状况相似,ntop是一个用来实时监控网络使用情况的工具。由于ntop具有Web界面模式,因此无论是配置还是使用都很容易在短时间之内快速上手。Ntop让网络流量透明化,NTOP显示网络的使用情况比MRTG更加直观、详细,NTOP甚至可以列出每个节点计算机的网络带宽利用率。NTOP是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具。它同时提供命令行输入和WEB界面,可应用于嵌入式WEB服务。可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有黑客正在攻击网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。通过了解这些信息,网管员可以对故障做出及时的响应,对网络进行相应的优化调整,以保证网络运行的效率和安全。
上面介绍的munin,monit,ntop工具传统的基于源码的安装方式相对要解决的软件包的依赖关系比较的多,这个也是很多Linux的管理员选择监控工具相对比较单一的安装因素。很多人都是习惯于使用redhat的发行版本,尽管yum是在软件包安装方面比较的强大不过默认的redhat的官方的yum源和Centos的社区源是没有munin,monit,ntop这三个软件包源提供的,而在Ubuntu/Debian的apt的源中默认都是有支持的。本文将告诉大家如何使用第三方的RPMforgeRepositoryyum源来快速安装munin,monit,ntop工具并简单的配置,实现Linux主机网络的监控的应用。
RPMforgeRepository源分为i386和X86_64位版本
在i386版本在中的安装方式
wgethttp:#packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm-Uvhrpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm-frpmforge-release-0.3.6-1.el5.rf.i386.rpm
在x86_64版本中的安装方式
wgethttp:#packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm-Uvhrpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rm-frpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
(https:#rpmrepo.org/RPMforge/Using最新版本信息).
安装后在/etc/yum.repos.d文件夹中生成mirrors-rpmforgerpmforge.repo配置信息。
有了这个RPMforgeRepository的源就可以轻松的开始munin,monit,ntop的监控之旅。
安装和配置munin
执行yum完成安装
yuminstallmuninmunin-nodehttpd
如果没有安装apahce需要添加上httpd参数
设置munin启动脚步并启动munin
chkconfig--levels235munin-nodeon
/etc/init.d/munin-nodestart
简单设置munin的配置文件/etc/munin/munin.conf
vi/etc/munin/munin.conf
dbdir/var/lib/munin
htmldir/var/www/html/monitoring#此行设置web页面及图形数据的存放位置
logdir/var/log/munin
rundir/var/run/munin
#WheretolookfortheHTMLtemplates
tmpldir/etc/munin/templates
#asimplehosttree
[localhost]#此部分定义一个监控主机的信息
address127.0.0.1
use_node_nameyes
新建/var/www/html/monitoring文件夹并设置权限
mkdir-p/var/www/html/monitoring
chownmunin:munin/var/www/html/monitoring
/etc/init.d/munin-noderestart
观察/var/www/html/monitoring的文件夹的信息如下