基于Centos系统,参考官方文档。

一、Nagios的安装

    1. 安装前需先安装如下软件包。
        Apache
        GCC编译器
        GD库与开发库
        openssl-devel
        
        安装这些软件包:

  1. #yum -y install httpd gcc glibc glibc-common gd gd-devel 


    2. 操作过程
        
        2.1 建立一个帐号

  1. #su -l 
  2. #/usr/sbin/useradd nagios 
  3. #passwd nagios 
        创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中     。


  1. #/usr/sbin/groupadd nagcmd 
  2. #/usr/sbin/usermod -G nagcmd nagios 
  3. #/usr/sbin/usermod -G nagcmd apache 

        2.2 下载Nagios和插件程序包


  1. #mkdir ~/downloads  
  2. #cd ~/downloads 
  3. #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0rc1.tar.gz 
  4. #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz 

        2.3 编译与安装Nagios

  1. #cd ~/downloads 
  2. #tar xzf nagios-3.0rc1.tar.gz 
  3. #cd nagios-3.0rc1 
        运行Nagios配置脚本并使用先前开设的用户及用户组:

  1. #./configure --with-command-group=nagcmd 

        编译Nagios程序包源码

  1. #make all 
  2. #make install 
  3. #make install-init 
  4. #make install-config 
  5. #make install-commandmode 

       2.4 客户化配置

        编辑/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人     定义信息中的EMail信息为你的EMail信息以接收报警内容。

  1. #vi /usr/local/nagios/etc/objects/contacts.cfg 
        2.5 配置WEB接口

        安装Nagios的WEB配置文件到Apache的conf.d目录下make install-webconf创建一个nagiosadmin的用     户用于Nagios的WEB接口登录。


  1. #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 
        重启Apache服务以使设置生效。

  1. #service httpd restart 
        2.6 编译并安装Nagios插件

  1. #cd ~/downloads 
  2. #tar xzf nagios-plugins-1.4.11.tar.gz 
  3. #cd nagios-plugins-1.4.11 
  4.  
  5. #./configure --with-nagios-user=nagios --with-nagios-group=nagios 
  6. #make 
  7. #make install 

        2.7 启动Nagios

        把Nagios加入到服务列表中以使之在系统启动时自动启动


  1. #chkconfig --add nagios 
  2. #chkconfig nagios on 
        验证Nagios的样例配置文件

  1. #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 
        如果没有报错,可以启动Nagios服务

  1. #service nagios start 

        2.8 更改SELinux设置

        如果是SELinux处于强制安全模式时需要做getenforce令SELinux处于容许模式:

  1. setenforce 0 

        如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:

  1. #chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ 
  2. #chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ 
        2.9 登录WEB接口
 
  1. http://localhost/nagios/ 
        2.10 其他的变更
        防火墙规则配置允许你可以从远程登录到Nagios的WEB服务。



二、NRPE的安装配置
 
        在监控服务器上安装NRPE:

  1. #tar xzf nrpe-2.8.1.tar.gz  
  2. #cd nrpe-2.8.1  
  3. #./configure  
  4. #make all   
  5. #make install-plugin 
        定义一个可以在监控平台使用的命令,这个定义一般会在/.../nagios/etc/commands.cfg中,其内容如下:

  1. define command{  
  2.    command_name check_nrpe  
  3.    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } 

        在被监控服务器上安装NRPE。

        需要准备的包有两个:NRPE和nagios-plugin。
      
        首先安装插件:

  1. #/usr/sbin/useradd nagios  
  2. #passwd nagios  
  3. #tar xzf nagios-plugins-1.4.9.tar.gz 
  4. #cd nagios-plugins-1.4.9 
  5. #./configure --prefix=/usr/local/nagios 
  6. #make && make install 
  7. #chown nagios.nagios /usr/local/nagios/ 
  8. #chown -R nagios.nagios /usr/local/nagios/libexec/ 
        然后安装NRPE:

  1. #tar xzf nrpe-2.8.1.tar.gz  
  2. #cd nrpe-2.8.1  
  3. #./configure  
  4. #make all  
  5. #make install-plugin  
  6. #make install-daemon  
  7. #make install-daemon-config  
        修改/usr/local/nagios/etc/nrpe.cof。
        找到“allowed_hosts=127.0.0.1”将其改为:allowed_hosts=127.0.0.1,$Nagios监控平台的地址或     域名。

        启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)
      
  1. #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d  
        此命令生成的日志会在系统的日志(/var/log/message)中。

        将nrpe安装为依赖xinetd超级进程的非独立服务,那么前提必须安装xinetd。

    执行下面的命令将NRPE安装为xinetd超级进程所管理的进程之一。

  1. #make install-xinetd 
    编辑/etc/xinetd.d目录下的nrpe文件,并且在最后添加允许实施监测的主机IP地址。
         
        only_from       = *.*.*.*
    
        修改/etc/services档,并添加下面的内容:

        nrpe            5666/tcp                        # nrpe

        重启服务:
        
  1. # /etc/init.d/xinetd restart 
        此时检查nrpe服务启动状况如下:

  1. # netstat -nl | grep 5666 
  2. tcp        0      0 0.0.0.0:5666                0.0.0.0:*           LISTEN  
  1. # lsof -i:5666 
  2. COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME 
  3. xinetd  9949 root    5u  IPv4  28764       TCP *:nrpe (LISTEN) 
        使用check_nrpe插件进行测试。在监测主机上执行命令:

  1. # /usr/local/nagios/libexec/check_nrpe -H x.x.x.x 
    如果能够出现如下的版本号显示,则证明在被监测主机上配置的NRPE已经正常工作,并且监测主机能      够通过SSL与被监测主机上的NRPE正常通信。



        故障排除:

        如果出现一些error信息,则需要检查配置,检查的内容包括主要有下面几项:

        1.nrpe的版本号和nrpe-plugin的版本号是否一致。版本不一致极有可能造成该问题。

   2.SSL是否被关闭。确保NRPE以及check_nrpe插件在编译的时候都加入了SSL支持,同时在运行时都开      启SSL。

   3.确保NRPE的配置文件nrpe.cfg文件可以被nagios用户读取并且nagios用户可以执行nrpe二进制程序    。

   4.确认在/etc/xinetd.d/nrpe文件的“only_from=x.x.x.x”中x.x.x.x是访问NRPE的监测主机的IP地    址。
 
        5.安装nrpe,编译的时候提示以下信息
        checking for SSL headers... configure: error: Cannot find ssl headers

        原因是缺少openssl-devel包。

  1. #yum -y install openssl-devel  
        6.问题:You don't have permission to access /nagios/ on this server

  1. #yum install php –y