基于Centos系统,参考官方文档。
一、Nagios的安装
1. 安装前需先安装如下软件包。
Apache
GCC编译器
GD库与开发库
openssl-devel
安装这些软件包:
- #yum -y install httpd gcc glibc glibc-common gd gd-devel
2. 操作过程
2.1 建立一个帐号
- #su -l
- #/usr/sbin/useradd nagios
- #passwd nagios
创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中 。
- #/usr/sbin/groupadd nagcmd
- #/usr/sbin/usermod -G nagcmd nagios
- #/usr/sbin/usermod -G nagcmd apache
2.2 下载Nagios和插件程序包
- #mkdir ~/downloads
- #cd ~/downloads
- #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0rc1.tar.gz
- #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
2.3 编译与安装Nagios
- #cd ~/downloads
- #tar xzf nagios-3.0rc1.tar.gz
- #cd nagios-3.0rc1
运行Nagios配置脚本并使用先前开设的用户及用户组:
- #./configure
编译Nagios程序包源码
- #make all
- #make install
- #make install-init
- #make install-config
- #make install-commandmode
2.4 客户化配置
编辑/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人 定义信息中的EMail信息为你的EMail信息以接收报警内容。
- #vi /usr/local/nagios/etc/objects/contacts.cfg
2.5 配置WEB接口
安装Nagios的WEB配置文件到Apache的conf.d目录下make install-webconf创建一个nagiosadmin的用 户用于Nagios的WEB接口登录。
- #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启Apache服务以使设置生效。
- #service httpd restart
2.6 编译并安装Nagios插件
- #cd ~/downloads
- #tar xzf nagios-plugins-1.4.11.tar.gz
- #cd nagios-plugins-1.4.11
-
- #./configure
- #make
- #make install
2.7 启动Nagios
把Nagios加入到服务列表中以使之在系统启动时自动启动
- #chkconfig
- #chkconfig nagios on
验证Nagios的样例配置文件
- #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
- #service nagios start
2.8 更改SELinux设置
如果是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/
2.9 登录WEB接口
- http://localhost/nagios/
2.10 其他的变更
防火墙规则配置允许你可以从远程登录到Nagios的WEB服务。
二、NRPE的安装配置
在监控服务器上安装NRPE:
- #tar xzf nrpe-2.8.1.tar.gz
- #cd nrpe-2.8.1
- #./configure
- #make all
- #make install-plugin
定义一个可以在监控平台使用的命令,这个定义一般会在/.../nagios/etc/commands.cfg中,其内容如下:
- define command{
- command_name check_nrpe
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
在被监控服务器上安装NRPE。
需要准备的包有两个:NRPE和nagios-plugin。
首先安装插件:
- #/usr/sbin/useradd nagios
- #passwd nagios
- #tar xzf nagios-plugins-1.4.9.tar.gz
- #cd nagios-plugins-1.4.9
- #./configure
- #make && make install
- #chown nagios.nagios /usr/local/nagios/
- #chown -R nagios.nagios /usr/local/nagios/libexec/
然后安装NRPE:
- #tar xzf nrpe-2.8.1.tar.gz
- #cd nrpe-2.8.1
- #./configure
- #make all
- #make install-plugin
- #make install-daemon
- #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,以便开机自动启动)
- #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
此命令生成的日志会在系统的日志(/var/log/message)中。
将nrpe安装为依赖xinetd超级进程的非独立服务,那么前提必须安装xinetd。
执行下面的命令将NRPE安装为xinetd超级进程所管理的进程之一。
- #make install-xinetd
编辑/etc/xinetd.d目录下的nrpe文件,并且在最后添加允许实施监测的主机IP地址。
only_from = *.*.*.*
修改/etc/services档,并添加下面的内容:
nrpe 5666/tcp # nrpe
重启服务:
- # /etc/init.d/xinetd restart
此时检查nrpe服务启动状况如下:
- # netstat -nl | grep 5666
- tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
- # lsof -i:5666
- COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
- xinetd 9949 root 5u IPv4 28764 TCP *:nrpe (LISTEN)
使用check_nrpe插件进行测试。在监测主机上执行命令:
- # /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包。
- #yum -y install openssl-devel
6.问题:You don't have permission to access /nagios/ on this server
- #yum install php –y
Ctrl+Enter 发布
发布
取消