一次性付费进群,长期免费索取教程,没有付费教程。
进微信群回复公众号:微信群;QQ群:460500587
教程列表 见微信公众号底部菜单 | 本文底部有推荐书籍微信公众号:计算机与网络安全
ID:Computer-network
Centreon的安装有一定的复杂性,对操作系统库依赖较多,在安装方式上有源码编译安装和yum源安装两种,源码编译安装较复杂,出错几率也较高,因此这里推荐采用yum源方式进行安装。Centreon的安装主要分为下面几个部分。
1)系统基础依赖库的安装:例如fping、cpp、gcc、gd、libjpeg-devel、rrdtool等软件包。
2)rrdtool的安装:安装rrdtool主要用于绘图,Centreon利用rrdtool将收集到的数据绘制成图形报表。
3)nagios、nagios-plugins的安装:因为nagios是Centreon底层监控模块,所以nagios的安装是必不可少的。
4)ndoutils的安装:ndoutils是nagios与数据库进行连接的工具,它将nagios数据存入数据库,然后又将数据读取出来,它在nagios与Centerton之间接收和发送数据。
5)nrpe的安装:nrpe主要与远程的主机进行通信,进而收集远程主机的各种私有数据。
6)Centreon的安装:这个才是要介绍的重点。Centreon的官方网站是http://www.centreon.com/,可以在这里下载最新的稳定版本,具体的安装过程后面会详细讲解。
这里我们采用的操作系统是CentOS 5.5 x86_64版本,下面开始安装Centreon+nagios监控系统。
1、安装支持Centreon的yum源
这里我们安装两个yum源,分别是rpmforge和EPEL,可根据自己的系统环境选择合适的版本下载,这里下载的是rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm和epel-release-5-4.noarch.rpm。下载完成,执行以下命令安装即可:
[root@centreon-server ~]# rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
[root@centreon-server ~]# rpm -ivh epel-release-5-4.noarch.rpm
安装完成后,会在/etc/yum.repos.d下生成yum源的配置文件。
最后,还需要添加一个yum源,内容如下:
[root@centreon-server yum.repos.d]# more centreon.repo
[centreon]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
将centreon.repo文件也放到/etc/yum.repos.d下即可,这个yum源中有我们需要的nagios、ndoutils、nrpe等软件包。
2、安装系统基础依赖库
(1)安装GD库及Apache
[root@centreon-server app]# yum install httpd gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD
(2)安装MySQL库、PHP及扩展
[root@centreon-server app]# yum install openssl-devel perl-DBD-MySQL mysql-server mysql-devel php php-mysql php-gd php-ldap php-xml php-mbstring
(3)安装Perl及扩展模块
[root@centreon-server app]# yum install perl-Config-IniFiles perl-DBI perl-DBD-MySQL perl-Crypt-DES perl-Digest-SHA1
(4)安装SNMP及依赖库
[root@centreon-server app]# yum install perl-Digest-HMAC net-snmp-utils perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp
(5)安装rrdtool绘图工具
[root@centreon-server app]# yum install rrdtool perl-rrdtool
(6)安装其他所需库
[root@centreon-server app]# yum install dmidecode lm_sensors perl-Net-SNMP net-snmp-perl fping cpp gcc gcc-c++ libstdc++ glib2-devel
(7)安装PEAR
[root@centreon-server app]# yum install php-pear
[root@centreon-server app]# pear channel-update pear.php.net
3、安装nagios及nagios-plugins
有了上面三个yum源,安装nagios及插件会非常简单,操作如下:
[root@centreon-server app]# yum install nagios nagios-devel
[root@centreon-server app]# yum install nagios-plugins
nagios在3.5版本之后,将自带的所有插件都放在了另一个RPM包中,如果安装的是nagios3.5之上的版本,还需要安装nagios-plugins-all这个插件包,执行如下命令即可:
[root@centreon-server app]# yum install nagios-plugins-all
完成nagios安装后就会发现,插件安装路径是/usr/lib64/nagios/plugins,而配置文件路径是/etc/nagios,日志文件路径是/var/log/nagios,这几个路径可能会在后面配置的时候用到。
4、安装ndoutils
ndoutils是必不可少的一部分,因为它是nagios与数据库进行连接的工具。有了前面的yum源,安装ndoutils变得非常简单,操作如下:
[root@centreon-server app]#yum install ndoutils
根据ndoutils版本的不同,可能还需要安装ndoutils-mysql,执行如下命令即可:
[root@centreon-server app]# yum install ndoutils-mysql
完成ndoutils安装后可以发现,ndomod模块安装路径是/usr/libexec/ndomod-3x.o,或者/usr/lib64/nagios/brokers/ndomod.so,而对应的维护脚本路径是/etc/init.d/ndoutils或/etc/init.d/ndo2db。在这里,ndomod模块安装路径是/usr/libexec/ndomod-3x.o,而对应的维护脚本是/etc/init.d/ndoutils,这些路径会在安装Centreon过程中用到。
5、安装nrpe
如果需要获取远程主机的私有信息,就需要在监控主机上安装check_nrpe插件,同时在被监控主机上安装nrpe服务。安装nrpe的方法很简单,也可以通过yum源方式执行安装。
在监控主机上安装check_nrpe插件:
[root@centreon-server app]#yum install check_nrpe
在完成check_nrpe安装后,可以发现check_nrpe插件安装到了/usr/lib64/nagios/plugins目录下。
在被监控主机上安装nrpe服务:
[root@node1 app]#yum install nrpe
6、安装Centreon
首先到Centreon的官方网站下载最新稳定版本,这里我们下载的是Centreon-2.4.1版本,完成下载后开始安装:
[root@centreon-server app]# tar zxvf centreon-2.4.1.tar.gz
[root@centreon-server app]# cd centreon-2.4.1
[root@centreon-server centreon-2.4.1]# ./install.sh -i
下面就进入了交互安装界面,如图1所示。
图1 开始安装Centreon
安装Centreon第一步主要是检查必需的几个系统命令,然后会进入GPL licence确认,这里输入“y”即可进入下一步。
接下来这一步主要是确认需要安装的Centreon模块,主要有Centreon Web Front、Centreon CentCore、Centreon Nagios Plugins、Centreon Snmp Traps process四个模块可选,这里我们选择全部安装,如图2所示。
图2 选择需要安装的Centreon模块
下面进入Centreon Web Front的安装过程,这里需要指定一系列安装路径,比如Centreon的安装目录、配置文件的安装路径、日志文件的目录等。安装过程会给出默认的安装路径,如果不需要更改路径,直接按回车键确认即可;如果需要改变默认的安装路径,输入自定义的路径,然后按回车键确认即可。可根据自己的环境,选择对应的安装目录,如图3和图4所示。
图3 Centreon Web安装路径配置1
图4 Centreon Web安装路径配置2
需要注意的是,有些默认配置并不正确,此时,就需要手工指定某些库文件或模块的安装路径,例如,RRDs.pm的安装路径、PEAR.php的安装路径就需要通过手工来指定,如图5所示。
图5 手工指定Centreon依赖文件安装路径
Centreon支持多种管理引擎(也可称为监控引擎),例如Centreon Engine、nagios和Icinga。可根据需要选择管理引擎,这里我们选择的是nagios管理引擎。同时Centreon也支持多种代理模块,例如Centreon Broker和NDOUtils,这里采用的是NDOUtils代理模块。
这里需要特别注意的是,如果选择了Centreon Engine引擎,那么相应的“Monitoring engine user”就要选择“centreon-engine”;如果选择了nagios引擎,那么“Monitoring engine user”就要选择“nagios”。同理,如果选择了Centreon Broker代理模块,那么“Broker user”就要选择“centreon-broker”;如果选择了NDOUtils代理模块,那么“Broker user”就要选择“nagios”。
最后还需要给出管理引擎的日志目录及插件目录,整个过程如图6所示。
图6 配置Centreon的管理引擎和代理模块
在指定了对应的Centreon管理引擎和代理模块之后,接下来,就需要指定这些管理引擎和代理模块的维护脚本。nagios管理引擎对应的维护脚本为/etc/init.d/nagios,由于nagios是yum源方式安装的,因此对应的二进制文件为/usr/bin/nagios。接着还需要指定管理引擎和代理模块的配置文件目录,这里均为/etc/nagios。最后指定代理模块的维护脚本路径为/etc/init.d/ndoutils。在指定了所有的路径后,Centreon安装程序会将这些管理脚本和路径统一写入/etc/sudoers文件中,这是因为Centreon监控系统是在Centreon用户下运行的,而这些维护脚本默认只有root用户才能执行,因此要让Centreon用户统一来配置和维护,就必须将这些维护脚本放入/etc/sudoers文件中,实现无密码授权访问。
配置结果如图7所示。
图7 指定管理引擎和代理模块的维护脚本并添加到sudoers文件
下面的步骤是配置Apache Server,如图8和图9所示。
图8 配置Apache Server并加载配置1
图9 配置Apache Server并加载配置2
由于Centreon是基于Web的一个应用,默认使用的是Apache Server,因此安装程序会自动在/etc/httpd/conf.d下创建一个centreon.conf文件,文件内容如下:
Alias /centreon /usr/local/centreon/www/
Options Indexes
AllowOverride AuthConfig Options
Order allow,deny
Allow from all
这样我们就可以通过http://ip/centreon的方式访问Centreon了。
接下来会提示是否重新加载Apache配置,最后会执行一系列动作,比如设置权限、复制配置文件、安装库文件等。每个动作执行后都会显示运行结果,如果都显示“OK”字样,表示所有动作执行正常。
接下来是PEAR模块的检查和安装。PEAR是运行Centreon必需的软件支持。安装进程会首先检查系统是否安装了这些必需的PEAR模块,以及版本是否正确,如果已经安装,会显示“OK”字样,如果没有安装,会显示“NOK”字样。对于缺少PEAR模块的情况,安装进程会提示是否在线进行安装或更新,这里选择“y”可进行在线更新,当然前提是服务器必须能连接互联网。紧接着安装进程就从互联网下载所需的软件包进行安装,直到安装完所有软件包,如图10所示。
图10 在线安装PEAR模块
下面这个步骤是创建两个配置文件,为安装Centreon做准备,其实也就是创建安装Centreon的文件模板,如图11所示。
图11 创建安装Centreon的文件模板
接下来正式进入Centreon的安装过程。Centreon的安装分为安装CentStorage、安装CentCore、安装CentPlugins、安装CentPlugins Traps四个部分。
首先是CentStorage的安装,如图12和图13所示,这个过程会询问Centreon的运行目录、CentStorage的二进制文件目录、CentStorage的rrd数据存放目录等,分别指定路径后,安装进程将会创建相应目录。
图12 安装CentStorage并创建指定目录
图13 安装CentStorage并创建维护脚本
图13演示的主要是安装CentStorage管理维护脚本及设定运行级等。
接下来是安装CentCore。与CentStorage的安装类似,安装进程会创建相应的CentCore运行目录、维护脚本等,如图14所示。
图14 安装CentCore
然后是安装CentPlugins,这里指定CentPlugins的安装目录是/var/lib/centreon/centplugins,如图15所示。
图15 安装CentPlugins
最后是CentPlugins Traps的安装。这个过程会要求指定snmp配置目录,SNMPTT的存放目录等,然后安装进程会将配置文件分别放到指定的目录下,如图16所示。
图16 安装CentPlugins Traps
至此,Centreon的安装完成,下面就可以进入Centreon Web的安装配置。不过在进行Centreon Web的安装配置之前,需要通过以下命令启动相关的几个服务:
[root@centreon-server app]# /etc/init.d/httpd start
[root@centreon-server app]# /etc/init.d/mysqld start
[root@centreon-server app]# /etc/init.d/ndoutils start
7、安装配置Centreon Web
Centreon提供了非常友好的Web安装向导界面,通过这个界面可以一步一步完成Centreon的最后安装过程。
首先在浏览器中输入访问Centreon Web的地址,例如:http://centreon-server/centreon。如果上面的安装过程都正确,就会出现如图17所示的欢迎界面。
图17 Centreon Web欢迎页面
单击“Next”按钮,进入下一步,如图18所示,这一步主要是验证一些必需的依赖模块,例如mysql.so、gd.so、ldap.so等是否正常加载。
图18 检测必需的依赖模块
单击“Next”按钮,进入下一步,如图19所示。这一步主要是选择一个用于Centreon的管理引擎,这里选择nagios。
图19 选择管理引擎
单击“Next”按钮,进入下一步,如图20所示。这一步主要是指定管理引擎nagios对应的一些配置信息,其中“Nagios directory”是指定nagios的主目录,“Nagiostats binary”是指定nagiostats二进制文件的位置,而“Nagios image directory”对应的目录是nagios主目录下的images目录。需要注意的是,“Embedded Perl initialisation file”对应的路径可能因环境而不同,要根据实际情况填写。
图20 指定管理引擎对应的信息
单击“Next”按钮,进入下一步,如图21所示。这一步是选择Centreon使用的代理模块,由于前面已经配置了NDOUtils作为代理模块,因此这里选择“nodutils”。
图21 选择代理模块
单击“Next”按钮,进入下一步,如图22所示。这一步是指定代理模块NDOUtils的配置信息,其实就是指定ndomod.o的路径,这个路径会因为安装NDOUtils方式的不同而有差异,可根据自己的实际情况填写。
图22 指定代理模块配置信息
单击“Next”按钮,进入下一步,如图23所示。这一步是添加管理员账号信息,Centreon默认的管理员账号是admin,这里只需为admin账号创建一个密码,然后输入账号的其他相关信息和邮件地址即可。
图23 设置管理员账号密码
单击“Next”按钮,进入下一步,如图24所示。这一步是设置Centreon连接MySQL数据库的相关信息,在这里输入MySQL数据库的IP地址、端口号、root用户密码等信息,然后还要输入三个数据库的名称。三个数据库的名称可以使用默认的,也可以自行指定,这里采用默认的数据库名,分别是配置数据库centreon、存储数据库centreon_storage、Utils数据库centreon_status。最后还需要指定管理这三个数据库的用户,默认是Centreon,然后添加Centreon用户对应的密码即可。在这个过程中不需要手工创建这三个数据库,Centreon安装进程会自动创建这三个数据库和对应的管理用户。
图24 设置Centreon连接MySQL数据库相关信息
单击“Next”按钮,进入下一步,如图25所示。这一步是Centreon初始化MySQL数据库的过程,安装进程会根据上一步设置的数据库信息进行数据库及数据库用户的创建。如果初始化数据库的每个过程都是“OK”状态,表明安装成功。
图25 Centreon初始化数据库过程
在数据库初始化完毕后,还需要对MySQL做相关的授权操作,以使上面指定的MySQL用户Centreon能正常访问centreon_status、centreon_storage和centreon这三个数据库。授权方法很简单,通过命令行登录MySQL数据库中,执行如下操作:
SQL>GRANT USAGE ON `centreon_status`.* TO 'centreon'@'localhost' IDENTIFIED BY 'centreon';
SQL>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `centreon_status`.* TO 'centreon'@'localhost';
SQL>GRANT USAGE ON `centreon_storage`.* TO 'centreon'@'localhost' IDENTIFIED BY 'centreon';
SQL>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `centreon_storage`.* TO 'centreon'@'localhost';
SQL>GRANT USAGE ON `centreon`.* TO 'centreon'@'localhost' IDENTIFIED BY 'centreon';
SQL>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `centreon`.* TO 'centreon'@'localhost';
单击“Next”按钮,进入下一步,如图26所示,此时成功完成Centreon的安装。这个界面还展示了Centreon的官方网站,以及论坛地址、文档地址、Wiki地址等信息,可以在这些站点获得更多关于Centreon的信息。
图26 完成Centreon的安装
单击“Finish”按钮,完成安装,进入Centreon登录界面,如图27所示。登录Centreon管理界面的地址一般是http://IP/centreon,输入用户名和密码即可登录Centreon监控平台。
图27 登录Centreon监控平台
至此,关于Centreon的安装部分介绍完毕。下面介绍如何快速配置和使用分布式监控系统Centreon。
8、启动Centreon相关服务
在完成Centreon的所有工作后,还需要启动与Centreon相关的服务,执行如下操作:
[root@centreon-server app]# /etc/init.d/nagios start
[root@centreon-server app]# /etc/init.d/centstorage start
[root@centreon-server app]# /etc/init.d/centcore start
在服务启动后,可以通过查看nagios启动日志/var/log/nagios/nagios.log及Centreon日志目录/usr/local/centreon/log来查看启动进程的运行状态。
9、安装问题总结
Centreon的安装相对较复杂,牵扯的内容较多,在安装过程中出现问题在所难免,这里就简单总结下安装过程中可能出现的问题和解决方法。
在安装Centreon过程中,常见问题主要集中在nagios和MySQL上面,因此需要重点关注这两个方面。解决问题的主要方法是查看运行日志,因为所有错误都会在日志中显示,需要重点关注的日志有如下三个:
/usr/local/centreon/log/nagiosPerfTrace.log/usr/local/centreon/log/centstorage.log
/var/log/nagios/nagios.log
其中:
nagiosPerfTrace.log用于记录nagios与MySQL数据库之间交互的日志信息,如果Centreon连接不上数据库或者连接数据库出错,都可以查看这个日志文件。
centstorage.log主要记录Centreon通过rrdtool进行绘图的日志信息,如果Centreon中的图形报表无法显示,可以通过这个文件查找问题。
nagios.log是nagios运行的日志文件,nagios启动及运行过程中的所有信息都会在此文件中记录,如果启动或运行nagios出错,都可以通过查看这个文件来解决问题。
下面介绍Centreon安装过程中几个最常见的错误及相应的解决方案。
(1)nagios能启动,但是不能正常工作
这个问题常见的现象是:
Error: Could not create external command file '/var/log/nagios/rw/nagios.cmd' as named pipe: (2) -> No such file or directory
从错误提示中可以看出,是nagios不能自动创建nagios.cmd文件导致的,进入/var/log/nagios目录下发现确实不存在rw目录。
nagios.cmd这个文件是用来检查外部命令请求的,也是用户操作CGI命令写入的地方,因此这个文件必须对相关的服务具有可写权限,一般是针对启动Web服务的用户,例如daemon用户,并且需要注意的是,这个文件所在的目录对daemon用户必须可写,否则会报上面这个错误。
在了解产生这个问题的原因后,能够采用的解决方法很多,最简单的方法是在/var/log/nagios目录下创建rw目录,然后授权即可,操作如下:
[root@centreon-server app]#mkdir /var/log/nagios/rw[root@centreon-server app]#chmod 777 /var/log/nagios/rw
这样,在重启nagios服务后,就会自动在/var/log/nagios/rw下创建nagios.cmd文件。
(2)Centreon下服务状态无法生成曲线图
这个问题常见的现象是:
2013-10-16 14:08:57 - Cannot write the /var/log/nagios/service-perfdata_read file : 权限不够2013-10-16 14:08:57 - Error When writing data in tmp read file : 对设备不适当的 ioctl 操作
这个错误是没有权限写文件,进入/var/log/nagios目录下发现根本无此文件,需要手动创建此文件,然后进行授权,操作如下:
[root@centreon-server app]#touch /var/log/nagios/service-perfdata_read[root@centreon-server app]#chmod 777 /var/log/nagios/service-perfdata_read
这样操作后,错误就会自动消失,问题得以解决。
微信公众号:计算机与网络安全
ID:Computer-network
【推荐书籍】