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。。。。。
但是值得注意的是:
圆圈内输入监控端的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 ##也可以用这个命令检查