Linux系统可以大体两种ubuntu和centos两种,这里主要讲述centos系统下的使用,建议在centos系统下进行安装。首先安装需要的环境基础,像apache、php、gd、gcc之类的:yuminstall httpd php gd gd-devel gcc* -y

一.安装前的准备

1.   实验环境

包含2台主机,详细信息如下:

位置

系统(IP)

需要软件

监控端

Centos(10.19.11.201)

nagios-cn-3.2.0.tar.bz2; nagios-plugins-2.1.1

被监控端

Win7(10.19.11.110)

NSClient++

其中使用的软件可以在链接:http://pan.baidu.com/s/1eQxxL3G密码:3q8u进行下载。

 

2.   监控端开始配置

(1)  安装centos系统,为nagios的监控提供平台,可以在链接:http://pan.baidu.com/s/1bng8SIb密码:2fa4下载。

(2)  下载监控端所需要的软件nagios-cn-3.2.0.tar.bz2; nagios-plugins-2.1.1于home下。

(3)  解压缩,并且进入,编译安装具体操作如下:

tar   -jxvf  nagios-cn-3.2.0.tar.bz2 

cd nagios-cn-3.2.0        

编译,指定安装目录为/usr/local/nagios

./configure --prefix=/usr/local/nagios

         输出结果如下:

*** Configuration summary for nagios 2.9 04-10-2007 ***:

 General Options:

 -------------------------

type 'make all' to compile the main program and CGIs.

(4)  make all

输出如下信息:

*** Compile finished ***

…………

使用make install来安装主程序,CGI和HTML文件

  make install-init

-          This installs the init script in /etc/rc.d/init.d

使用make install-init在/etc/rc.d/init.d安装启动脚本

  make install-commandmode

使用make install-commandmode来配置目录权限

  make install-config

     ………..

使用make install-commandmode来安装示例配置文件,安装的路径是/usr/local/nagios/etc.

*** Support Notes *******************************************

Enjoy.

 

(5)安装 make install,然而此时会输出以下错误,

 

cd ./base && make install

make[1]: Entering directory `/home/yahoon/nagios/nagios-2.9/base'

make install-basic

make[2]: Entering directory `/home/yahoon/nagios/nagios-2.9/base'

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin

/usr/bin/install: invalid user `nagios' 非法用户nagios

make[2]: *** [install-basic] Error 1

make[2]: Leaving directory `/home/yahoon/nagios/nagios-2.9/base'

make[1]: *** [install] Error 2

make[1]: Leaving directory `/home/yahoon/nagios/nagios-2.9/base'

make: *** [install] Error 2

这里就需要我们增加用户,修改权限,首先通过su –进入root用户

[root@localhost nagios-2.9]# useradd nagios

[root@localhost nagios-2.9]# mkdir /usr/local/nagios

[root@localhost nagios-2.9]# chown nagios.nagios /usr/local/nagios

查看目录权限

[root@localhost nagios-2.9]# ll/usr/local

drwxr-sr-x    2nagios   nagios       4096Jul 10 11:14 nagios

看到nagios目录的权限已经被正确修改了

 

 

重新执行make install输出信息如下

(6)然后

make install-init

make install-commandmode

make install-config

make install-webconf

验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。后表是五个目录功能的简要说明:

           

 

(7)安装插件

 

               解压缩: tar -zxvf nagios-plugins-2.1.1.tar.gz

               进入:cd nagios-plugins-2.1.1

编译,指定路径为之前nagios的安装路径

 

./configure --prefix=/usr/local/nagios/

make

make install

会显示安装的插件文件,即所有的插件都安装在libexec这个目录下

将apache的运行用户加到nagios组里面

从httpd.conf中过滤出当前的apache运行用户

grep ^User/usr/local/apache2/conf/httpd.conf

我的是vpopmail,下面将这个用户加入nagios组

usermod -G nagios vpopmail

 

(8)增加验证用户

也就是通过web访问nagios的时候,必须要用这个用户登陆.在这里我们增加用户test:密码为12345

[root@localhost conf]# /usr/local/bin/htpasswd -c/usr/local/nagios/etc/htpasswd test

New password: (输入12345)

Re-type new password: (再输入一次密码)

Adding password for user test

查看认证文件的内容

[root@localhost conf]# less/usr/local/nagios/etc/htpasswd

test:OmWGEsBnoGpIc  前半部分是用户名test,后面是加密后的密码

 

三.  被监控机的配置

根据系统的32位或64位选择nsclient++,进行安装,在这里我们可以下载NSCP-0.4.1.73-x64.msi,然后在win系统下双击,然后next。。。。。

但是值得注意的是:

nagios xi nagiosxi密钥_nagios

圆圈内输入监控端的IP即可。安装完成可以在服务中查看。

如果看到NSClient++,说明正常。

当然当监控端的IP变化时,我们可以在nsclient.ini中进行查看修改

四.  监控端中被监控端的修改

(1)      编辑Nagios 的主配置文件

vi /usr/local/nagios/etc/nagios.cfg

把下面这行最前面的#号去掉:

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg

(2)      编辑方式打开windows.cfg文件

vi /usr/local/nagios/etc/objects/windows.cfg

给Windows机器加一个新的主机对象定义以便监控。如果是被监控的第一台Windows机器,可以只是

修改windows.cfg文件里的对象定义。修改host_name、alias和address域以符合那台Windows机器。

define host{

usewindows-server

host_namewinserver

alias My WindowsServer

address 10.19.11.110//被监控端的IP

}

(3)      定义服务

五.  问题总结

配置apache 

找到apache的配置文件/etc/httpd/httpd.conf 

在其中找到

User daemon

Group daemon

修改为 

User nagios

Group nagios

然后找到 

<IfModuledir_module>DirectoryIndex index.html</IfModule>

修改为 

<IfModuledir_module>DirectoryIndex index.html index.php</IfModule>

接着增加如下内容: 

AddType application/x-httpd-php .php




无权查看任何主机的信息

vi/usr/local/nagios/etc/cgi.cfg

将use_authentication的值改为0.

use_authentication=0

然后重启nagios服务

service nagios restart

Linux下查看SELinux状态和关闭SELinux的方法

修改/etc/selinux/config文件

将SELINUX=enforcing改为SELINUX=disabled

可以通过getenforce                ##也可以用这个命令检查