您的位置:首页 > 运维架构 > Linux

Nagios 安装攻略-------centos系统

2015-09-11 11:01 459 查看
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
4000


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                ##也可以用这个命令检查
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息