Nagios在监控方面的强大功能,以及基于GPLv2的开源特性,使其在监控领域具有超群的性价比,深的广大运维师的好评。
而今天作者这里提到的“nagios+pnp4nagios+nconf+ndoutils”是以nagios为核心、伴以多款开源软件来进行的整合部署,从而实现监控信息图形化、web页面定义定义监控配置、监控信息存储等一系列功能的解决方案。
下面就除nagios之外需要用到的几个开源软件进行简要介绍:
pnp4nagios是基于RRD轮循(环状)数据库中所提供的综合信息,以可视化图形的方式呈现给用户的一款nagios插件;
nconf是基于PHP使用户通过web页面实现对nagios各项属性进行配置,诸如模板定义、添加修改监控的主机/服务等操作;
ndoutils可以导出nagios通过SNMP捕获到的当前和历史数据并存储到MySQL数据库中,并且自身以一个独立守护进程的状态存在。
下图简述他们之间协同工作的原理
以下的内容作者将一步步的剖析整套方案的部署过程:
一、成功安装配置nagios
在上一篇博文Nagios远程监控软件的安装与配置详解中作者已经对nagios的工作原理以和安装及配置流程进行了详细地说明,这里就不在赘述。
Ps:为了不影响后面步骤的正常进行,请保证您已成功安装nagios、nagios-plugins和nrpe。
二、rrdtool与pnp4nagios的安装与配置
1.rrdtool的安装需要一系列繁杂的依赖关系下面提供两种安装方法
i.编译安装
yum install -y pango pango-devel freetype freetype-devel libpng libpng-devel gettext gettext-devel libjpeg libjpeg-devel gd gd-devel libxml2 libxml2-devel libiconv libiconv-devel qpixman qpixman-devel glib glib-devel cairo cairo-devel libart* #这里将编译安装中所需的依赖果断全部yum了 tar xvf rrdtool-1.4.5.tar.gz #解压文件cd rrdtool-1.4.5 ./configure --prefix=/usr/local/rrdtool make && make install #编译安装ii.本地yum安装
yum localinstall -y rrdtool-perl-1.4.4-1.el5.wrl.i386.rpm rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.el5.wrl.i386.rpm #下载并安装包含所有rrdtool依赖关系的rpm包和rrdtoolPs:由于没有找到rrdtool-1.4.5的rpm包...囧,这里就只能使用1.4.4版了
2.安装pnp4nagios
tar zxvf pnp4nagios-0.6.14.tar.gz #解压 cd pnp4nagios-0.6.14 ./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-nagios-user=nagios --with-nagios-group=nagcmd #注意这里的nagios用户和nagcmd组已在安装nagios时创建完成注意:这里作者在使用编译安装rrdtool时遇到报错
解决方法:
cp -R /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/* /usr/lib/perl5/5.8.8/i386-linux-thread-multi/ ./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-nagios-user=nagios --with-nagios-group=nagcmd #将需要与perl相关文件复制过去后,重新编译