实验平台:LInux-5.8,yum源已配置好,SeLinux处于关闭状态

监控端:172.16.14.15被监控端:172.16.14.14一:安装配置Nagios这个过程在监控端172.16.14.15实现:1、解决安装Nagios的依赖关系:Nagios基本组件的运行依赖于httpd、gcc和gd

#yum-yinstallhttpdgccglibcglibc-commongdgd-devel\ phpphp-mysqlmysqlmysql-develmysql-server2、添加nagios运行所需要的用户和组:

#groupaddnagcmd#useradd-Gnagcmdnagios#passwdnagios把apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:

#usermod-a-Gnagcmdapache3、编译安装nagios:

#tarzxfnagios-3.3.1.tar.gz#cdnagios#./configure--with-command-group=nagcmd--enable-event-broker##--sysconfdir=/etc/nagios自己可以指定nagios的配置文件路径##--with-command-group=nagcmd使用前面创建的组##--enable-event-broker为使用NDOutils做准备的#makeall#makeinstall##安装nagios#makeinstall-init##安装nagios的init脚本,即/etc/rc.d/init.d/nagios#makeinstall-commandmode##安装命令模式#makeinstall-config##安装生成配置文件#makeinstall-webconf##安装web接口的,识别nagios程序位置/usr/local/nagios/share##然后进入/etc/httpd/conf.d,会发现多了nagios.conf文件,为访问##nagios的web页面定义了一个别名,当访问172.16.14.15/nagios时就可##以访问/usr/local/nagios/share的文件了我们的nagios web页面不能随便让人访问吧,所以需创建一个登录nagios
web程序的用户,只有通过认证的用户才能访问:

#htpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin重新启动httpd:

#servicehttpdrestart4、编译安装nagios-pluginsnagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前
还需要为其安装官方提供的插件。

#tarzxfnagios-plugins-1.4.15.tar.gz#cdnagios-plugins-1.4.15#./configure--with-nagios-user=nagios--with-nagios-group=nagios#make#makeinstall5、配置并启动Nagios

(1)把nagios添加为系统服务并将之加入到自动启动服务队列:#chkconfig--addnagios#chkconfignagioson(2)检查其主配置文件的语法是否正确:#/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg(3)如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:#servicenagiosstart接下来就可以访问nagios了,提示输入用户名和密码:

输入前面设定的用户和密码后,进入nagios的界面:

查看hosts信息:

各服务意思:

currentLoad:CPU的负载情况,当前显示是Ok的CurrentUsers:用户数HTTP:显示HTTP服务事物信息的,当前显示WARNING是因为没有提供web页面PING:用来ping主机的RootPartition:显示根分区信息的SSH:显示SSH的状态的SwapUsage:显示交换分区使用情况的TotalProcesses:总进程数状态在右上角还有一个各项状态汇总图二:基于NRPE监控远程Linux主机NRPE(Nagios Remote Plugin Executor)是用于在远端服务器上运行检测命令的守护进程,它用于让Nagios监控端基于安装的方式触发远端主机上的检测命令,并将检测结果输出至监控端
监控端:172.16.14.15被监控端:172.16.14.14

安装开发包组:yum-ygroupinstall"DevelopmentLibraries""DevelopmentTools"1、安装配置被监控端1)先添加nagios用户

#useradd-s/sbin/nologinnagios2)NRPE依赖于nagios-plugins,因此,需要先安装之

#tarzxfnagios-plugins-1.4.15.tar.gz#cdnagios-plugins-1.4.15#./configure--with-nagios-user=nagios--with-nagios-group=nagios#makeall#makeinstall3)安装NRPE

#tar-zxvfnrpe-2.13.tar.gz#cdnrpe-2.13.tar.gz#./configure--with-nrpe-user=nagios\##添加nrpe用户--with-nrpe-group=nagios\##nrpe组--with-nagios-user=nagios\##nagios用户名--with-nagios-group=nagios\##nagios组名--enable-command-args\##向命令传递参数的--enable-ssl##默认选项,监控端和被监控端传递信息需要ssl加密#makeall#makeinstall-plugin##安装插件#makeinstall-daemon##将nrpe安装成守护进程#makeinstall-daemon-config##安装守护进程的配置文件4)配置NRPE:

