Nagios安装配置流程一、安装前的准备(一)创建Nagios用户和用户组将Nagios进程的运行用户和组设置为nagios,并且将nagios的主程序目录设置为nagios,以保证系统的安全。useradd-s/sbin/nologinnagiosmkdir/usr/local/nagioschown-Rnagios.nagios/usr/local/nagios(二)开启系统的sendmail服务在Nagios监控服务器上开启sendmail服务的主要作用是让Nagios在检测到故障时可以发送报警邮件。/sbin/servicesendmailstart或者servicesendmailstart如果不希望试用服务器自带的sendmail,也可以在mail的配置文件中添加相应的参数,使用第三方的邮箱来进行邮件的发送。二、编译安装Nagios(一)下载并编译安装首先在nagios的官方网站上找到最新的nagios以及接下来要用到的插件nagios-plugins的下载地址,然后试用wget命令下载到本地;tar-zxvfnagios.x.x.x.tar.gzcdnagios.x.x.x./configure--prefix=/usr/local/nagiosmakeall--makeinstall--makeinstall-init--makeinstall-commandmode--makeinstall-config(二)设置开机自启动chkconfig--addnagioschkconfig--level35nagiosonchkconfig--listnagios至此,编译安装就结束了,在/usr/local/nagios/下可以看到下方的这些目录Nagios安装目录的名称及用途目录名称用途binNagios可执行程序所在目录etcNagios配置文件所在目录sbinNagiosCGI文件所在目录ShareNagios网页文件所在的目录libexecNagios外部插件所在目录varNagios日志文件、lock等文件所在的目录var/archivesNagios日志自动归档目录var/rw用来存放外部命令文件的目录(三)安装Nagios插件Nagios提供的各种监控功能基本是通过插件来完成的,而Nagios核心只提供了很少的监控功能。首先还是解压之前已经下载好了的nagios-plugins包tar-zxvfnagios-plugins-x.x.x.tar.gzcdnagios-plugins-x.x.x./configure--prefix=/usr/local/nagios/make&&makeinstall三、配置(一)配置ApacheApache的安装就不再说明,参考之前的LAMP安装文档vi/usr/local/apache/conf/httpd.conf#修改进程用户为nagiosUserdaemon改为:UsernagiosGroupdaemonGroupnagios然后找到DirectoryIndexindex.html,在后面加上index.php修改为:DirectoryIndexindex.htmlindex.phpAddTypeapplication/x-httpd-php5.php在文件的最后增加验证配置这样在登录nagios的时候就需要输入用户名和密码:#settingfornagiosScriptAlias/nagios/cgi-bin/usr/local/nagios/sbinDirectory/usr/local/nagios/sbinAuthTypeBasicOptionsExecCGIAllowOverrideNoneOrderallow,denyAllowfromallAuthNameNagiosAccessAuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user/DirectoryAlias/nagios/usr/local/nagios/shareDirectory/usr/local/nagios/shareAuthTypeBasicOptionsNoneAllowOverrideNoneOrderallow,denyAllowfromallAuthNamenagiosAccessAuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user/Directory保存并退出httpd.conf接下来创建Apache目录验证文件/usr/local/apache/bin/htpasswd-c/usr/local/nagios/etc/htpasswd.自定义用户名输入2此密码重启Apache服务servicehttpdrestart此时就可以访问nagiosweb监控页面了:地址/nagios(二)配置NagiosNagios的配置文件的地址/usr/local/nagios/etc/templates.cfg文件(模板配置文件,主要便于多次引用)cd/usr/local/nagios/etc/objectsvitemplates.cfg这里我们不对模版文件做什么修改,具体在使用的过程中有需要某些参数时再来进行修改。resource.cfg文件resource.cfg是Nagios的变量定义文件,文件内容只有一行:/usr/local/nagios/etcviresource.cfg,里面只有一行语句:$USER1$=/usr/local/nagios/libexec变量$USER1指定了安装Nagios插件的路径,如果把插件安装在其它路径,只需在这里进行修改即可,通常情况下,此文件不需要修改。commands.cfg文件此文件在默认情况下是存在的,无需修改即可使用。如果有新命令需要加入,在此文件中进行添加即可。cd/usr/local/nagios/etc/objectsvimcommands.cfghosts.cfg文件此文件默认情况下不存在,需要手动创建。hosts.cfg主要用来指定被监控的主机地址及相关属性信息。/usr/local/nagios/etc/objectstouchhosts.cfgvihosts.cfg,内容如下:definehost{uselinux-serverhost_nameweb#主机名aliasixdba-web#主机别名address192.168.18.70#被监控主机,可是域名也可是ip}definehost{uselinux-serverhost_namemysqlaliasixdba-mysqladdress192.168.1.60}definehostgroup{#定义一个主机组hostgroup_namesa-servers#主机组名称,可以随意指定aliassaservers#主机组别名membersweb,mysql}services.cfg文件此文件在默认情况下也不存在,需要手动创建。services.cfg文件主要用于定义监控的服务和主机资源,例如监控HTTP服务、主机磁盘空间、主机系统负载等。viservices.cfg,内容如下:defineservice{uselocal-servicehost_namewebservice_descriptionPINGcheck_commandcheck_ping!100.0,20%!500.0,60%}/usr/local/nagios/etc/objects(可参照文件)#################################################defineservice{uselocal-servicehost_namewebservice_descriptionPINGcheck_commandcheck_ping!100.0,20%!500.0,60%}defineservice{uselocal-servicehost_namewebservice_descriptionSSHcheck_commandcheck_ssh}defineservice{uselocal-servicehost_namewebservice_descriptionftpcheck_commandcheck_tcp!21}defineservice{uselocal-servicehost_namewebservice_descriptionhttpcheck_commandcheck_http}结合commands.cfg和resource.cfg文件,不难看出,这些命令对应的真实路径是/usr/local/nagios/libexec,即这些命令其实就是安装Nagios插件后生成的可执行文件。在Nagios中,插件命令和参数的组合格式为:命令!参数!参数。如果有更多参数,依次通过叹号分割即可。例:check_ping!100.0,20%!500.0,60%:此命令组合从左到右依次为:命令!告警时延,丢包率!严重警时延,丢包率。check_http!0.0020!0.0050!10:此命令组合从左到右依次为:命令!告警时延!严重告警时延!连接超时时间。check_tcp!23!0.0020!0.0050!10:此命令组合从左到右依次为:命令!端口!告警时延!严重告警时延!连接超时时间。check_ssh!22!10:此命令从左到右依次为:命令!端口!连接超时时间。check_smtp!0.0020!0.0050!10:此命令组合从左到右依次为:命令!告警时延!严重告警时延!连接超时时间另外,在监控服务器端口时,很多命令都可以使用check_tcp来代替,例如:check_ssh=check_tcp!22check_imap=check_tcp!143check_ftp=check_tcp!21check_nntp=check_tcp!119check_pop=check_udp!110check_telnet=check_tcp!23contacts.cfg文件contacts.cfg是一个定义联系人和联系人组的配置文件,当监控的主机或者服务出现故障时,Nagios会通过制定的通知方式(邮件或短信)将信息发给这里指定地点联系人或使用者。/usr/local/nagios/etc/objectsvicontacts.cfgdefinecontact{contact_namesasystemusegeneric-contactaliassa-systememailyhq72315@163.com}definecontactgroup{contactgroup_nameadminsaliassystemadministratorgroupmemberssasystem}timeperiods.cfg文件此文件只用于监控的时间段。/usr/local/nagios/etc/objectsvitimeperiods.cfg一般不需要做什么更改,需要调整监控时间或者联系时间时可以做相应修改。cgi.cfg文件此文件用来控制相关CGI脚本,如果想在Nagios的Web监控界面执行CGI脚本。例如重启Nagios进程、关闭Nagios通知、停止Nagios主机检测等,这时就需要配置cgi.cfg文件了。由于Nagios的Web监控界面验证用户为weijie,因此只需在cgi.cfg文件中添加此用户的执行权限就可以了。需要修改的配置信息如下:cd/usr/local/nagios/etc/vimcgi.cfg,修改如下:default_user_name=weijieauthorized_for_system_information=weijieauthorized_for_configuration_