nagios安装和配置(1)

Nagios是一款企业级网络监控系统,它功能之强大,管理之简单,使得很多大型网络公司都对它有高度的称赞,并把它投入到自己的网络环境,下面是安装过程,本文是基于turboLinux11环境安装的,同时分为监控端和被监控端。

1、安装前准备

1.1安装所需环境的软件

包括Apache 2.x gcc编译器 gd 库 和 gd-devel 开发库,因为我的系统是完全安装的,所以就省略了。

yum install http

yum install gcc

yum install gd

yuminstall gd-devel

1.2下载nagios软件和插件

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

当然我们也可以登录nagios官网,下载最新的软件http://www.nagios.org/download/

 

 2、监控端nagios安装过程

2.1添加用户和用户组

#useradd nagios

#useradd apache (turbolinux 默认有该用户)

#passwd nagios

 

#groupadd nagcmd   //创建用户组用于从web接口执行外部命令,并将nagios和Apache用户添加到这个组里

#usermod -G nagcmd nagios

#usermod -G nagcmd nagios

 

 2.2编译和安装

#tar -zxvf nagios-3.2.1.tar.gz

#cd nagios-3.2.1.tar.gz

 

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

#make all

#make install

#make install-init

#make install-config

#make install-commandmode

#make install-webconf

 

安装nagios-plugins

#tar -zxvf nagios-plugins-1.4.15.tar.gz

#cd nagios-plugins-1.4.15.tar.gz

#./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --enable-ssl --enable-command-args

 

注意:RedHat可能会出现checking for redhat spopen problem.... 停住

添加 --enable-redhat-pthread-workaround

 

#make all

#make install

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

 

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

#chkconfig --add nagios

#chkconfig nagios on

 

安装check_nrpe插件

#tar -zxvf nrpe-2.12.tar.gz

#./configure

#make

#make install

 

至此监控服务器上的软件就安装完了,我们来看看软件安装完后他的结构

# ll /usr/local/nagios/ |awk '{print $8}'

bin              Nagios执行程序所在目录,nagios文件即为主程序
etc              Nagios配置文件位置
include       不清楚,哈哈!!!!
libexec        nagios-plugins安装后放置插件目录,
sbin            Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
share         Nagios网页文件所在的目录
var             Nagios日志文件,包括归档日志


3、配置WEB接口

方法一:直接在安装nagios时 make install‐webconf
创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。
htpasswd ‐c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启Apache服务以使设置生效。
service httpd restart


方法二:在httpd.conf最后添加如下内容:

 

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
//用于此目录访问身份验证的文件
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
//用于此目录访问身份验证的文件
Require valid-user
</Directory>

 

添加用户test

/usr/local/apache2/bin/htpasswd ‐c /usr/local/nagios/etc/htpasswd test
New password: (输入12345)
Re‐type new password: (再输入一次密码)
Adding password for user test
查看认证文件的内容
less /usr/local/nagios/etc/htpasswd
test:OmWGEsBnoGpIc 前半部分是用户名test,后面是加密后的密码

 

4、启动nagios

验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios ‐v /usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务

方法一:因为前面我们已经将nagios添加到系统服务器里,所以可以直接启动

#service nagios start

方法二:手动输入命令启动

#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

 

5、更改SELinux设置

SELinux(安全增强型Linux)同步发行与安装后将默认使用强制模式。这会在你尝试联入Nagios的CGI时导致一个"内部服务错误"消息。
如果是SELinux处于强制安全模式时需要做
getenforce
令SELinux处于容许模式
setenforce 0
如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。
不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/sbin/
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/share/

 

6、测试

登录 http://localhost/nagios/ 输入用户名和密码就可以正常登录了

 

7、被监控机器上安装软件

在被监控主机上
增加用户
useradd nagios
设置密码
passwd nagios
2安装nagios插件
tar ‐zxvf nagios‐plugins‐***.tar.gz
cd nagios‐plugins‐***
./configure
make
make install
chown nagios.nagios /usr/local/nagios
chown ‐R nagios.nagios /usr/local/nagios/libexec
安装nrpe (监控机也安裝)
tar ‐zxvf nrpe‐***.tar.gz
cd nrpe‐2.1.2
./configure --enable-ssl  --enable-command-args
make all
make install‐plugin
make install‐daemon
make install‐daemon‐config
/usr/local/nagios/libexec/check_nrpe ‐H localhost
会返回当前NRPE的版本
# /usr/local/nagios/libexec/check_nrpe ‐H localhost
NRPE v2.1.2
也就是在本地用check_nrpe连接nrpe daemon是正常的
注:为了后面工作的顺利进行,注意本地防火墙要打开5666能让外部的监控机访问

同时修改nrpe配置文件,添加监控端ip,允许监控端访问

allowed_hosts=127.0.0.1,192.168.99.2


/usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法
可以看到用法是check_nrpe –H 被监控的主机 ‐c要执行的监控命令
注意:‐c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令
在监控与被监控机上启动NRPE:

方法一:手动输入命令启动
/usr/local/nagios/bin/nrpe ‐c /usr/local/nagios/etc/nrpe.cfg ‐d

方法二:将服务添加到xinetd (前提是服务器安装了xinetd服务)

在安装nrpe的时候最后将启动添加到xinetd

#make install-xinetd

vi /etc/xinetd.d/nrpe

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 192.168.99.2(添加监控端ip,允许监控端访问)
}

 

vi /etc/service

添加如下:

nrpe            5666/tcp                        #nrpe Daemon

启动:

#service xinetd restart

查看nrpe是否启动监听端口

#netstat -an|grep 5666

tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN

在监控服务器上查看被监控机器是否访问nrpe

# /usr/local/nagios/libexec/check_nrpe ‐H 192.168.99.3
NRPE v2.1.2

 

 

你可能感兴趣的:(apache,redhat,服务器,cgi,plugins,nagios)