用PNP生成Nagios监控图表教程
Nagios本身对服务或主机的监控都是瞬时性的,无法记录一段时间内的数据和形成图表,只有通过日志文件来进行分析,这样会很繁琐,好在可以用PNP这个工具通过RRDtool将采集到的数据绘制成图表,显示主机或服务一段时间内的状况。
安装PNP前需要准备的环境:
1.整合好的Apache以及PHP环境,需支持GD\zlib\jpeg
2.安装PERL
3.安装RRDTool
PERL相关软件安装:
直接yum安装perl相关软件包
安装RRDTool:
下载源码包再编译安装,编译时没有多余选项,指定好/usr/local/rrtool目录后编译再make&make install即可,安装好了后可以进入目录看看是否有bin目录以及三个可执行的脚本,有的话就ok了
./configure
--prefix=/usr/local/rrdtool
--disable-tcl
--disable-python
如果出现configure : error:Please fix the library issues listed above and try again或其他错误,需要先安装以下依赖软件包再执行编译:
yum install libxml2-devel libpng-devel pkg-config glib pixman pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel -y
安装与配置PNP4nagios:
./configure
--with-nagios-user=nagios #PNP需要和Nagios关联,所以需要明确Nagios用户和用户组
--with-nagios-group=nagios #同上
--with-rrdtool=/usr/local/rrdtool/bin/rrdtool #指定rrdtool的安装路径
--with-perfdata-dir=/usr/local/nagios/share/perfdata #指定Nagios生成数据的目录
make all
make install
make install-config
make install-init
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 *
配置Nagios,开启Nagios收集数据的功能:
修改Nagios.cfg文件:
process_performance_data选项,值为1
去掉host_perfdata_command=process-host-perdata的注释去掉service_perfdata_command=process-service-perdata的注释
定义一个用于生成图表的命令
修改commands.cfg文件,增加以下内容(默认会有这几行,但是command_line的路径需要改为process_perfdata.pl所在路径):
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
增加nagios小太阳图标
修改templates.cfg文件,增加以下内容(小技巧:可以增加到默认的模板里):
define host {
name host-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&
register 0
}
define service {
name srv-pnp
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
在监控的主机或者服务的配置文件里,使用上一步定义的模板即可(如果上一步是直接增加到模板配置文件里的,那么这里都不用再进行增加了)
最后一步就是设置apache的配置文件,追加以下内容:
Alias /pnp4nagios "/usr/local/pnp4nagios/share" <Directory "/usr/local/pnp4nagios/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 <IfModule mod_rewrite.c> RewriteEngine On Options FollowSymLinks RewriteBase /pnp4nagios/ RewriteRule ^(application|modules|system) - [F,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] </IfModule> </Directory>
最后重启apache和nagios服务,再进入监控页面就可以看到对应的图标,点击后就会出现pnp4nagios绘图后的数据了
评论