作为系统管理员,我最担心那些重要的在线系统在我不知情的情况下停机或者停止网络服务,而且那些发生故障的服务或主机有时候可能要好长一段时间才知道。尤其是遇到节假日,系统管理员就很紧张。要改变这种被动局面,这里我推荐网络监控软件Nagios,个人认为它最大的好处是可以发故障报警短信―只要Nagios监控的对象发生故障,系统就会自动发送短信到手机上。下面摘录Nagios官方网站的描述:
Nagios is an open source host, service and network monitoring program. |
bin | Nagios执行程序所在目录,这个目录只有一个文件nagios |
etc | Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件 |
sbin | Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录 |
Share | Nagios网页文件所在的目录 |
Var | Nagios日志文件、spid 等文件所在的目录 |
三、安装web服务器apache
Web服务不是nagios所必须的,但是如果nagios没有web,查看监控对象的对象将是非常费事和没有趣味的事情(只有通过查看nagios的日志来判断状态)。我不愿干特无聊的事,所以就花少许时间把web安装一下。
在unix/linux世界,apache是web服务器的首选对象,其下载网站为www.apache.org 。建议下载源码。因为我们不需要很复杂的web功能,因此简单的执行一下几个步骤就可以正确的把apache安装到系统:
1、解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure prefix=/usr/local/apache 。
2、编译安装: make ; make install 。
安装完成后,执行命令 ./usr/local/apache/bin/apachectl t 检查一下apache是否正确安装。
配置前的处理
最主要的工作是创建nagios用户及其束组,让nagios的运行用户为nagios而不是root。再把目录/usr/local/nagios的属主设置为nagios,以保证系统的安全。Nagios可以以root用户运行,但并不推荐这样做。用下面的步骤来完成上述过程:
1、添加系统帐户nagios: useradd nagios 就很容易的把用户和组nagios添加到系统。有的类型的linux发行版添加用户和组要麻烦一些-需要要添加组,然后再执行 useradd g nagios nagios这样的操作。在实际的运用场景,nagios用户并没有必要作为系统用户来登录linux系统,因此可以不必设置nagios的用户密码,甚至可以把nagios用户的登录shell设置成/bin/false。
2、更改目录属组:chown R nagios.nagios /usr/local/nagios 。请注意,有的unix/linux的版本用户和属组分隔符号不是“.”,可能会是这样的形式 chown R nagios:nagios /usr/local/nagios 。
3、sendmail。看看sendmail是否正常运行?我们需要使用sendmail来发送故障报警信息,所以这个包必须能够正常工作。Sendmail分为服务器和客户端两部分,有2种发送报警邮件的方式:
(1)nagios所在的机器通过sendmail客户端程序把邮件发送到专门的邮件服务器,再由邮件服务器把消息发送到用户邮箱。
(2)邮件客户端和服务器端就用nagios所在系统sendmail。第一种方式用起来非常规范,但更麻烦,例如需要做地址解析、修改邮件服务器的配置;另外还有一个问题-它还依赖别的系统,增加了故障点和复杂度。第二种方法十分简单,只需启动sendmail服务即可,而且它不再依赖于别的系统和服务。在我工作的实际场景,这两种方法都使用,用专门的邮件服务器会有发送延迟的情况(因为邮件服务器要处理很多其他用户邮件的收发);而直接用sendmail做服务器和客户端就异常简单和方便了。非常幸运的是,几乎所有的linux/unix发行版都默认安装sendmail,费了这么多笔墨,其实就做一个动作-把sendmail服务运行起来。
4、手机短信发送工具。我现在的公司是sp,有自己的短信通道,直接把发送短信的客户端程序sms_send拷贝到目录/usr/local/bin/下。如果没有短信下发的网关通道,那怎么办呢?网络上有很多短信发送的客户端程序,很有名的就是smsclient,把它下载下来,解包后安装。不要忘记购买手机modem和手机卡,modem只支持SIM卡而不支持cdma。安装完smsclient软件和硬件modem后,测试一下是否正常。如果没有modem又怎么办?办法还是有的:让你的手机号可以接受邮件,这需要你去营业厅开通这项功能。短信报警功能是最有用的功能,我们不可能成天盯着监视屏幕,也不可能成天接受电子邮件,但我们的手机却可以24小时在线,只要被监控对象发生故障,马上就可以收到故障报警短信。以前,我很怕放长假,因为最担心关键的设备或服务在假期出故障而自己不知道,所以放假就变成了值班;想必很多网络管理员都有类似的经历。在我动手部署nagios以前,曾经在网上搜索关于nagios配置的文章,发现绝大部分都没有介绍使用手机短信这个方便的功能,真是遗憾呀!再次,强烈建议启用nagios的短信故障报警功能。
新闻热点
疑难解答