您的位置:首页 > 运维架构

Centreon安装/排错

2016-04-08 21:05 1126 查看
1.前言Centreon是一个管理和控制Nagios的工具,并且在Nagios的基础上增加了画图的功能,并且能自动的将Nagios的监控生成图像,不需要人为手动控制。以下是Nagios与Centreon整合后的展示图:

2 操作系统要求

2.1 系统版本:

本文所用的系统为:Centos 6.2 说明:nagios所支持折系统较多,本手册接下来的所有操作都是在centos上,所以会要求centos系统

2.2 分区要求

按系统默认即可,/var将会是大部分数据存放的路径

2.3 需要附带安装的组件

选中开发库和开发工具即可,一些开发库是必须的否则在安装centreon时会有层出不穷的问题,开发工具即为可选.

2.4 服务器安全

运行级别为3,关闭Selinux,关闭iptables(前端有防火墙)

3 LAMP环境

所需要的环境将全部用YUM进行安装,不采用源码,一次性安装完成,安装软件时需要的库即其它支持 # yum -y install vixie-cron libjpeg* libpng* freetype* xml-commons* openssl* curl* libxml2-devel.x86_64 e2fsprogs* krb5-devel* krb5-libs* libr* libidn-devel gcc* mod_dav_svn pcre-devel bzip2* zlib* net-snmp* perl-devel所有需要支持的包都己好,下面就可以安装LAMP环境了. # yum -y install httpd httpd-devel mysql-* php-* php-pear* # chkconfig httpd –level 2345 on # service httpd start # chkconfig mysqld –level 2345 on # service mysqld start # mysqladmin -uroot password 123456以上步聚即完全部署好LAMP环境,下面就正式开始安装nagios,有yum就是不一样

4 安装Nagios

4.1 版本要求

1. Nagios版本:nagios-3.4.1 说明: nagios-3.4.1为nagios主要框架系统,安装完后无法进行正常监控 2. 插件版本: nagios-plugins-1.4.15 说明: nagios-plugins中的各类插件是完成各种监控的工具

4.2 下载地址

http://www.nagios.org/download http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.1/nagios-3.4.1.tar.gz http://nchc.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz

4.3 安装步骤:

# useradd nagios

# usermod -G nagios apache

# tar -zxvf nagios-3.4.1.tar.gz

# cd nagios

# ./configure –prefix=/usr/local/nagios –with-gd-lib –with-gd-inc

# make all

# make install

# make install-init

# make install-commandmode

# make install-config

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

# cd nagios-plugins-1.4.15

# ./configure –prefix=/usr/local/nagios-plugins

# make all

# make install

# cp -fa /usr/local/nagios-plugins/libexec/* /usr/local/nagios/libexec/

# vi /etc/httpd/conf/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.users
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.users
Require valid-user
</Directory># htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin // 建立用户设置密码

# service httpd restart

# service nagios start

可以通过http://Your_IP/nagios来访问nagios,即nagios的安装部分己经完成,此处只需确定nagios己被正确安装和监控即可,接下来需要安装ndoutils用来与mysql进行连接 至此,nagios己经可以正常工作,可以通过修改配置来达到监控的作用,但这里我们不建议这样使用,下面我们会继续安装一些工作以及和Centreon进行整合,这样会更好的理解和使用nagios的各项功能

5 安装ndoutils

5.1 版本要求

Ndoutils版本: ndoutils-1.5.2 说明: ndoutils是与将nagios与数据进行连接的工具,可以结合将nagios的即时状态写入数据库,再供其它工具现调用,以完成多种界面可以看到同一种结果的效果.

5.2 下载地址

http://www.nagios.org/download/addons http://nchc.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz 说明:这里还有很多其它的nagios插件下载,当然在里面也可以找到Ndoutils

5.3 安装步骤

# tar -zxvf ndoutils-1.5.2.tar.gz

# cd ndoutils-1.5.2

# ./configure –prefix=/usr/local/nagios –with-mysql-lib=/usr/lib64/mysql –with-mysql-inc=/usr/include/mysql

# make