#vim/usr/local/nagios/etc/nrpe.conflog_facility=daemon##日志文件的设施pid_file=/var/run/nrpe.pid##pid文件路径,自己可以定义server_address=172.16.14.14##监听的地址server_port=5666##端口号nrpe_user=nagios##nrpe用户nrpe_group=nagios##nrpe组名allowed_hosts=172.16.14.15##定义本机所允许的监控端的IP地址。command_timeout=60##定义命令的超时时间connection_timeout=300##链接的超时时间debug=0##调试功能没打开5)启动NRPE:

#/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg–d为了便于NRPE服务的启动,可以将如下内容定义为/etc/init.d/nrped脚本:

#!/bin/bash#chkconfig:23458812#description:NRPEDAEMONNRPE=/usr/local/nagios/bin/nrpeNRPECONF=/usr/local/nagios/etc/nrpe.cfgcase"$1"instart)echo-n"StartingNRPEdaemon..."$NRPE-c$NRPECONF-decho"done.";;stop)echo-n"StoppingNRPEdaemon..."pkill-unagiosnrpeecho"done.";;restart)$0stopsleep2$0start;;*)echo"Usage:$0start|stop|restart";;esacexit0赋予执行权限:

#chmod+x/etc/init.d/nrped添加至服务列表:

#chkconfig--addnrped#chkconfig--listnrped6)启动nrped服务和查看端口:

#servicenrpedstart#netstat-tnlp|grep5666 tcp00172.16.14.14:56660.0.0.0:*LISTEN\ 24909/nrpe7)配置允许远程主机监控的对象:在/usr/local/nagios/etc/nrpe.cfg中添加:

command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20command[check_sda1]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/sda1command[check_sda2]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/sda2command[check_sda3]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/sda3command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c2002、配置监控端:

1)安装NRPE

#tar-zxvfnrpe-2.13.tar.gz#cdnrpe-2.13.tar.gz#./configure--with-nrpe-user=nagios\--with-nrpe-group=nagios\--with-nagios-user=nagios\--with-nagios-group=nagios\--enable-command-args\--enable-ssl#makeall#makeinstall-plugin安装完成后在/usr/local/nagios/libexec/下会生成一个check_nrpe插件

#cd/usr/local/nagios/libexec/#./check_nrpe-H172.16.14.14NRPEv2.13##说明监控端与被监控端可以通信了2)定义如何监控远程主机及服务:

在commands.cfg定义check_nrpe命令:definecommand{command_namecheck_nrpecommand_line$USER1$/check_nrpe–H$HOSTADDRESS$-c$ARG1$}3)在/usr/local/nagios/etc/objects下定义Linux主机linhost.cfg定义的对象要与被监控端nrpe.conf文件中允许被监控的对象对应:

#vimlinhost.cfgdefinehost{uselinux-serverhost_namelinhostaliasMyLinuxHostaddress172.16.14.14}defineservice{usegeneric-servicehost_namelinhostservice_descriptionCHECKUSERScheck_commandcheck_nrpe!check_users}defineservice{usegeneric-servicehost_namelinhostservice_descriptionLoadcheck_commandcheck_nrpe!check_load}defineservice{usegeneric-servicehost_namelinhostservice_descriptionSDA1check_commandcheck_nrpe!check_sda1}defineservice{usegeneric-servicehost_namelinhostservice_descriptionSDA2check_commandcheck_nrpe!check_sda2}defineservice{usegeneric-servicehost_namelinhostservice_descriptionSDA3check_commandcheck_nrpe!check_sda3}defineservice{usegeneric-servicehost_namelinhostservice_descriptionZombiecheck_commandcheck_nrpe!check_zombie_procs}defineservice{usegeneric-servicehost_namelinhostservice_descriptionTotalprocscheck_commandcheck_nrpe!check_total_procs4)将linuxhost.cfg包含进主配置文件中:

#vim/usr/local/nagios/etc/nagios.cfgcfg_file=/usr/local/nagios/etc/objects/linhost.cfg5)检查语法正确性:

#/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfgTotalWarnings:0TotalErrors:0Thingslookokay-Noseriousproblemsweredetectedduringthepre-flightcheck一定要记得重启服务啊,我在做时忘了重启服务了,排错好长时间,也为前面步骤错了呢,惭愧!# service nagios restart
3、查看web nagios页面,显示自己定义的linhost信息:

这样就实现了对Linux主机进行远程监控了