Nagios-Rrdtool安装说明
Rrdtool是一个绘制图表工具,我们安装rrdtool的用途就是将nagios监控的数据传送到rrdtool,然后由rrdtool绘制出图表呈现出来;例如:各个时间点cpu使用情况、磁盘使用情况(能看到近1年的任何监控信息),都会由它绘制成图表呈现出来,方便我们分析系统运行情况。
1、所需要的安装包
(1)zlib-1.2.3.tar.gz
(2)libpng-1.2.8-config.tar.gz
(3)freetype-2.1.10.tar.gz
(4)libart_lgpl-2.3.17.tar.gz
(5)cgilib-0.5.tar.gz
(6)rrdtool-1.2.12.tar.gz
(7)pnp-0[1].4.13.tar.gz
2、Rrdtool安装
2.1环境变量添加,因为后面编译会持续用到。
BUILD_DIR=/tmp/rrdbuild
INSTALL_DIR=/usr/local/rrdtool
2.2创建安装目录
mkdir -p $BUILD_DIR
mkdir $BUILD_DIR/lb
2.3安装rrdtool需要支持的库,最主要的就是编译。
(1)zlib-1.2.3.tar.gz
tar zxvf zlib-1.2.3.tar.gz
解压安装包,进入安装目录
编译-env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
nake && make install
(2)libpng-1.2.8-config.tar.gz
tar zxvf libpng-1.2.8-config.tar.gz
编译-env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" \CFLAGS="-O3 -
fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
(3)freetype-2.1.10.tar.gz
tar zxvf freetype-2.1.10.tar.gz
编译-env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
nake && make install
(4)libart_lgpl-2.3.17.tar.gz
tar zxvf libart_lgpl-2.3.17.tar.gz
编译-env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
nake && make install
(5)cgilib-0.5.tar.gz
make CC=gcc CFLAGS="-O3 -fPIC -I."
mkdir -p $BUILD_DIR/lb/include
cp *.h $BUILD_DIR/lb/include
mkdir -p $BUILD_DIR/lb/lib
cp libcgi* $BUILD_DIR/lb/lib
(6)rrdtool-1.2.12.tar.gz
tar zxvf rrdtool-1.2.12.tar.gz
编译-./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make && make install
3、安装pnp
tar –zxvf pnp-0.4.13.tar.gz
cd pnp-0.4.13
./configure--with-nagios-user=nagios--with-nagios-group-nagios--with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata
Make all
Make install
Make install-config
Make install-init
4、配置PNP
在PNP安装完成后,默认安装目录下自带了模板配置文件,因此,只需要将模板文件复制一份作为PNP配置文件即可。
(1)创建默认配置文件
Cd /usr/local/nagios/etc/pnp/
Cp process_perfdata.cfg-sample process_perfdata.cfg
Cp npcd.cfg-sample npcd.cfg
Cp rra.cfg-sample rra.cfg
Chown –R nagios:nagios /usr/local/nagios/etc/pnp
(2)修改process_perfdata.cfg文件
Vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
LOG_FILE= /usr/local/nagios/var/perfdata.log
#Loglevel 0=silent 1=normal 2=debug
LOG_LEVEL= 2
这里将日志级别改为2,即debug模式。
5、增加小太阳图标
修改templantes.cfg,增加一个定义PNP的host和service。
Define host{
Name host-pnp
Register 0
Action_url /nagios/pnp/index.php?host=$HOSTNAME$
Process_perf_data 1
}
Define service {
Name services-pnp
Register 0
Action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
Process_perf_data 1
}
6、修改nagios.cfg
找到如下几项,去掉注释。
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
修改commands.cfg
添加如下内容:
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
7、修改hosts.cfg文件和services.cfg文件
在所需要增加小太阳图标的主机或者服务添加之前templantes.cfg定义的hosts-pnp和servies-pnp。
Hosts.cfg文件添加:
define host{
use linux-server,hosts-pnp
host_name 92
alias xxtnewdb
address 218.202.106.92
}
Services.cfg文件添加:
define service{
use local-service,services-pnp
host_name 92
service_description ping_92
check_command check_ping!100.0,20%!500.0,60%
}
8、安装完成,重启nagios就可以看到小太阳图标了。
错误信息及解决办法:
错误1:PHP zlib Support not found.
解决办法:如果看到这个错误,需要重新编译安装PHP。
tar zxvf php-5.3.2.tar.gz
cd php-5.3.2
./configure--prefix=/usr/local/php5--with-gd--with-zlib--with-apxs2=/usr/local/apache2/bin/apxs
Make
Make test
Make install
错误2:Deprecated: Assigning the return value of new by reference is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1026
解决办法:/usr/local/nagios/share/pnp/include/function.inc.php文件页头添加
ini_set('date.timezone','Asia/Shanghai');
错误3:/usr/local/nagios/share/perfdata/localhost not found
解决办法:把/usr/local/nagios/share/pnp/include/function.inc.php 文件的1503行修改为:
if($level == 2 && $type == "complete" && preg_match("/^NAGIOS_/i",$tag)){
注意:如果以上错误解决后,还未成功绘制出图表,那么首先检查下系统的perl 二进制rpm包,将perl的rpm包全部安装到系统中。