nrpe:nagios remote plugin executable yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp openssl openssl-devel (其中的httpd php要么都使用yum安装的,要么都重新使用源码编译安装,不然后面会加载不到相关包,导致页面打不开或报错)
安装包下载: [iyunv@nagios ~]# wget http://nchc.dl.sourceforge.net/p ... nagios-3.4.4.tar.gz [iyunv@nagios ~]# wget http://nchc.dl.sourceforge.net/p ... ugins-1.4.16.tar.gz [iyunv@nagios ~]# wget http://sourceforge.net/projects/ ... 14/nrpe-2.14.tar.gz
http://nsclient.org/nscp/downloads http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.9-Win32.zip http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.9-x64.zip
添加用户及组: useradd nagios -p nagios groupadd nagcmd usermod -G nagcmd nagios usermod -G nagcmd apache
tar zxvf httpd cd httpd ./configure make && make install vi /usr/local/apache2/conf/httpd.conf [Listen 8080] 修改端口,记得在防火墙中允许该端口 /usr/local/apache2/bin/apachectl -k start [此为启动源码安装的httpd,若使用了yum install httpd,则service httpd start 启动的不是源码安装的,若源码安装的也可以使用service,需要修改配置文件]
netstat -lntp 查看修改的8080端口是否处于LISTENING,是则启动成功 http://ip:8080 显示apache页面则正常
{添加命令开机启动设置:echo "/usr/local/apache2/bin/apachectl -k start" >> /etc/rc.d/rc.local reboot netstat -lntp}
安装包:php libxml2 tar zxvf libxml2 cd libxml2 ./configure --prefix=/usr/local/libxml2 make && make install
#tar zvxf php-5.3.8.tar.gz
#cd php-5.3.8
#./configure
--prefix=/usr/local/php
--with-mysql=/usr/local/mysql
--with-apxs=/usr/local/apache2/bin/apxs
--with-libxml-dir=/usr/ local/libxml2
#make
#make install # vi /usr/local/apache/conf/httpd.conf 找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容 AddType application/x-httpd-php .php (.前面有空格) AddType application/x-httpd-php-source .phps (.前面有空格)
cp php-5.3.8/php.ini.dist /usr/local/php/lib/php.ini (文件在解压出来的安装包中) (如果没有php.ini.dist 则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可。) 修改php.ini文件 register_globals = On (有些没有这个,直接添加即可)
service apache restart 写一个php测试页info.php,放到apache2/htdocs中。 ; http://ip:8080/info.php 显示出相关信息则php启动正常 [nagios页面为php页面]
tar zxvf nagios cd nagios ./configure --with-command-group=nagcmd
make all make install make install-init make install-config make install-commandmode make install-webconf (default:/etc/httpd/conf.d/nagios.cfg 此目录为yum安装httpd的路径,若apache为源码编译安装,则需要手动执行命令或建立目录,但这是读取不到的,需要将配置的内容拷贝到httpd.conf中)
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
nagios配置文件验证与启动: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios start chkconfig --add nagios chkconfig nagios on | chkconfig nagios --level 2345 on chkconfig --list nagios
创建web页面访问用户 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin htpasswd /usr/local/nagios/etc/htpasswd.users nagiostest (第一次创建用-c参数,之后添加登录用户不用参数,直接创建) 查看:cat /usr/local/nagios/etc/htpasswd.users
安装nagios-plugin: tar zxvf nagios-plugin cd nagios-plugin ./configure --with-nagios-user=nagios --with-nagios-group=nagios make && make install
vi /etc/sysconfig/iptables service iptables restart
cat /etc/httpd/conf.d/nagios.cfg >> /usr/local/apache2/conf/httpd.conf vi /usr/local/apache2/conf/httpd.conf [Listen 8080 ; DirectoryIndex index.php ]
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios reload service httpd restart
http://ip:port/nagios
监控端(nagios服务器)的配置: linux(centos):
cd nrpe ./configure make all make install-plugin (只需这一步即可,因为只要check_nrpe插件)
vi /usr/local/nagios/etc/objects/command.cfg 增加以下代码: define command{ command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
} #只有在command.cfg中定义的命令才可以在service中使用,而check_nrpe的参数arg1只有在被监控端的etc/nrpe.cfg中定义的命令才可以使用
service中的命令,对于有参数的,使用!分隔开
vi /usr/local/nagios/etc/nagios.cfg 添加配置文件路径 vi /usr/local/nagios/etc/objects/hosts 添加监控对象及服务
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios reload 或 service nagios restart
linux(centosnode1): yum install -y lrzsz (将监控端的两个安装包传输过来:nagios-plugin,nrpe) rpm -qa|grep gcc openssl openssl-devel yum install -y openssl openssl-devel tar zxvf nagios-plugin;tar zxvf nrpe
cd nagios-plugin useradd nagios -s /sbin/nologin -p nagios ./configure --with-nagios-user=nagios --with-nagios-group=nagios make && make install ll /usr/local/nagios/ --etc/ libexec/ include/ chown -R nagios:nagios /usr/local/nagios
cd nrpe ./configure (openssl,openssl-devel)
make all make install-plugin (不是必须的,用于本机测试,plugin提供命令check_nrpe,相当于ping等命令) make install-daemon make install-daemon-config make install-xinetd (用于nrpe的另一种使用方式,即nrpe运行在xinetd下) vi /etc/xinetd.d/nrpe [only_from=127.0.0.1 192.168.1.123] 此处用空格,仅对nrpe运行在xinetd下时有用,至于nrpe使用哪种方式,根据其启动方式定 vi /etc/service [添加nrpe 5666/tcp 使用xinted方式则需要,独立时不需要] vi /usr/local/nagios/etc/nrpe.cfg [allowed_hosts=127.0.0.1,10.10.10.254]此处用逗号,仅对独立运行nrpe时有效,xinetd运行下时将被忽略
修改防火墙,放开5666端口. service iptables restart 启动nrpe: 方式1-独立nrpe daemon: /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
netstat -lntp 或 netstat -an|grep 5666 查看端口是否处于侦听状态
方式2-xinetd下
service xinetd start
ps -elf|grep nrpe netstat -an|grep 5666
测试:被监控机上 /usr/local/nagios/libexec/check_nrpe -H localhost 监控机上 /usr/local/nagios/libexec/check_nrpe -H 被监控机ip
(正常返回nrpe版本号)
windows [使用nsclient++ 与 check_nt]
【修改nagios.cfg,放开windows.cfg,检查后重启nagios】 下载NSClient++ 解压 cd NSClient++ NSClient++ -install NSClient++ SysTray install service.msc ->NSClient++ ->打开,登录【允许服务与桌面交互】 编辑解压包下的nsc.ini
NSClient++ -start netstat -an 看到12489端口处于LISTENING表示正常启动
至此windows上的配置完成,等待监控端nagios发起某个监控请求 (有点问题,测试时:监控端linux与windows互ping存在问题,之前正常,需要查找哪出现问题)
vi /etc/sysconfig/iptables /sbin/iptables -I INPUT -p tcp -dport 8080 -j ACCEPT
1 nrpe版本一致,但分别安装在32位与64位,在使用/usr/local/nagios/libexec/check_nrpe -H 被监控主机ip 时报错:CHECK_NRPE: Error - Could not complete SSL handshake.换成同为32位正常 此问题,需将两端的nrpe配置检查一遍,因为只要防火墙打开,网络即通,出问题的地方是ssl通信,即check_nrpe与nrpe的通信出问题 2 分清楚yum包安装 与 源码编译安装,混用可能会导致无法相互加载。 forbidden:no access /nagios 3 not found /nagios [cat ../nagios.cfg >> ../apache2/conf/httpd.conf]
|