我搭建nagios的时候需要的软件信息如下所示:
httpd-2.4.17.tar.gz 功能:实现http服务,nagios web界面展示的时候搭建一个web服务是一个不错的选择。
php-5.4.10.tar.gz 功能:实现动态页面处理
apr-util-1.5.4.tar.gz 功能:可移植运行库
apr-1.5.2.tar.gz
nagios-3.2.0.tar.gz 功能:Nagios监控服务
下载地址: wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz --no-check-certificate
nagios-plugins-1.4.14.tar.gz 功能:提供各种监控插件龚nagios调用,插件一般监控本地资源。
下载地址:wget http://nagios-plugins.org/download/nagios-plugins-1.4.14.tar.gz
nrpe-2.12.tar.gzcd 功能:nagios的扩展,用于被监控服务端,向nagios提供服务器信息。NRPE可以称为nagios的for linux 客户端。
下载地址:wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz --no-check-certificate
1.配置Apache
1.1 编译和安装apr
#tar zxvf apr-1.5.2.tar.gz
#cd apr-1.5.2.tar.gz
#./configure --prefix=/usr/monitor-program/apr --libdir=/usr/lib64
#make && make install
1.2编译安装apr-util
#tar xzvf apr-util-1.5.4.tar.gz
#cd apr-util-1.5.4.tar.gz
#./configure --prefix=/usr/monitor-program/apr-util --with-apr=/usr/monitor-program/apr --libdir=/usr/lib64
#make && make install
1.3编译安装httpd
# tar jxvf httpd-2.4.17.tar.bz2
#cd httpd-2.4.17
#./configure --prefix=/usr/monitor-program/httpd --libdir=/usr/lib64 --enable-mods-shared=all --with-mpm=worker --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-proxy --enable-rewrite --enable-charset-lite --with-apr=/usr/monitor-program/apr --with-apr-util=/usr/monitor-program/apr-util --enable-so --enable-ssl --enable-cgi
#make && make install
在我./configure的时候出现如下错误:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre
解决方法:
#yum install pcre* -y
2.1配置php
2.1.1 编译安装php
#tar jxvf php-5.4.10.tar.gz
#cd php-5.4.10
#./configure --prefix=/usr/monitor-program/php --with-apxs2=/usr/monitor-program/httpd/bin/apxs --with-config-file-path=/usr/monitor-program/php
#make && make install
在我们编译的时候如果出现如下报错:
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/moitor-program/httpd/bin/apxs follows:
./configure: line 6372: /usr/moitor-program/httpd/bin/apxs: No such file or directory
configure: error: Aborting
1.我们根据上述的报错可以安装perl
#yum install perl perl* -y
#yum install openssl-devel -y
我在安装perl软件的时候出现如下错误:
file /usr/share/man/man3/Pod::Plainer.3pm.gz conflicts between attempted installs of perl-4:5.10.1-141.el6_7.1.x86_64 and perl-Pod-Plainer-1.03-1.el6.noarch
解决方法:
上述错误的意思是两个安装的库出现了冲突。
#cd /etc/yum.repo
我们会发现有两个库,大小不一样,我们可以把一个库剪切备份,重新安装就可以了
2.再次编译的时候出现了如下问题:
configure: error: xml2-config not found. Please check your libxml2 installation.
执行:
#rpm -qa |grep libxml2
可以看到安装了这两个包,我们再次用yum源安装一次,要确认更新,不要跳过。
#yum install libxml2 libxml2-devel -y
这次安装出现的问题挺多的,不过也是好事!
再次编译就成功了!
3.当我在make的时候出现了如下报错:
/root/php-5.3.28/Zend/zend_language_parser.h:317: error: conflicting types for 'zendparse'
/root/php-5.3.28/Zend/zend_globals_macros.h:35: note: previous declaration of 'zendparse' was here
make: *** [ext/standard/basic_functions.lo] Error 1
上述错误是说参数不一致导致的:
解决方法:
#vim /root/php-5.3.28/Zend/zend_language_parser.h
修改第317行的值为:void *compiler_globals
然后进行再次#make
2.1.2配置httpd.conf
#/usr/local/monitor-program/httpd/conf
#vim httpd.conf
修该
DirectoryIndex index.html index.php index.shtml 添加支持php
添加如下内容:
#ServerName web服务ip:8080
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
开启:
LoadModule cgid_module modules/mod_cgid.so
如果不开启,就会解析不了cgi文件
#/usr/montior-program/httpd/bin/apache1 start
2.1.3测试
建立test文件:输入以下代码保存
#vi /usr/monitor-program/httpd/htdocs/test.php
<?php
phpinfo()
?>
访问http://web服务ip/test.php 出现php配置页面
3.1.1配置nagios
3.1.2添加用户,组
#useradd nagios
#groupadd nagcmd
#usermod -G nagcmd nagios
#usermod -G nagcmd apache
3.1.3编译安装nagios
#tar zxvf nagios-3.2.0
#./configure --prefix=/usr/monitor-program/nagios --with-command-group=nagcmd
因为Apache使用的是源码安装,所以要编辑一下makefile
#vim Makefile
HTTPD_CONF=/usr/monitor-program/httpd/conf/extra
#make all
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf
3.1.4 将nagios注册为服务
#chkconfig --add nagios
#chkconfig --level 35 nagios on
3.1.5 在Apache中配置nagios
#vim httpd.conf
创建一个登录nagios web程序的用户,这个用户帐号在以后通过web登录nagios认证时所用
设置nagiosadmin访问权限
#/usr/monitor-program/httpd/bin/htpasswd -c /usr/monitor-program/nagios/etc/htpasswd.users nagiosadmin
其中nagiosadmin指定此用户名,是因为/nagios/etc/cgi.cfg中指定了此用户,设置密码
密码:123456
3.1.6安装插件nagios-plugins
nagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前还需要为其安装官方提供的插件。
#tar zxvf nagios-plugins-1.4.14.tar.gz.tar.gz
#cd nagios-plugins-1.4.14.tar.gz
#./configure --prefix=/usr/monitor-program/nagios --with-nagios-user=nagios --with-nagios-group=nagios
#make && make install
#service nagios restart
3.1.7 安装nrpe
nagios的密码忘了
#htpasswd -c /usr/monitor-program/nagios/etc/htpasswd nagios 修改密码即可
记住:密码设置的时候要设置成nagiosadmin的用户名的密码.如果采用其他用户登录就会出现左侧的列表出现url找不到的状态。
如果重启Apache后日志里出现如下问题:
上述安装过程中出现的问题:
由于php用源码安装验证没有成功, 导致Apache打开php的页面出现自动下载的状态。尝试了网上的解决方法没找到原因,后来httpd和php都是采用yum源安装的。安装成功了并能用了。所以有小伙伴知道解决方法的可以告诉一下。谢谢啦!
现在我们的环境就算初步搭好了,在云上比以前搭建的出现的问题多太多了。