# cp src/ndo2db-3x src/file2sock src/log2ndo src/ndomod-3x.o /usr/local/nagios/bin/

# cp config/ndo2db.cfg-simple /usr/local/nagios/etc/ndo2db.cfg

# cp config/ndomod.cfg-simple /usr/local/nagios/etc/ndomod.cfg

# chown nagios.nagios /usr/local/nagios/bin/* /usr/local/nagios/etc/ndo*

# vi /usr/local/nagios/etc/ndo2db.cfg //这里需要填写相关nagios数据库的权限

(可以给root的用户名和密码,如果不想则需要在mysql里创建自己的用户)

# cd db/

# mysql -u root -p123456 nagios < mysql.sql //此处需要先建立好nagios库

# vi /usr/local/nagios/etc/nagios.cfg // 加入以下broker段内容

event_broker_options=-1 #此处必须选择为-1

broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg //开启ndo

# service nagios restart //重启nagios服务,在nagios日志项内看到以下消息则安装正确



5.4 注:这里可能会出现几个问题:

1) 在nagios的log内提示: ndomod: Could not open data sink! I’ll keep trying, but some output may get lost…
如下图:

需要说明的是,这种现像是与在编绎ndoutils指定的lib和inc的路径有关,所以需要按照情况2)中所指出的方法重新安装,也有可能是ndoutils的进程没开起来,用ps –ef | grep ndo可以查看,若无进程,用以下方法开启就可以.# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg //开启ndo

2) 在开启时提示: Support for the specified database server is either not yet supported, or was not found on your system. 这是因为在安装的时候没有指定正确mysql的lib 和inc的路径,需要重新安装ndoutils,有两种情况: 如果是rpm安装的mysql则用以下命令编绎:# ./configure –prefix=/usr/local/nagios –with-mysql-lib=/usr/lib/mysql –with-mysql-inc=/usr/include/mysql

如果是源码安装则:# ./configure –prefix=/usr/local/nagios –with-mysql-lib=/usr/local/mysql/lib/mysql –with-mysql-inc=/usr/local/mysql/include/

3) 可能会在开启多次后出现:Could not bind socket: Address already in use 查看/usr/local/nagios/etc/ndo2db.cfg有这样的内容# SOCKET TYPE# This option determines what type of socket the daemon will create# an accept connections from.# Value:# unix = Unix domain socket (default)# tcp = TCP socketsocket_type=unix#socket_type=tcpsocket是unix类型的(是一个sock文件),而不是tcp类型的(tcp端口)*原来是/usr/local/nagios/var/ndo.sock还存在(因为ndo是使用kill命令杀掉进程的),所以删掉这个.sock文件即可

6 安装RRDTOOL

6.1 版本要求

Rrdtool版本: rrdtool-1.4.7 说明:rrdtool是一个画图软件,安装这个软件主要是为了后面安装centreon时可以以图的形式展现出所监控到的内容,是个很好用的工具

6.2 下载地址:

http://www.mrtg.org/rrdtool/pub/ http://www.mrtg.org/rrdtool/pub/rrdtool-1.4.7.tar.gz

6.3 安装步骤:

# tar -zxvf rrdtool-1.4.7.tar.gz

# cd rrdtool-1.4.7

# ./configure –prefix=/usr/local/rrdtool && make && make install

Rrdtool的安装过程很简单,至此己安装完成

7 安装CENTREON

7.1 版本要求:

Centreon版本:centreon-2.3.8 说明:centreon是nagios的图形工具,并能简化nagios的配置工作.

7.2 下载地址:

http://www.centreon.com/ http://download.centreon.com/centreon/centreon-2.3.8.tar.gz

7.3 安装步骤:

# tar -zxvf centreon-2.3.8.tar.gz

# cd centreon-2.3.8

# ./install.sh –i

以下步骤比较多,建议多运行几次,熟悉一下1.安装,Enter即可

2.签署GPL,必须y,不然不让装3.选择你需要装centreon的各组件,全新的安装全y即可

4.配置centreon的web访问信息这里注意,我们要重新指定RRDs.pm,rrdtool,PEAR.php以及NDO ndomod 的位置。否则它会提示无法找到目标之类的。



