【摘 要】nagios是一款开源的电脑系统和网络监视工具,能有效监控windows、linux和unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
【关键词】nagios;流量监控;邮件监控
一、nagios简介
nagios网络服务监控:
smtp、pop3、http、nntp、icmp、snmp、ftp、ssh
二、nagios工作原理
nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动nagios后,它会周期性的自动调用插件去检测服务器状态,同时nagios会维持一个队列,所有插件返回来的状态信息都进入队列,nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。
nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查cpu负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。
nagios可以识别4种状态返回信息,即 0(ok)表示状态正常/绿色、1(warning)表示出现警告/黄色、2(critical)表示出现非常严重的错误/红色、3(unknown)表示未知错误/深黄色。nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来,以供管理员及时发现故障。
四种监控状态
nagios 系统提供了一个插件nrpe。nagios 通过周期性的运行它来获得远端服务器的各种状态信息。它们之间的关系如下图所示:
nagios 通过nrpe 来远端管理服务
1. nagios 执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。
2. 通过ssl,check_nrpe 连接远端机子上的nrpe daemon
3. nrpe 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4. 最后,nrpe 把检测的结果传给主机端的check_nrpe,check_nrpe 再把结果送到nagios状态队列中。
5. nagios 依次读取队列中的信息,再把结果显示出来。5.2 创建nagios用户和用户组:
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -r nagios.nagios /usr/local/nagios
三、 编译安装nagios
下载地址:
http://download.chinaunix.net/download.php?id=35022&resourceid=7183
解压nagios
四、安装nagios 插件
下载地址:http://211.136.8.18/files/914100000033a10b/fossies.org/linux/misc/nagios-plugins-1.4.16.tar.gz
说明:在配置过程指定的安装路径是/usr/local/nagios,而不是/usr/local/nagios-plus,安装完成后,将在目录/usr/local/nagios生成目录libexec(里面有很多文件),这正是nagios所需要的
五、安装与配置apache和php
apache 和php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。
增添内容作用是,对nagios的目录进行用户验证,只有合法的授权用户才可以访问nagios的页面文件
执行并生成用户验证文件:
生成web的合法访问用户nagios;命令交互执行,需要输入2次密码,然后就在文件/usr/local/nagios/etc/htpasswd写入一行-第一个字段是刚生成的用户名,第二个是加密后的密码
注意:如果还要添加更多的用户,执行命令 htpasswd 就不需要选项 “-c”,否则就会覆盖所有已经生成的行
六 、启动apahce和nagios
启动apache服务
七、登录nagios web监控页面
http://localhost/nagios查看相关信息
点击左侧current status -> hosts可以看到所定义的三台主机已经全部up了。
八、总结
nagios的功能是监控服务和主机,它利用插件检测服务器状态,并将插件返回来的状态信息进入队列,然后从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。这就是nagios的工作原理。
作
为系统管理员,我最担心那些重要的在线系统在我不知情的情况下停机或者停止网络服务,而且那些发生故障的服务或主机有时候可能要好长一段时间才知道。尤其是遇到节假日,系统管理员就很紧张。要改变这种被动局面,这里我选择了网络监控软件nagios,我也极力向大家推荐,我个人认为它最大的好处是可以发故障报警短信,在此之前只需要在nagios中配置好需要监控的配置项,只要nagios监控的对象发生故障,系统就会自动发送短信或者邮件到手机上。
参考文献:
[1]http://assets.nagios.com/downloads/nagioscore/docs/installing_nagios_core_from_source.pdf,“nagios-installing nagios core from source”, copyright ? 2010-2011 nagios enterprises, llc revision 1.0 – october, 2012
[2]http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html “linux下nagios的安装与配置”posted @ 2013.2.20 david_tang
[3]http://blog.chinaunix.net/uid-22101889-id-3189000.html,“监控利器nagios原理教程” 2012.4.25