本文介绍在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::Server perl 模块和 rrdtool 都已经安装在了服务器上这些必须安装 munin 前安装完毕。
Munin 的主要优点就是它能够同时提供收集信息和分析信息的功能,这样你就无需在每个节点上安装一个 web 服务器,并且详细信息页面底部的附加信息能够帮助你获取一些重要数据的统计信息。
Debian/Ubuntu 和 Fedora 都附有 munin 安装包,不过 RHEL 和 Centos 默认没有包括 munin 的安装包。
Munin 功能主要为收集和分析功能,这可以帮助你收集多个服务器信息并在一个中央服务器上分析所有收集到的信息,通过 apt 源或者 yum 源使其安装和更新都相当简单。
当你访问 http://localhost/munin 时, Munin 会显示一张概览图向你展示所有连接到的节点,包括到节点的具体功能,如磁盘、网络、 NFS 和进程。点击节点名称会显示两行的图表,每一行都会在左边显示每日统计信息,右边显示每周统计信息,点击这些图表能够提供显示某日、某月的详细信息页面。在这项细节信息页面的底部,显示的是关于数据的更加详细的信息,包括不规则活动通知等。
Monit 是一款运行于应用层功能非常丰富的用于对系统中的进程、文件、目录、以及设备等进行监视和管理的工具。 Monit 包含一个内嵌的 HTTPS Web 界面,可以使用浏览器方便地查看 Monit 所监视的服务器。 Monit 对管理员来说可谓神器也。 Monit 可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。 Nagios 也就是在监控,而 Monit 不但本地监控,远程服务监控。可以做到服务就永远都能“死而复生”,是服务一直在线。 Monit 可以监控的主机信息如下:
* System Services o Cron (program timer) o Gdm (gnome desktop manager) o Inetd (internet service manager) o Syslogd (system logfile daemon) o Xfs (X font server) o YPBind (Yellow page bind daemon) o Net-SNMP (SNMP agent) o NTP (time server) o Nscd (name service caching daemon) * Name Services o Bind (chrooted) * FTP Services o vsftpd * Login Services o SSHD * WWW Services o Apache (web server) o Zope (appication server) o Squid (http/ftp proxy) o Privoxy (spamfilter proxy) * Mail Services o Postfix (mail server) o sendmail (mail server) o Qpopper (pop3 server) o Spamassassin daemon (spam scan daemon) o Amavis-new (mail virus scanner) o Policyd (Postfix access policy delegation daemon) * Virus Scanner o Sophie (virus scan daemon) o Trophie (virus scan daemon) o Clamavd (virus scan daemon) * Printing Services o LPRng (printer daemon) * Database Services o MySQL Server o OpenLDAP Server * File Services o Samba (windows file/domain server) * Sun ONE Services o iPlanetDirectoryServer (Sun ONE) o iPlanetMessagingServer processes (Sun ONE) o iPlanetCalendarServer processes (Sun ONE) * Misc Services o apcupsd (APC ups daemon) o Webmin (remote admin service) o STunnel (SSL tunnel) * Misc Usage o Watch and analyze crashdumps (Solaris) o Watch and analyze crashdumps (Linux) o Start and stop tcpdump based on condition o Rotate tcpdump until condition occures o MySQL event driven process list |
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 的源中默认都是有支持的。本文将告诉大家如何使用第三方的 RPMforge Repository yum 源来快速安装 munin, monit,ntop 工具并简单的配置,实现 Linux 主机网络的监控的应用。
RPMforge Repository 源分为 i386 和 X86_64 位版本
在 i386 版本在中的安装方式
wget http:#packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm |
wget http:#packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm rm -f rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm |
安装后在 /etc/yum.repos.d 文件夹中生成 mirrors-rpmforge rpmforge.repo 配置信息。
有了这个 RPMforge Repository 的源就可以轻松的开始 munin, monit,ntop 的监控之旅。
安装和配置 munin
执行 yum 完成安装
yum install munin munin-node httpd |
设置 munin 启动脚步并启动 munin
chkconfig --levels 235 munin-node on /etc/init.d/munin-node start |
vi /etc/munin/munin.conf dbdir /var/lib/munin htmldir /var/www/html/monitoring #此行设置web页面及图形数据的存放位置 logdir /var/log/munin rundir /var/run/munin # Where to look for the HTML templates tmpldir /etc/munin/templates # a simple host tree [localhost] #此部分定义一个监控主机的信息 address 127.0.0.1 use_node_name yes |
新建 /var/www/html/monitoring 文件夹并设置权限
mkdir -p /var/www/html/monitoring chown munin:munin /var/www/html/monitoring /etc/init.d/munin-node restart |