一:相关简介

       Nagios是一个监视系统运行状态和网络信息的监视系统,它能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。

Nagios通过NRPE管理远端服务。

wKioL1N7TZaSjXbyAAG2TRD_MOI453.jpg


1)数据沉淀,将监控数据以及nagios的配置信息导入到数据库中:

Mysql、ndoutil

2)前台监控信息展示:

apache、rrdtool、centreon等  centreon作为nagios的分布式监控管理平台

3)配合流程:

、 nagios通过ndoutil模块将监控数据写入数据库;

、centreon读取数据库的数据并即时的展现监控信息。

4)nagios+centreonnagios+cacti对比:

①、gui方式添加host,支持hosttemplateservicestemplate,自动建立关联服务,与nagios+cacti相比配置方便简单。

②、支持graphtemplate,添加servcie自动添加graph,不必象nagios+cacti监控与流量图设置

③、host监控可以全部采用nrpe方式,不必象nagios+cacti生成流量图必须使用snmp

④、支持多节点分布式监控nagios+cacti的分布式监控现在想起来都头痛。

⑤、支持acl权限管理方式,对用户权限限制到菜单项,nagios+cacti一个帐号大家用,都过时啦。

⑥、详细的日志管理功能,日志搜索过滤都支持。

⑦、功能模块化管理。

5)使用centreon轻易的搭建企业级分布式IT基础运维监控系统。主要功能如下:

        ①、配置管理:相比Nagios原始的配置文件管理,Centreon提供的前台配置界面,可以方便的定义主机,服务,主机组,服务组等配置信息。

        ②、数据展示:Nagios自带的展示界面比较简陋,而且仅能展示各个主机和服务的状态。利用Centreon不仅可以漂亮的展示各个主机的状态,而且能够将监控所得的各种数据利用rrdtool展示在曲线图上。

        ③、数据管理:Nagios本身只支持配置文件的配置,并且不保存采集到的数据。即使有了Ndoutils,但其主要将数据存储到数据库中,默认并没有提供一个好的数据管理界面;Centreon可以轻松的管理数据库中的数据,并转换为相应Nagios配置文件。

        ④、报表系统:Centreon提供很多报表功能,如监控概述,月报表,日报表,主机/服务健康趋势图等    

7)Ndoutils是一将Nagios数据存储到数据库的一个插件,包括配置信息,监控得到的数据等。

112935_2WCi_727880.png

112940_FIld_727880.png

该架构主要由NagiosNdoUtilsMysqlCentreon组成。其主要数据流如下:

    (1) 、Nagios,数据库,centreon可以分布式部署到多台服务器。

(2) 、Nagios主程序,Nagios插件和NDOUtils中的NDOMOD模块用于采集服务器数据。

(3) 、各节点使用NdoUtils中的NDOMOD模块将Nagios采集的数据传送到中心节点,中心节点运行NdoUtils中的NDO2DB守护进程,处理分解节点来的数据。

(4)、 中心节点NDO2DB进程将各节点的数据写入nagiostatus数据库。

(5)、 Centreonnagiostatus数据展示到web界面,并调用RRDtool将数据展示到曲线图中。

(6)、 Centreon将新增配置文件写入数据库,并在本地生成Nagios实例配置。

(7)、 Centreon调用Nagios插件将本地实例配置文件传到各分节点,替换原来配置文件。重启nagios

 8)结构示意图

113101_152M_727880.gif

9. centreon+nagios配置文件:

       定义主机                  /usr/local/nagios/etc/hosts.cfg

定义主机模板              /usr/local/nagios/etc/hostTemplates.cfg

定义主机组                /usr/local/nagios/etc/hostgroups.cfg

定义服务                  /usr/local/nagios/etc/services.cfg

定义服务组                /usr/local/nagios/etc/servicegroups.cfg

定义命令                  /usr/local/nagios/etc/checkcommands.cfg

定义联系人                /usr/local/nagios/etc/contacts.cfg

定义联系人组              /usr/local/nagios/etc/contactgroups.cfg

定义报警命令              /usr/local/nagios/etc/misccommands.cfg

定义时间模板              /usr/local/nagios/etc/timeperiods.cfg

 注:当配置好centreon+nagios时,可将上面的配置文件进行备份,且备份/usr/local/nagios/libexec目录下的插件,可用于其他的Centreon+nagios监控项目。

10)相关端口:

   nrpe    5666

   ndo2db  5668

二:安装配置

安装GD库:

yum install -y gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD

安装mysql模块: 

yum install openssl-devel perl-DBD-MySQL mysql-server mysql-devel -y

安装PHP及扩展:    

yum install -y php php-mysql php-gd php-ldap php-xml php-mbstring php-process

安装PERL及扩展模块: 

yum install perl-Config-IniFiles perl-DBI perl-DBD-MySQL -y

安装RRDTools:      

yum install rrdtool perl-rrdtool -y

安装SNMP:  

yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils -y

yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs –y

yum install php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl -y

安装其他所需库:    

yum install fping cpp gcc gcc-c++ libstdc++ glib2-devel –y

安装PEAR:  

yum -y install php-pear php-pear-DB

pear channel-update pear.php.net

pear upgrade-all


安装nagios

useradd -m nagios【/home目录下添加新用户nagios】

usermod -L nagios【暂将nagios的密码冻结,禁止其登陆】

groupadd nagcmd【添加新组群nagcmd】

usermod -G nagios,nagcmd nagios【添加用户nagios到组群】

tar zxvf nagios-3.4.1.tar.gz

cd nagios

./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker --enable-embedded-perl

make all

make install

make install-init

make install-commandmode

make install-config

make install-webconf


安装nagios-plugins

