Nagios3 完整配置文档 (第一版) 目录: 第一章:关于nagios 第二章:nagios 3.x 新特性 2.1 更新日志 2.2 变更与新特性 第三章:简单快速安装nagios 3.1 准备软件包 3.2 操作过程 第四章:配置nagios 及配置文件关系说明 4.1 主配置文件选项 4.2 对象配置文件选项 第五章:运行nagios 5.1 验证配置文件正确性 5.2 启动与停止 nagios 第六章:nagios 优化 之 监控主机 6.1 内存/swap 6.2 磁盘IO 6.3 主机存活状态 6.4 网卡流量 第七章:nagios 优化 之 服务 类监控 7.1 apache/lighttpd/nginx/tomcat/resin 健康状态 7.2 squid 健康状态 7.3 rsync/NFS 第八章:nagios 优化 之 DB 类监控 8.1 mysql 主机监控 8.2 mysql/slave健康状态 8.3 oracle 监控 第九章:nagios 使用FetionRobot短信/msn在线报警 第十章:nagios PNP 配置绘图 第十一章:nagios与cacti整合 第十一章:模块化安装 第十二章:建议和意见 第一章:关于nagios (来自互联网) Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。Nagios昀初被设计为在linux系统之上运行,然而它同样可以在类Unix的系统之上运行。Nagios更进一步的特征包括:1.监控网络服务(SMTP、POP3、HTTP、NNTP、PING等); 2.监控主机资源(处理器负荷、磁盘利用率等); 3.简单地插件设计使得用户可以方便地扩展自己服务的检测方法; 4.并行服务检查机制; 5.具备定义网络分层结构的能力,用parent主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态; 6.当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式); 7.具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位; 8.自动的日志回滚; 9.可以支持并实现对主机的冗余监控; 10.可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等; Nagios所需要的运行条件是机器必须可以运行Linux(或是Unix变种)并且有C语言编译器。你必须正确地配置TCP/IP协议栈以使大多数的服务检测可以通过网络得以进行。你需要但并非必须正确地配置Nagios里的CGIs程序,而一旦你要使用CGI程序时,你必须要安装以下这些软件...1.一个WEB服务(昀好是Apache)2.ThomasBoutell制作的gd库版本应是1.6.3或更高(在CGIs程序模块statusmap和trends这两个模块里需要这个库)Nagios版权遵从于由自由软件基金会所发布的GNU版权协议第二版。有关GNU协议请查阅自由软件基金会网站。该版权协议允许你在某些条件下可以复制、分发并且或者是修改它。可以在Nagios软件发行包里阅读版权文件LICENSE或是在网站上阅读在线版权文件以获取更多信息。NagiosisprovidedASISwithNOWARRANTYOFANYKIND,INCLUDINGTHEWARRANTYOFDESIGN,MERCHANTABILITY,ANDFITNESSFORAPARTICULARPURPOSE.Nagios官网 第二章:nagios 3.x 新特性 2.1Important:MakesureyoureadthroughthedocumentationandtheFAQsat的更新日志可以在这里的在线文件或是在源程序的发行包的根目录里找到。2.2文档:1.更新了文档 - 很抱歉我对文档的更新工作进展迟缓。这会花些时间来做,因为有很多文档而且写这些文档并不是我喜欢的事情(我更不喜欢整天翻译,这也不是我喜欢的事情)。期待一些文档与其他的有所不同,而这些不同会对于那些新人或有经验的Nagios使用者起些作用。 •内嵌宏: 1.新 加宏 - 加入了一些新宏,包 括:$TEMPPATH$、$LONGHOSTOUTPUT$、$LONGSERVICEOUTPUT$、$HOSTNOTIFICATIONID$、$SERVICENOTIFICATIONID$、$HOSTEVENTID$、$SERVICEEVENTID$、$SERVICEISVOLATILE$、$LASTHOSTEVENTID$、$LASTSERVICEEVENTID$、$HOSTDISPLAYNAME$、$SERVICEDISPLAYNAME$、$MAXHOSTATTEMPTS$、$MAXSERVICEATTEMPTS$、$TOTALHOSTSERVICES$、$TOTALHOSTSERVICESOK$、$TOTALHOSTSERVICESWARNING$、$TOTALHOSTSERVICESUNKNOWN$、$TOTALHOSTSERVICESCRITICAL$、$CONTACTGROUPNAME$、$CONTACTGROUPNAMES$、$CONTACTGROUPALIAS$、$CONTACTGROUPMEMBERS$、$NOTIFICATIONRECIPIENTS$、$NOTIFICATIONISESCALATED$、$NOTIFICATIONAUTHOR$、$NOTIFICATIONAUTHORNAME$、$NOTIFICATIONAUTHORALIAS$、$NOTIFICATIONCOMMENT$、$EVENTSTARTTIME$、$HOSTPROBLEMID$、$LASTHOSTPROBLEMID$、$SERVICEPROBLEMID$、$LASTSERVICEPROBLEMID$、$LASTHOSSTATE$、$LASTHOSTSTATEID$、$LASTSERVICESTATE$、$LASTSERVICESTATEID$。 加入了两个特殊的守护时间宏:$ISVALIDTIME:$和$NEXTVALIDTIME:$。 2.移除的宏 - 原有的宏$NOTIFICATIONNUMBER$被分离为两个新宏$HOSTNOTIFICATIONNUMBER$和$SERVICENOTIFICATIONNUMBER$。 3.变更的宏 - 现有的$HOSTNOTES$和$SERVICENOTES$宏包括自身外,还包括$HOSTNOTESURL$、$HOSTACTIONURL$、$SERVICENOTESURL$和$SERVICEACTIONURL$等几个宏。 4.在检测、事件句柄处理、告警和其他外部命令执行时,宏可以获取环境变量。这可会使Nagios在大型部署方案时占用较高的CPU处理能力,你可以设置enable_environment_macros 选项来不使能它。 5.有关宏的更新信息可以在这里查到。 其它见: ‐cn.sourceforge.net/nagios‐cn/whatsnew.html 第三章:简单快速安装nagios 3.1 准备软件包 在做安装之前确认要对该机器拥有root权限。 确认你安装好的linux系统上已经安装如下软件包再继续。 Apache GCC编译器 GD库与开发库 可以用yum命令来安装这些软件包,键入命令: yum –y install httpd gcc glibc glibc‐common gd gd‐devel 3.2操作过程 3.2.1建立nagios账号 /usr/sbin/useradd nagios && passwd nagios 创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。 /usr/sbin/groupadd nagcmd /usr/sbin/usermod ‐G nagcmd nagios/usr/sbin/usermod ‐G nagcmd apache 3.2.2下载nagios和插件程序包 下载Nagios和Nagios插件的软件包(访问站点以获得昀新版本) cd /usr/local/src wget ‐3.0.6.tar.gz wget ‐plugins‐1.4.13.tar.gz 3.2.3编译与安装nagios cd /usr/local/src tar zxvf nagios‐3.0.6.tar.gz cd nagios‐3.0.6 ./configure ‐‐with‐command‐group=nagcmd ‐ ‐prefix=/usr/local/nagios make all make install make install‐init make install‐config make install‐commandmode 验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var这五个目录,如果存在则可以表明程序被正确的安装到系统了。后表是五个目录功能的简要说明:binNagios执行程序所在目录,nagios文件即为主程序etcNagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件3与2区别对象配置文件都在etc/objects目录下sbinNagiosCgi文件所在目录,也就是执行外部命令所需文件所在的目录ShareNagios网页文件所在的目录VarNagios日志文件、spid等文件所在的目录var/archivesEmptydirectoryforthearchivedlogsvar/rwEmptydirectoryfortheexternalcommandfile3.2.4编译并安装nagios插件 nagios‐plugins cd /usr/local/src tar zxvf nagios‐plugins‐1.4.13.tar.gz cd nagios‐plugins‐1.4.13 ./configure ‐‐with‐nagios‐user=nagios ‐‐with‐nagios‐group=nagios ‐‐perfix=/usr/local/nagios make && make install 验证: ls /usr/local/nagios/libexec 会显示安装的插件文件,即所有的插件都安装在libexec这个目录下3.2.5配置WEB接口 方法一:直接在安装nagios时 make install‐webconf 创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。 htpasswd ‐c /usr/local/nagios/etc/htpasswd.users nagiosadmin 重启Apache服务以使设置生效。 service httpd restart 方法二:在httpd.conf昀后添加如下内容: #settingfornagios20090325