作为系统管理员,我最担心那些重要的在线系统在我不知情的情况下停机或者停止网络服务,要改变这种被动局面,这里作者推荐一款网络监控软件Nagios,文中讲述作者使用Nagios的过程以及心得,希望对初学者有所帮助。
AD:
作为系统管理员,我最担心那些重要的在线系统在我不知情的情况下停机或者停止网络服务,而且那些发生故障的服务或主机有时候可能要好长一段时间才知道。尤其是遇到节假日,系统管理员就很紧张。要改变这种被动局面,这里我推荐网络监控软件Nagios,个人认为它最大的好处是可以发故障报警短信—只要Nagios监控的对象发生故障,系统就会自动发送短信到手机上。下面摘录Nagios官方网站的描述:
Nagios is an open source host, service and network monitoring program.
Who uses it? Lots of people, including many big companies and organizations
Nagios是一个用来监控主机、服务和网络的开放源码软件,很多大的公司或组织都在使用它。
在我来到现在这个机构之前,已经有一个Netsaint(nagios的老版本)在监控那些在线服务器,但是不完善,后来我立了一个项,部署了新的监控平台nagios把所有的在线服务器都监控起来了;到目前为止,监控了413个主机和754个服务。
虽然Nagios十分受用,但配置起来确是麻烦,根据其读音我给它取可一个中文名-难够死。基于这样的原因,我将尽可能详细地向大家讲述我用Nagios的过程以及心得,希望对初学者有所帮助。
安装所需软件
一、安装Nagios
Nagios可以运行在各种版本的linux及主流的unix环境,我试过的环境有Redhat linux,Centos,Debian等。在实际的运维中,我是以centos 4来部署nagios的。安装完操作系统之后,需要把多余的服务都关掉,只留sshd这个服务。
然后用wget源码包nagios-2.6.tar.gz和httpd-2.2.0.tar.gz。接下来先分别安装软件,过程如下:
1、解压nagios. tar zxvf nagios-2.6.tar.gz
2、配置nagios. cd nagios ./configure –prefix=/usr/local/nagios
3、编译nagios. make all
4、安装nagios。与别的软件安装稍有不同,nagios的安装要好几步才能完成。面文件目录
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //验证文件路径
Require valid-user
上述文本块的作用是对nagios的目录进行用户验证,只有合法的授权用户才可以访问nagios的页面文件。面右边的相关连接来查看各种状态。关掉某个被nagios监控主机的服务或者拔掉某个服务器的网线,等几分钟,点击超连接“Service Detail”观察页面状态看是否有红色的醒目的报警出现。
一会儿,就会收到报警短信和报警邮件,然后在把测试所有的服务开启或把拔下来的网线查上去,片刻后,网页里的红色报警表格消失,手机短信或邮件通知故障恢复。如果你的情况也这样,那么真正大功告成。
Nagios的功能十分强大,在我的项目里,因为我的需求不同而尽可能的简化了nagios而没有使用代理、多更多插件等功能,在一个不超过1000个服务器的网络规模里,它工作得很好。如果有更多的服务器,建议使用mysql数据来管理监控对象。在部署nagios的过程中,我多很多选项作了取舍,更详细的情况请参照官方的文档。