php绘制历史曲线,nagios 图形化界面之一 (pnp)

如今,监控系统是琳琅满目,有Nagios、Cacti、Zabbix、Centreon、Munin等,也有系统集成如FAN等。个人在经过不同监控的安装测试后,还是比较倾向于Nagios的监控,简单命令;而且结合PNP + nagios等插件可以实现图表的功能。

Nagios、Pnp使用的是RRDtool工具来实现画图的。

用 PNP 绘制历史曲线

Pnp 是一个基于 php 和 perl,用 rrdtool将 nagios 采集的数据绘制图表的工具,所以安装

pnp 之前必须先安装 php、perl和 rrdtool。

1、准备工作

光盘中提供如下软件包

yum install php*

yum install perl*

yum install cairo-devel

yum install glib2-devel

yum install pango pango-devel

yum install libpng libpng-devel

yum install libxml2-devel

安装过程略

其他安装包需要从互联网下载:

rrdtool-1.4.5.tar.gz

pnp-0.4.14.tar.gz

cgilib-0.6.tar.gz

2、 安装 PNP

2.1 . 安装 cgilib

tar zxvf cgilib-0.6.tar.gz

cd cgilib-0.6

cp libcgi.a /usr/local/lib

cp cgi.h /usr/include

2.2.安装 rrdtool

tar zxvf rrdtool-1.4.5.tar.gz

cd rrdtool-1.4.5

./configure --prefix=/usr/local/rrdtool

make

make install

2.3.安装 pnp

tar zxvf pnp-0.4.14.tar.gz

cd pnp-0.4.14

./configure -- with-rrdtool=/usr/local/rrdtool/bin/rrdtool

make all

make install

make install-config

make install- init

注意: ./configure  完成后会出现安装结果,注意下面的红色粗体字, 说RRDs Perl Modules

在大量安装时可以加速,暂忽略之,继续。

*** Configuration summary for pnp 0.4.14 09-09-2013 ***

252c4d59c529a38d6b44cbbd16cf394a.png

e617629af58c41dab265ec1af4dee9be.png

如果使用加速功能,从网上找到解决方法(未测试过) ,用下面的命令:

ln -sv /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/

ln -sv /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/RRDs.pm /usr/lib/perl5/

之后继续 make all

2.4.让 apache 的首页默认页支持 php 格式

编辑 httpd.conf,在 DirectoryIndex 后面加上 index.php:

DirectoryIndex index.html index.html.var index.php

重新启动 apache 服务

访问 http://localhost/nagios/pnp/index.php?host=localhost 能看到图形

如果 nagios 尚未采集数据,看到可能是下面的样式。这个是安装 rrdtool-1.2.30 的提示,

542eb77b5c41d516560bed2b1fc4266c.png

3、 将绘图功能加入 nagios

3.1.编辑 nagios.cfg

0941f1ab57175806c1fbac6de770af79.png

3.2.修改绘图命令

将原来的 command_line 后的内容替换为下面的内容

8642ede14d60c80ef4c28220e22ae873.png

3.3.修改监控目标主机文件

在目标主机配置文件中加入如下所示的红色粗体字

2ef38ffc4f4fcd71ab295dc34c861199.png

如果你要监控的目标主机都需要绘制曲线的话,可以在 1.4 节中介绍的模板中添加上述

红色字体,这样就不用每个主机都添加了,又节省好大一笔工作量。赚了。

重启 nagios, 打开监控页面后,就能看到监控目标主机旁边有红色的类似小太阳的图标。

每个 service 后面都带图标是因为测试时,在每项服务后面都加了上面的那两行命令,但使用中发现没什么用,每次点击单个服务后的太阳图标,照样把其他服务的历史曲线带出来。

8b177ebb6a2e32d79f94dd8021d8b2f0.png

当 nagios 获取到数据以后,点击红色的太阳图标就能看到绘图曲线了

43af80e7449d10021dade014d046b4b7.png

3.4.自定义图表时间范围

上图右侧可以看到绘图的时间范围——Timeranges,最短 4 小时。但有时我们需要查看

更短时间范围的曲线时,默认的页面就办不到了,需要手工修改一下配置文件:

/usr/local/nagios/etc/pnp/config.php

关于时间范围定义的默认配置是这样的:

4545ac6d69d180d1e2d8e757006b2e6d.png

在配置里增加 30 分钟和 1 小时、2 小时的时间间隔,在上述配置的前面增加下面的内

容,注意将 view[]的数字重新排序。

dd94dffd76af9b84437e2479bd17135e.png

此外,配置文件的第 86 行为默认打开时以哪个时间范围显示图表。

$conf['overview-range'] = 1;

按上面的配置,默认打开时,图表的时间范围是 1 小时内的。可酌情修改。

上述参数修改完毕后重新启动 nagios 就可以了,打开页面在右侧 Timeranges 下可以看

到新增加了 3 个时间范围——30 分钟、1 小时、2 小时。依次点击查看。

最近半小时的曲线图

2ed9edf097cd78934ac64aeeceeafcf7.png

最近 1 小时的曲线图

ca1b35078f28342f4d2c8d16ba41755e.png

最近两小时的曲线图

216b3d728d1ebd83b5a58c4d50eb6d5c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值