wget http://pkgs.fedoraproject.org/repo/pkgs/nagios-plugins/nagios-plugins-1.4.15.tar.gz/56abd6ade8aa860b38c4ca4a6ac5ab0d/nagios-plugins-1.4.15.tar.gz

tar zxvf nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules --enable-libtap --enable-extra-opts

make && make install

安装nrpe

tar zxvf nrpe-2.12.tar.gz

cd nrpe-2.12

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config


安装ndoutils

tar -xvf ndoutils-1.5.2.tar.gz

cd ndoutils-1.5.2

./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios

make && make install

cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db

cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

chmod 774 /usr/local/nagios/bin/* 

chown nagios:nagios /usr/local/nagios/bin/* 

chown nagios:nagios /usr/local/nagios/etc/*

cp daemon-init /etc/init.d/ndo2db

修改启动脚本,添加下面红色部分

vim /etc/init.d/ndo2db

killproc_ndo2db ()

{

#kill $2 $Ndo2dbPID

kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1

kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1

}

stop)

echo "Stopping $servicename..."

#pid_ndo2db

killproc_ndo2db

#killproc_ndo2db ndo2db

给脚本添加执行权限,并添加到服务启动项

chmod +x /etc/init.d/ndo2db

chkconfig --add ndo2db

chkconfig ndo2db on

安装centreon

tar zxvf centreon-2.5.2.tar.gz

cd centreon-2.5.2

export PATH="$PATH:/usr/local/nagios/bin/"

./install.sh -i  (按照提示一步步进行安装、以下过程全部截图~)

下面配置参考官方:http://documentation.centreon.com/docs/centreon/en/latest/installation/from_sources.html#monitoring-user


pear模块

很多安装没有成功,都是因为必须pear 模块没有安装完全:

提示安装或更新PEAR 模块。这一步选择“y”后,它会自动安装或更新,有的显示“OK”就表示

安装成功,对于“NOK”表示没有成功,它会一直循环下去,直到“OK”,此时自动在线安装或更新有可能进行不下去,会一直循环显示,这时,我们选择手动安装。

1)、记下有“NOK”模块,

2)、打开PEAR 官方网站的模块下载网址:http://pear.php.net/packages.php

3)、查找需要的PEAR 模块软件包:

安装成功与下载的软件版本有很大的关系,请根据提示选择适合的版本。

4)、下载并安装:

pear install 安装包

5)、这时,看原来的终端界面,HTML_QuickForm_advmultiselect 已经“OK”了,按此方法,接着断续安装其它“NOK”的模块。


配置centreton web

①.启动服务:

chkconfig httpd on

chkconfig mysqld on

chkconfig --add ndo2db

chkconfig ndo2db on

chkconfig --add nagios

chkconfig nagios on

/etc/init.d/httpd restart

/etc/init.d/mysqld start

mysqladmin -uroot password '123456'

/etc/init.d/ndo2db start

/etc/init.d/nagios start

chkconfig centcore on                     #安装centreon时,自动完成的

chkconfig centstorage on                  #安装centreon时,自动完成的


WEB界面安装

在浏览器中输入http://ip/centreon进行centreon的安装操作,(http://192.168.100.3/centreon)

wKioL1QeX8ngQbFhAAEymn3OkSI218.jpg

wKioL1QeYB-y2AFkAAF8t5Hq41E948.jpgwKioL1QeYDTy55ClAAFCXNIofCU682.jpgwKiom1QeYC6Ae2v7AAGyNXazQw0350.jpgwKioL1QeYGfz3UwOAAEo6_cCHyw856.jpg

wKiom1QeYKDSIiJaAAGADcu3Iqo436.jpgwKiom1QeYK2CThfjAAJG8LhoQH4412.jpg

在mysql配置文件中添加innodb_file_per_table=1,重启mysql服务

wKiom1QeYcaha8xBAAGfJKCn9pY294.jpg

安装完毕了;输入帐号,密码即可

wKioL1QeYiqAwFtkAADBXtR8Pq0408.jpg

如果在安装配置过程中发现提示php-posix模块没有安装*解决方法:

#yum-y install php-process

#php -m|grepposix
posix
好了,可以看到php已经支持posix了,重启apache就ok. 


centreon的汉化操作

wget http://cacti-nagios.googlecode.com/files/messages.mo

mkdir -p /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

cp messages.mo /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

chown apache:apache -R /usr/local/centreon/www/locale

登录centreon,点击administartors,再点option,进入”my account”,更改语言为zh_CN保存即可。

nagios汉化操作

# tar xvf nagios-cn-3.2.0.tar.bz2
# cd nagios-cn-3.2.0
# ./configure 
# make all 
# makeinstall


client端服务安装:*常见的有下面几种;

*1、使用nagios自带插件监控,也就是nrpe方式;不足之处每台client都需要安装,推荐将编译包进行rpmind,搭建yum源,执行yum即可;

*2、snmp方式,好处client端只需要开启snmp服务即可,不足之处每个厂商的oid不尽相同,给监控脚本开发带来不便,推荐开发一个高效率的万能agent;

*3、ssh方式,好处监控脚本易于编写,不足频繁执行会对客户端增加不必要的负担。

我这边的Client和Server端系统一样,ip为192.168.100.186*

useradd -M -s /sbin/nologin nagios
tar zxvf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules 
make && make install
cd ..
tar zxvf nrpe-2.12.tar.gz 
cd nrpe-2.12
./configure -enable-command-args
make all
make install-plugin
make install-daemon
make install-daemon-config




参考:http://lansgg.blog.51cto.com/5675165/1426676 

      http://my.oschina.net/fufangchun/blog/312808 

      http://www.cnyunwei.com/thread-5782-1-1.html 

      http://151wqooo.blog.51cto.com/2610898/1309574 

      http://documentation.centreon.com 

      http://56281688.blog.51cto.com/780901/1362447