5.配置sudo,会在/etc/sudoers文件内加入一些nagios和centreon的信息

6.配置apache与centreon的关联

7.安装pear模块,这里说明一点:所有模块状态必须为OK 才能正常的往后安装,若在此遇到问题,请看后面有关遇到问题的解决方法 这一步它会先自动检测你的Pear模块是否安装,以及是否完整,如果不,它会告诉你,模块不完整,是否让Centreon帮你安装,你需要按Y,来确认,这样它就会自动开始帮我们来安装,直到安装完成,然后会重新检测一遍Pear模块的状态。在安装的过程中,请务必确保机器有外网能力。且网络通畅,否则……否则……否则……否则你会非常痛苦的……一个个去手动安装……8 要求所有模块的状态全部为OK

9. 配置centreon的基本信息

10. 配置centreon的基本信息

11. 配置centreon的基本信息

12. 配置centreon的基本信息

13. 配置centreon的基本信息



7.4 可能会遇到的问题

1) 错误提示: WARNING: channel “pear.php.net” has updated its protocols, use “pear channel-update pear.php.net” to update 如下图:

解决方法: 这是因为PEAR包管理系统的协议升级了,客户端需要升级。按照提示,运行如下命令即可解决这个问题: # pear channel-update pear.php.net2) 安装pear模块式出现错误: 下图是自动安装升级时所报出的错误截图

下图为手动安装升级时报的错误信息#pear install MDB2downloading MDB2-2.4.1.tgz …Starting to download MDB2-2.4.1.tgz (119,790 bytes)……………………..done: 119,790 bytesWarning: PEAR_Downloader::require_once(Structures/Graph.php): failed to open stream: No such file or directory in PEAR/Downloader.php on line 1192Warning: PEAR_Downloader::require_once(Structures/Graph.php): failed to open stream: No such file or directory in PEAR/Downloader.php on line 1192PHP Warning: PEAR_Downloader::require_once(Structures/Graph.php): failed to open stream: No such file or directory in /usr/share/pear/PEAR/Downloader.php on line 1192PHP Fatal error: PEAR_Downloader::require_once(): Failed opening required ‘Structures/Graph.php’ (include_path=’/usr/share/pear’) in /usr/share/pear/PEAR/Downloader.php on line 1192 解决方法:# wget http://download.pear.php.net/package/Structures_Graph-1.0.3.tgz
# tar zxf Structures_Graph-1.0.3.tgz

# cp -R Structures_Graph-1.0.3/Structures /usr/share/pear/

# pear install HTML_Template_IT-1.3.0

downloading HTML_Template_IT-1.3.0.tgz …

Starting to download HTML_Template_IT-1.3.0.tgz (23,309 bytes)

……..done: 23,309 bytes

install ok: channel://pear.php.net/HTML_Template_IT-1.3.0

Shell >

这种方法适用于所有无法正常安装升级的模块,若有其它模块无法正常安装只需将wget的地址改为无法安装的模块名和版本即可,如:http://download.pear.php.net/package/DB_DataObject-1.9.5.tgz3) 循环的出现不停update的状态,而又无法正常update,这里请检查机器的dns和网络,是否能正常的连接到外网 注意在这个过程中可能会有些路径和自己的安装路径不一致,你可以修改路径,也可以把你的安装文件做个链接。

安装过程中也会遇到pear的版本太低,导致检查pear的时候,有很到插件找不到,这个时候需要更新安装你的pear.使用命令 pear upgrade-all;pear install –force PEAR

安装好后,检查日志,看你的/usr/local/nagios/libexe/下的脚本是否可以运行,如果不行,你还可能缺少perl的某些插件,使用命令perl -MCPAN -e shell去安装你的perl中缺少的插件。

7.5 初始化配置centreon

浏览器中输入:http://IP/centreon



























至此,centreon己经完成初始化,下面需要了解一下centreon的各选项的功能.

7.6 了解centreon的配置

以下配置在我们安装时就己经设置好了,所以并不需要我们重新去配置,这里只是给大家展示一下,了解所需要的配置在哪里即可 当首次登录后,界面可能会出现如下错误:



