十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
nrpe:nagios remote plugin executable
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,网站设计制作、成都做网站,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为成百上千服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!准备工作:
yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp openssl openssl-devel (其中的httpd php要么都使用yum安装的,要么都重新使用源码编译安装,不然后面会加载不到相关包,导致页面打不开或报错)
安装包下载:
[root@nagios ~]# wget http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.4/nagios-3.4.4.tar.gz
[root@nagios ~]# wget http://nchc.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
[root@nagios ~]# wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.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
apache(httpd)的安装配置:(源码编译安装)
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的重新安装配置:(源码编译安装)
http://www.cnblogs.com/fly1988happy/archive/2011/12/14/2288096.html
安装包: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中。
phpinfo();
?>;
http://ip:8080/info.php 显示出相关信息则php启动正常 [nagios页面为php页面]
监控端nagios的安装配置
nagios 目标:可查看到nagios core [http://ip:port/nagios]
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
被监控端(nrpe)的配置:
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]
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。