首先要保证nagios工程安装并运行正常,如果还没有安装的话,可以参考在线帮助里的快速安装指南。注意:以下的说明及命令全面是按快速安装完成后的路径完成的,如果Nagios安装中没有按指南进行了自定义安装,请在安装过程中注意替换成目标系统的路径。
之后,在Nagios运行环境内,用下面命令检查一下当前服务的配置总数并记录下来,后面检查时会用到。
grep "define service " /usr/local/nagios/var/objects.cache | wc -l
在我的家用系统里,这个值是18,表示配置有18个被监控的服务。
检查一下当前的Nagios性能数据收集的相关设置,在初始安装好时,应该是没有启动性能数据的收集,在主配置文件nagios.cfg里的原始设置应该是这样的:
process_performance_data=0
#service_perfdata_file=/tmp/service-perfdata
#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
#service_perfdata_file_mode=a
#service_perfdata_file_processing_interval=0
#service_perfdata_file_processing_command=process-service-perfdata-file
在每个设置前面都有一个“#”,表示这个设置是不生效的。如果这些设置前面没有"#",说明系统里已经有相关的性能数据收集机制,比如安装过pnp程序,这时建议你最好是放弃安装nagiosgraph,不要再继续下去。
检查一下软件依赖包,主要是perl和rrdtool,为了正常处理中文,建议perl版本要5.2以上,rrdtool要1.2.12以上,我使用的perl是5.8.8,rrdtool是1.2.23。注意下面的设置里假定在nagios编译时没有选择内嵌式perl解释器,否则的话,insert.pl程序会出现问题。
最后一项准备工作是下载源程序了。[color=Red][b]在附件里。[/b][/color]
展开这个源程序包,里面只有几个文件,用途如下:
[list][*]nagiosgraph.cfg 专门的配置文件,里面每个参数都有说明[*]insert.pl 做nagios性能数据处理的perl程序[*]map 做性能数据处理的专用映射文件,是个perl正则式包[*]show.cgi 给显示Web页面用的Apache下的perl程序[*]nagiosgraph.css 显示用的页面型式文件[*]INSTALL.zh_CN 打到源程序包里的简单安装说明[/list]还有一个文件是必要的,但软件包里没打包,是中文失量字体文件(truetype2),就是ttf后缀的中文字体。主要是局限于版权问题,软件包里不能附带发行,这不是问题,一般的Linux发行版里都有(一般是放在/usr/share/lib/fonts/truetype或是/usr/share/fonts/truetype),但我尝试过很多字体,最后还是觉得微软Windows下(路径是$System$\fonts\)的黑体要好看一些,我用的就是vista里的那个simhei.ttf文件。建议你先想办法找到它并拷贝到路径下备用。
[size=5]安装
[/size]下面进行安装,共分三步。
一,拷贝文件。
执行以下的命令就可以了:
cd /tmp/nagiosgraph/
cp ./nagiosgraph.cfg /usr/local/nagios/etc/
cp ./insert.pl /usr/local/nagios/libexec/
cp ./map /usr/local/nagios/libexec/
cp ./simhei.ttf /usr/local/nagios/sbin/
cp ./show.cgi /usr/local/nagios/sbin/
cp ./nagiosgraph.css /usr/local/nagios/share/stylesheets/
mkdir -p /usr/local/nagios/var/rrd
chown nagios:nagios /usr/local/nagios/var/rrd
也就是说,把nagiosgraph.cfg文件放在nagios的配置目录$nagios/etc/下,把insert.pl和map两个文件放在nagios-plugins目录$nagios/libexec/下,字体文件和show.cgi放在nagios的cgi程序目录$nagios/sbin/下,型式文件放在$nagios的页面型式文件$nagios/share/stylesheets/下,最后建立一个存放数据文件的目录。如果你的nagios系统安装位置不同于标准路径,要注意修改上面的命令。
二,修改nagios软件设置和命令。
改三个配置文件,就是主配置文件里加入性能收集选项,在命令文件里加入命令和对象配置定义里加入图表调用命令,在Nagios的3.x里都很简单。
1、主配置文件nagios.cfg修改内容:
修改下面的几个设置就可以
process_performance_data=1
service_perfdata_file=/usr/local/nagios/var/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata
2、命令配置文件里加个命令:
应该是在commands.cfg文件里,找一下process-serice-perfdata命令,应该没定义过,如果已有定义,可以每行前面加#来注释掉,加入下面内容:
...
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/insert.pl "$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$"
}
...
3、对象配置文件里加入图表调用超链接:
在Nagios 3.x下,只改一下基础模板配置文件templates.cfg就可以:
...
define service{
name generic-service
...
register 0
notes_url /nagios/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$
}
...
很简单吧?
三,检查配置并重启动Nagios服务。
仔细地检查配置是一个很好使用习惯,就是使用-v参数来检查一下配置,如果你完全按上述命令做的,应该没什么问题,如果报告有错误的话就得按指示的错误信息修改了。一切好了后就可以再重启动和运行Nagios服务了。
想看结果么?登录到Nagios主页后就可以看见在每个服务的后面都多了一个图标,默认图标是一本红色的书本图标(红宝书?!),点击图标就可以打开一个页面,里面就是你想要的性能曲线啦,有什么错误的话,页面会给出错误指示。
[size=5]出错检查[/size]
没有看见结果是个很烦的事,但不要放弃,一般重启动Nagios服务后,要等待至少5分钟之后再做如下工作,因为在nagios.cfg设置了每30秒收集一次数据,每5分钟统计一次数据。
转到运行数据的目录$nagios/var下去检查一下,先是看看有没有性能数据记录,这个要看perfdata.log文件;其次是看insert.pl程序运行了没有,应该是有一个nagiosgraph.log文件生成,并在rrd目录下有rrd文件生成。
cd /usr/local/nagios/var/
wc -l perfdata.log
ls -al nagiosgraph.log
ls rrd\*.rrd | wc -l
最后一句可以给你一个数值,应该是等于或大于准备工作时记录的那个值。
[i]问题:没见到有rrd文件啊?[/i]
回答:先告诉我你看到perfdata.log文件没有?如果没有话,说明nagios配置就不对!如果perfdata.log已经有数据了,可以把/usr/local/nagios/etc/nagiosgraph.cfg配置文件里的第一个选项调试等级提高一些,比如设置为4,再等5分钟,看看/usr/local/nagios/var/nagiosgraph.log里的内容说明。如果log里什么都没有,就是nagiosgraph.log文件权限有错误,执行一下chown nagios:nagios nagiosgraph.log和chmod777 nagiosgraph.log把文件属性设置对,再等一会儿,就应该有日志内容了。如果不想等,也可以手工执行insert.pl命令。
[color=Red][i]还有什么问题?!在这里写帖子吧。[/i][/color]
阅读(976) | 评论(0) | 转发(0) |