修正方法见下图:






修改好后,请保存,再访问“Home”,就会出现如下画面:



B、配置nagios.cfg


C、配置cgi.cfg






D、应用更改



注意:以后每次修改配置文件,或添加新的Host、Service等,都需要执行上述步骤才能生效!!

7.7 安装完后可能出现的问题:

7.7.1 缺少RRDs.pm 在这里必须要说一下,要想正常的使用centreon的服务,那必须正常的开启centreon的两个服务,而在/etc/init.d/下有两个开启脚本# /etc/init.d/centcore start

# /etc/init.d/centstorage start

之后可以可以用# ps –ef | grep centreon

nagios 3044 1 0 2010 ? 00:00:23 /usr/bin/perl -w /usr/local/centreon/bin/centcore nagios 5627 1 0 02:01 ? 00:00:00 /usr/bin/perl -w /usr/local/centreon/bin/centstorage 需要有上面两个进程存在,否则说明centreon服务没有正常开启,无法正常工作,此时你需要去/usr/local/centreon/log目录下去检查日志,你可能会发现这下面这段错误:Can’t locate RRDs.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-threadmulti /usr/lib/perl5/5.8.8 .) at /usr/local/centreon/bin/nagiosPerfTrace line 41.BEGIN failed–compilation aborted at /usr/local/centreon/bin/nagiosPerfTrace line 41.此错误就是没有找到rrd的RRDs.pm文件,只需要rrd文件复制到相应目录即可: 解决方法:Shell > cp -fa /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/* /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi

7.8 缺少Config/IniFiles.pm

Centreon的所有插件都是有perl写成,所以必须要保证其相关插件己经被正常安装,否则脚本无法正常运行,监控自然会无法工作.当发现centreon无法正常工作时可以手动去执行/usr/local/nagios/libexec目录下的相关插件,若插件没正常安装会报出相应错误:# /usr/local/nagios/libexec/check_centreon_ping 192.168.10.240

Can’t locate Config/IniFiles.pm in @INC (@INC contains: /usr/local/nagios/libexec /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/nagios/libexec/centreon.pm line 51.BEGIN failed–compilation aborted at /usr/local/nagios/libexec/centreon.pm line 51.Compilation failed in require at ./check_centreon_ping line 49.BEGIN failed–compilation aborted at ./check_centreon_ping line 49. 这里很明显说明没有Config::IniFiles模块,这里我们需要 解决方法: 命令行下执行 perl -MCPAN -e ‘install Config::IniFiles’ 安装时全部回车,到选择地区当正常选择即可# perl -MCPAN -e ‘install Config::IniFiles’

这里可能遇到很多问题,可以统一为缺少模块,即在你安装Config::IniFiles模块时可能依赖另外一个模块,这时你需要去安装那个依赖模块,当然如果你运气不好也可能依赖很多层,也可能一步就通过了,需要说明的是如何去检测依赖包# perl -MCPAN –e shell

# perl -MCPAN -e ‘install Config::IniFiles’

//安装需要的模块,如果是第一次安装的话会让你配置一些模块监时存放路径和模块下载镜像的选择,建议选择台湾的下载点,国内的大多无法使用,若配置错误需要重新配置可以执行:

# perl -MCPAN -e

cpan> o conf init/usr/lib/perl5/5.8.8/CPAN/Config.pm initialized.CPAN is the world-wide archive of perl resources. It consists of about100 sites that all replicate the same contents all around the globe.Many countries have at least one CPAN site already. The resourcesfound on CPAN are easily accessible with the CPAN.pm module. If youwant to use CPAN.pm, you have to configure it properly. 以上为执行后输出的信息,注意/usr/lib/perl5/5.8.8/CPAN/Config.pm路径,退出cpan将/usr/lib/perl5/5.8.8/CPAN/Config.pm文件删除,然后就可以重新配置了 在/root/.cpan/build 目录中有你下载下来无法安装的模块如需要检测依赖性则进入目录执行: 解决方法:# cd /root/.cpan/build/Config-IniFiles-2.66

# perl Makefile.PL

若安装成功则为OK信息,否则会给出相关依赖信息.这时你需要重新进入到perl –MCPAN –e shell界面去安装所有依赖的包

7.9 安装依赖组件问题:

7.9.1 解决依赖后仍无法安装Config::IniFiles 安装依赖组件是个很烦锁的问题,所以必须要细心,一个个的安装,当安装完所有组件后可能还会遇到Config::IniFiles无法安装的现像,下面是完法安装的信息:cpan> install Config::IniFilesRunning install for module Config::IniFilesRunning make for S/SH/SHLOMIF/Config-IniFiles-2.66.tar.gzIs already unwrapped into directory /root/.cpan/build/Config-IniFiles-2.66Makefile.PL returned status 512Running make testMake had some problems, maybe interrupted? Won’t testRunning make installMake had some problems, maybe interrupted? Won’t install 这时我们可以看到错误的信息:要我们去相关目录内执行make test和make install 解决方法:# /root/.cpan/build/Config-IniFiles-2.66

# make test

# make install

执行以上步骤Ok后可以再去cpan> install Config::IniFiles 你会发现Config::IniFiles己经被正常安装,这里可以正常的执行脚本了.7.9.2 脚本无法用snmp监控 1. 首先判断两台服务器之间的snmp是否正常: # snmpwalk –v 2c –c test 192.168.10.240 if

若可以得到数据而snmp服务没问题,否则就需要检查snmp的务服以及配置了. 2. 同样的方法,我们可以去/usr/local/nagios/libexec目录下的相关插件,用snmp的可以执行/usr/local/nagios/libexec/check_centreon_snmp_memory ,这里只是测试可以不接相关选项值.若是无法正常得到snmp数据的情况下可以看到以下信息:[root@localhost libexec]# ./check_centreon_snmp_memoryCan’t locate Net/SNMP.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at ./check_centreon_snmp_memory line 43.BEGIN failed–compilation aborted at ./check_centreon_snmp_memory line 43. 这里是因为缺少了perl的Net::SNMP模块,安装上即可: 解决方法:# perl –MCPAN –e shell

cpan> install Net::SNMPRunning install for module Net::SNMPRunning make for D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gzLWP not availableFetching with Net::FTP:ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz7.9.3 无法通过Centreon重启nagios 在我们添加主机,服务或是其它操作之后都需要去执行centreon中的Export,如下图:

你可能注意到下面只有复制配置文件生效的消息提示: Centreon : All configuration files copied with success.而并没有重启nagios的信息,也就是说nagios没有成功重启,需要去终端去手动重启,这样的确是很麻烦解决方法:# /etc/sudoers //在此文档后加入以下内容,可能文档是只读权限,要用!强制保存

## BEGIN: CENTREON SUDO#Add by CENTREON installation scriptUser_Alias CENTREON=apache,nagiosDefaults:CENTREON !requiretty# Nagios RestartCENTREON ALL = NOPASSWD: /etc/init.d/nagios* restartCENTREON ALL = NOPASSWD: /etc/init.d/nagios restart# Nagios reloadCENTREON ALL = NOPASSWD: /etc/init.d/nagios* reloadCENTREON ALL = NOPASSWD: /etc/init.d/nagios reload# Nagios test configCENTREON ALL = NOPASSWD: /nagios* -v *CENTREON ALL = NOPASSWD: /nagios -v *# Nagios test for optim configCENTREON ALL = NOPASSWD: /nagios* -s *CENTREON ALL = NOPASSWD: /nagios -s *# Snmptrapd RestartCENTREON ALL = NOPASSWD: /etc/init.d/snmptrapd restart# CentStorage RestartCENTREON ALL = NOPASSWD: /etc/init.d/centstorage restart# CentStorage stopCENTREON ALL = NOPASSWD: /etc/init.d/centstorage stop# CentStorage startCENTREON ALL = NOPASSWD: /etc/init.d/centstorage start## END: CENTREON SUDO 在加入以上内容后可以再去执行Export可以看到己经成功重启nagios了

安装nagios与centreon可能还会有许许多多的问题会出现,若是后续有问题出现将会继续追加在文章后面.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息